Cześć,
nie mogę ogarnąć tej nowej składni. Mam ostrzeżenie jak w temacie.
W pliku configuration.yaml mam:
binary_sensor: !include binary-sensors.yaml
A plik binary-sensors.yaml wygląda po tak (za dokumentacją ):
mqtt:
- name: "Kuchnia ruch"
unique_id: 5
state_topic: "ESP_Kuchnia_0/Ruch/State"
device_class: motion
payload_on: "1"
payload_off: "0"
Co robię źle?
artpc
(artur)
21 Wrzesień 2022 18:49
4
gość ma plik mqtt.yaml więc pomija mqtt:
Rozumiem, że ja, skoro mam zdefiniowany plik dla binary sensorów, pomijam binary_sensor:
?
no wygląda podobnie tylko Ty masz to w pliku mqtt a ja w binary_sensor
MariuszAK
(mariuszak)
21 Wrzesień 2022 20:52
8
W binary mam inne ale nie te które pochodzą z platformy mqtt
artpc
(artur)
21 Wrzesień 2022 21:05
9
Tak pomijasz bo już zdefiniowałeś przedrostek
może ktoś ma jeszze jakiś pomysł co jest nie tak?
rafkan
23 Wrzesień 2022 14:56
11
Jeśli chcesz aby wszystkie wpisy dotyczące mqtt znalazły się w jednym pliku to proponuję, zdefiniuj w pliku configuration.yaml wpis:
mqtt: !include mqtt.yaml
następnie stwórz plik:
mqtt.yaml
W utworzonym powyżej pliku zamieść wpisy:
binary_sensor:
- name: "Kuchnia ruch"
unique_id: 5
state_topic: "ESP_Kuchnia_0/Ruch/State"
device_class: motion
payload_on: "1"
payload_off: "0"
Następnie usuń/wykasuj powyższy wpis z miejsca gdzie go miałeś wcześniej zdefiniowanego.
Ja chcę aby wszystkie wpisy dotyczące przełączników binarnych znalazły się w jednym pliku, niezależnie od platformy. Analogicznie dla przełączników i czujników.
W tej chwili to działa. Czy tak nie będzie można od wersji 2022.12?
artpc
(artur)
23 Wrzesień 2022 15:50
13
Można to zapisać tak, nie sprawdzałem
Sprawdzone
mqtt:
sensor: !include_dir_merge_list entities/mqtt/sensor/
binary_sensor: !include_dir_merge_list entities/mqtt/binary_sensor/
switch: !include_dir_merge_list entities/mqtt/switch/
Stary format
sensor:
- platform: mqtt
name: "Balkon Temperatura"
state_topic: "balkon/out/temp"
unit_of_measurement: '°C'
value_template: "{{ value_json['obs']['temperature'] }}"
Usuwamy linie - platform:mqtt
sensor:
name: "Balkon Temperatura"
state_topic: "balkon/out/temp"
unit_of_measurement: '°C'
value_template: "{{ value_json['obs']['temperature'] }}"
następnie wstawiamy myślnik przed nazwą i dodajemy spację
Prawidłowy format
sensor:
- name: "Balkon Temperatura"
state_topic: "balkon/out/temp"
unit_of_measurement: '°C'
value_template: "{{ value_json['obs']['temperature'] }}"
1 polubienie
Kurczę, upatruję tu jakichś błędów w HA.
Dzisiaj zainstalowałem 2022.9.6 gdzie teoretycznie były jakieś zmiany w związku z nowym schematem
Refactor MQTT tests to use modern platform schema
no i teraz gdy mam:
mqtt:
- name: "Kuchnia ruch"
unique_id: 5
state_topic: "ESP_Kuchnia_0/Ruch/State"
device_class: motion
payload_on: "1"
payload_off: "0"
to błędu nie ma, ale czujniki nie działają.
A gdy mam:
- platform: mqtt
name: "Kuchnia ruch"
unique_id: 5
state_topic: "ESP_Kuchnia_0/Ruch/State"
device_class: motion
payload_on: "1"
payload_off: "0"
Wykazuje błąd (jak w temacie), ale czujniki działają.
i bądź tu mądry…
szopen
24 Wrzesień 2022 13:52
15
ggu-meu:
mqtt:
- name: "Kuchnia ruch"
unique_id: 5
state_topic: "ESP_Kuchnia_0/Ruch/State"
device_class: motion
payload_on: "1"
payload_off: "0"
to błędu nie ma, ale czujniki nie działają.
skoro to czujniki, to gdzie masz sensor:
Cześć,
nie mogę ogarnąć tej nowej składni. Mam ostrzeżenie jak w temacie.
W pliku configuration.yaml mam:
binary_sensor: !include binary-sensors.yaml
A plik binary-sensors.yaml wygląda po tak (za dokumentacją ):
mqtt:
- name: "Kuchnia ruch"
unique_id: 5
state_topic: "ESP_Kuchnia_0/Ruch/State"
device_class: motion
payload_on: "1"
payload_off: "0"
Co robię źle?
Z dokumentacji wydaje się że tak można:
szopen
26 Wrzesień 2022 08:23
17
Prawdopodobnie jedyna metoda to zastosować rozwiązanie zaproponowane przez @artpc
Spróbuj sobie wyobrazić jak wygląda parsowanie takich zagnieżdżonych plików - wszystkie wymagania składni muszą zostać spełnione dla takiego “wynikowego pliku configuration.yaml” powstałego z podstawień wszystkich zagnieżdżonych konfiguracji w jedną całość.