Ich bräuchte mal dringend Hilfe.
Mein HA was über Jahre gewachsen ist und stabil läuft sollte einen PV-Manager für Heizstäbe und andere Verbraucher erweitert werden, stäter soll noch eine Splitklimaanlage dazukommen.
Zur Hilfe habe ich Chat-GPT genutzt, im Moment drehe ich mich aber im Kreis und finde keine Lösung.
Jetzt zu meinem System.
Meine Config ist von Anfang an so aufgebaut. (es kommen jetzt nur Auszüge der Dateien)
Durch den PV-Manager sollte alles strukturierter werden.
Daraufhin wurde ein Ordner „packages“ angelegt in dem alle yaml-Dateien angelegt wurden und im 00_package.yaml aufgerufen werden.
In der Config wurde das integriert
homeassistant:
packages: !include packages/00_package.yaml
In der 00_package.yaml wurde das integriert
input_boolean: !include 01_input_boolean.yaml
input_number: !include 02_input_number.yaml
timer: !include 03_timer.yaml
template: !include 04_template.yaml
sensor: !include 05_sensor.yaml
automation: !include 06_signale.yaml
automation: !include 07_lastmanager.yaml
script: !include 08_scripts.yaml
usw.
das erste Problem war das die zwei automatik Aufrufe nicht hintereinander funktionieren. also in eine Datei gepackt OK
Im Moment holt mich das alles aber ein weil ich das Problem die Erweiterungen auch bei template habe.
Für die Erweiterung wurden neue Dateien angelegt
input_number: !include 00_einstellungen.yaml
template: !include_dir_merge_list pv_templates
template:
!include 01_sensoren.yaml
!include 02_signalaufbereitung.yaml
!include 03_Betriebszustände.yaml
Jetzt müssen in den yaml-dateine die tempates nicht mehr vorangestellt werden.
Ich drehe mich seit zwei Wochen im Kreis, Chat-GPT führt mich auch nur in die Irre.
Ich möchte mein lauffähige System auch nicht verlieren.
ich glaube das es ein Grundsätzliches Strukturproblem ist.
Kann mir jemand dazu eine hilfreiche Antwort geben. (Beispiel währe von Vorteil)
Danke im Voraus schon mal.
Im Ordner packages, kannst Du dann entweder direkt Deine yaml Dateien erstellen oder diese noch zusätzlich in Ordner aufteilen.
Ich verwende keine Ordner Struktur, bei mir liegen dann Themen / Anwendungsbasiert die einzelnen Yaml Dateien im packages Ordner.
Die Eintröge in den yaml Dateien erfolgen dann, exakt so, wie es in der configuration.yaml der Fall wäre. Also jeweils die jeweilige Domain vorangestellt.
Hallo Osorkon,
liegt dann z.B. deine automation.yaml auch im Ordner package.
Ist dann das “automation:” in den einzelnen yaml-dateien vorhanden oder darf das dann nicht vorrangestellt werden. (genau damit habe ich Probleme)
Das gleiche ist bei den templates, wenn die öfters vorkommen in unterschiedlichen strukturierten yaml-dateien.
Kannst du mir mal ein Beispiel zeigen.
Nein! Ich erstelle meine Automationen nicht direkt in der automations.yaml, Du ja hoffentlich ja auch nicht.
Die automations.yaml bleibt davon unberührt. Deine Automationen erstellst Du wie gewohnt in der GUI, wenn nötig, kannst Du diese ja im yaml Modus bearbeiten.
Organisieren tust Du Deine Automationen über Räume/ Kategorien / Labels.
Bsp. bei packages:
#/packages/meineyaml.yaml
sensor:
- platform: derivative
source: sensor.temperature
name: Temperature change per hour
round: 1
unit_time: h
time_window: "00:30:00"
- platform: statistics
name: "Bathroom humidity mean over last 24 hours"
entity_id: sensor.bathroom_humidity
state_characteristic: mean
max_age:
hours: 24
utility_meter:
daily_energy:
source: sensor.energy
name: Daily Energy
cycle: daily
tariffs:
- peak
- offpeak
monthly_energy:
source: sensor.energy
name: Monthly Energy
cycle: monthly
tariffs:
- peak
- offpeak
template:
- sensor:
- name: "Kettle"
state: >
{% if is_state('switch.kettle', 'off') %}
off
{% elif state_attr('switch.kettle', 'W') | float < 1000 %}
standby
{% elif is_state('switch.kettle', 'on') %}
on
{% else %}
failed
{% endif %}
- triggers:
- trigger: state
entity_id: sensor.outside_temperature
not_to:
- unknown
- unavailable
sensor:
- name: Outside Temperature
device_class: temperature
unit_of_measurement: °C
state: "{{ (states('sensor.outside_temperature') | float - 32) * 5/9 }}"
- binary_sensor:
- name: Sun Up
state: >
{{ is_state("sun.sun", "above_horizon") }}
mqtt:
- binary_sensor:
name: "Window Contact Sensor"
state_topic: "bedroom/window/contact"
payload_on: "ON"
availability:
- topic: "bedroom/window/availability"
payload_available: "online"
payload_not_available: "offline"
qos: 0
device_class: opening
value_template: "{{ value_json.state }}"
- switch:
command_topic: "home/bedroom/switch1/set"
Die Formatierung ist exakt so, als ob Du die Einträge direkt in der configuration.yaml vornehmen würdest. Nur das Du jetzt Deine sensor, utility_meter, templates, mqtt, etc. Konfiguration auf mehrere yaml Dateien verteilen kannst.
Wichtig ist nur, wie auch in der configuration.yaml, dass die Integration wie sensor:, template:, etc. nur ein mal vorkommt und alles was zu template gehört, unter template: steht, alles was zu mqtt gehört unter mqtt: steht, etc.
Hallo Osorkon,
deine Hilfe hat sich positiv ausgewirkt.
Das Problem war bei mir das 00_package.yaml,
in dem wurden die die einzelne incudes aufgerufen, was zu Problemen geführt hat.