Hallo,
wie die Überschrift schon sagt, möchte ich meine Configuration.yaml aufräumen und Sensoren etc auslagern in template.yaml,sensoren.yaml.Wenn ich mir die Anleitungen ansehe, sieht es ganz einfach aus, aber bei mir funktioniert es immer nicht so.Da sich in den Versionen immer etwas verändert und immer etwas noch verändert werden muß.Aktuell sieht meine Config so aus.
# Loads default set of integrations. Do not remove.
default_config:
# Text to speech
tts:
- platform: google_translate
homeassistant:
packages: !include_dir_named packages
automation: !include automations.yaml
alarm_control_panel: !include alarm.yaml
#integration: !include integration.yaml
sensor: !include_dir_list sensor
script: !include scripts.yaml
scene: !include scenes.yaml
#template: !include templates.yaml
mqtt: !include mqtt.yaml
#Ngnix Konfiguration
http:
cors_allowed_origins:
- https://google.com
- https://www.home-assistant.io
ip_ban_enabled: true
login_attempts_threshold: 5
use_x_forwarded_for: true
trusted_proxies:
- 172.30.33.0/24
sensor:
- platform: template
sensors:
# Template sensor for values of power import (active_power > 0)
power_import:
friendly_name: "Power Import"
unit_of_measurement: 'W'
value_template: >-
{% if (states('sensor.shelly3em_channel_a_power')|float + states('sensor.shelly3em_channel_b_power')|float + states('sensor.shelly3em_channel_c_power')|float) > 0 %}
{{ states('sensor.shelly3em_channel_a_power')|float + states('sensor.shelly3em_channel_b_power')|float + states('sensor.shelly3em_channel_c_power')|float }}
{% else %}
{{ 0 }}
{% endif %}
availability_template: "{{
[ states('sensor.shelly3em_channel_a_power'),
states('sensor.shelly3em_channel_b_power'),
states('sensor.shelly3em_channel_c_power')
] | map('is_number') | min
}}"
# Template sensor for values of power export (active_power < 0)
power_export:
friendly_name: "Power Export"
unit_of_measurement: 'W'
value_template: >-
{% if (states('sensor.shelly3em_channel_a_power')|float + states('sensor.shelly3em_channel_b_power')|float + states('sensor.shelly3em_channel_c_power')|float) < 0 %}
{{ (states('sensor.shelly3em_channel_a_power')|float + states('sensor.shelly3em_channel_b_power')|float + states('sensor.shelly3em_channel_c_power')|float) * -1 }}
{% else %}
{{ 0 }}
{% endif %}
availability_template: "{{
[ states('sensor.shelly3em_channel_a_power'),
states('sensor.shelly3em_channel_b_power'),
states('sensor.shelly3em_channel_c_power')
] | map('is_number') | min
}}"
# Template sensor for values of power consumption
power_consumption:
friendly_name: "Power Consumption"
unit_of_measurement: 'W'
value_template: >-
{% if (states('sensor.power_export')|float(0)) > 0 and (states('sensor.power_solargen')|float(0) - states('sensor.power_export')|float(0)) < 0 %}
{{ 0 }}
{% elif (states('sensor.power_export')|float(0)) > 0 and (states('sensor.power_solargen')|float(0) - states('sensor.power_export')|float(0)) > 0 %}
{{ (states('sensor.power_solargen')|float(0)) - states('sensor.power_export')|float(0) }}
{% else %}
{{ states('sensor.power_import')|float(0) + states('sensor.power_solargen')|float(0) }}
{% endif %}
# Template sensor for values of energy Solar generation (solar_power > 0)
# YOU NEED TO UPDATE THE NAMES BELOW!!!
power_solargen:
friendly_name: "Power Solar Generation"
unit_of_measurement: 'W'
value_template: >-
{% if (states('sensor.growatt_stick_energytotal')|float(0)) > 0 %}
{{ (states('sensor.growatt_stick_energytotal')|float(0)) }}
{% else %}
{{ 0 }}
{% endif %}
# Sensor for Riemann sum of energy import (W -> Wh)
- platform: integration
source: sensor.power_import
name: energy_import_sum
unit_prefix: k
round: 2
method: left
# Sensor for Riemann sum of energy export (W -> Wh)
- platform: integration
source: sensor.power_export
name: energy_export_sum
unit_prefix: k
round: 2
method: left
# Sensor for Riemann sum of energy consumption (W -> Wh)
- platform: integration
source: sensor.power_consumption
name: energy_consumption_sum
unit_prefix: k
round: 2
method: left
utility_meter:
energy_import_daily:
source: sensor.energy_import_sum
name: Energy Import Daily
cycle: daily
energy_import_monthly:
source: sensor.energy_import_sum
name: Energy Import Monthly
cycle: monthly
energy_export_daily:
source: sensor.energy_export_sum
name: Energy Export Daily
cycle: daily
energy_export_monthly:
source: sensor.energy_export_sum
name: Energy Export Monthly
cycle: monthly
energy_consumption_daily:
source: sensor.energy_consumption_sum
name: Energy Consumption Daily
cycle: daily
energy_consumption_monthly:
source: sensor.energy_consumption_sum
name: Energy Consumption Monthly
cycle: monthly
modbus:
- name: victron
type: tcp
host: 192.168.178.108
port: 502
homeassistant:
customize:
sensor.naechster:
unit_of_measurement: Tage
sensor.altpapier:
unit_of_measurement: Tage
sensor.bioabfall:
unit_of_measurement: Tage
sensor.gelbersack:
unit_of_measurement: Tage
sensor.restabfall:
unit_of_measurement: Tage
tippe oder füge den Code hier ein
Wie stelle ich es am besten an, so das nachher auch noch alles funktioniert?Beim letzen mal war ich froh das ich den HA wieder zum laufen gebracht habe, nur die Werte für Energie sind dann hin gewesen.
gruß Tobias
Bevor du so große Änderungen machst, mach ein Backup!
Wenn deine Backups nur direkt aufm HA liegen speicherst du dir das Aktuelle auch noch auf deinem Rechner.
Deine Templates sehen auch komisch aus, sieht mir nach einen mix aus aktuell und Legacy Konfiguration aus:
Du könntest auch die ganzen Template Sensoren über die UI einbinden, dann wird die configuration.yaml auch leerer und ist vielleicht besser für dich wen du dich mit YAML und den Einrückungen nicht so gut auskennst.
Don’t use ChatGPT, or similar tools, to generate answers that you provide. These tools often produce results that look good but are incomplete, misleading, or just plain wrong. If we believe that you’re doing that then we may suspend your account.
Der Hinweis auf die Probleme mit ChatGPT in der offiziellen HA Community ist aktuell.
Hier im Forum haben wir ebenfalls bereits genug Probleme und Diskussionen wegen Fehlern von ChatGPT gehabt.
Wer ChatGPT nutzen möchte, kann dies gerne tun. Dies ist eine Community von Menschen, für Menschen. Daher habe ich die entstehende Diskussion entfernt.
Sollte hierzu das Bedürfnis bestehen, steht es frei ein neues Thema zu eröffnen.
Das Video habe ich auch schon angesehen, weiß aber nicht wie ich meine Sache damit unter bekomme.Das war der Versuch wo fast nichts mehr ging.Mit packvages muß ich auch die Sensoren ändern, weil es irgendwie alt und neu gemischt ist.
Wenn Du mit packages arbeiten tust, kannst Du alles was Du direkt in der configuration.yaml an Sensoren angelegt hast, 1:1 in den packages Ordner packen und auf die einzelnen yaml Dateien aufteilen.
Wichtig zu beachten ist, dass dann alles so konfiguriert wird, als ob Du es direkt in der configuration.yaml konfigurieren würdest.
Die Sensoren kannst Du dann z.B. auf mehrere yaml Dateien verteilen und auch beliebige Integration miteinander mischen. Also in einer Datei die Integration sensor, binary_sensor, template usw.
Wichtig wieder, die Zeile für die jeweilige Integration, also z.B. sensor: darf nur einmal in einer yaml Datei auftauchen.
Ich habe es versucht, die Einträge die ich in der Config habe so zu kopieren.Aber es hat immer irgendetwas gestört als ich die Config geprüft habe.Geht wahrscheinlich mit dem Einrücken schon los.Und ich muß die Einträge alle ändern,damit es wahrscheinlich funktioniert
Zeige mal ein Bsp. Von einer der yaml Dateinamen die Du in den Ordner packages verwenden willst.
Noch ein Hinweis. Wenn Du Ordner verschandeln tust. Die Namen der yaml Dateien müssen eindeutig sein. Es darf keine zweite yaml Datei geben mit dem gleichen Namen!
Ich habe die Zeile !include_dir_named_packages ja schon in der Config stehen.
Habe jetzt den Ordner packvages erstellt und mir dort die einzelnen *.yaml erstellt für die entsprechenden Sensoren.Dann habe ich in der Config die Zeilen mit der Raute stillgelegt.Jetzt habe ich zwar keinen Fehler beim prüfen, ich habe aber trotzdem bedenken das meine Daten gleich wieder weg sind.
/homeassistant/packages/riemann.yaml
# Sensor for Riemann sum of energy import (W -> Wh)
- platform: integration
source: sensor.power_import
name: energy_import_sum
unit_prefix: k
round: 2
method: left
# Sensor for Riemann sum of energy export (W -> Wh)
- platform: integration
source: sensor.power_export
name: energy_export_sum
unit_prefix: k
round: 2
method: left
# Sensor for Riemann sum of energy consumption (W -> Wh)
- platform: integration
source: sensor.power_consumption
name: energy_consumption_sum
unit_prefix: k
round: 2
method: left