mko
13. März 2024 um 16:43
1
Gude,
ich möchte einen Sensor aus einem MQTT Publish erstellen.
Diese Meldungen kommt per MQTT : {“type”:“visual”,“deviceId”:“57eb7655-e30f9616”,“event”:“onMotion”}
Das ganze ist eine Bewegungserkennung. Das ganze soll ein Bewegungs Sensor in HA werden. Wie setzt man das am besten um?
Sensoren habe ich schon angelegt allerdings habe ich noch nie aus einem json etwas extrahiert.
Zweites Problem der publich kommt nur bei Bewegungserkennung. Wenn keine Bewegung mehr da ist kommt kein anderer publich.
Die MQTT (Binary Sensor) Dokumentation schon entdeckt. Sind ja einige Bsp. aufgelistet.
off_delay als Stichwort
Bsp. Zum Thema json
Gruß
Osorkon
mko
13. März 2024 um 17:50
3
Leider bekomme ich mit dem off_delay folgende Fehlermeldung:
Fehler: extra keys not allowed @ data[‘off_delay’] .
Hier noch der Sensor vielleicht liegt der Fehler auch wo anders:
name: Tablett Küche Bewegung
unique_id: tablett_küche_bewegung
state_topic: fully/event/onMotion/57eb7655-e30f9616
payload_available: 'on'
payload_not_available: 'off'
off_delay: '5'
Habe die Sekunden schon mit und ohne Anführungszeichen probiert.
#configuration.yaml
mqtt:
binary_sensor:
- name: Tablett Küche Bewegung
state_topic: "fully/event/onMotion/57eb7655-e30f9616"
value_template: "{{ value_json.event }}"
payload_on: "onMotion"
device_class: motion
unique_id: 28797d31-25f0-489a-a4ac-62523eded908
off_delay: 5
Gruß
Osorkon
mko
13. März 2024 um 18:43
5
Das gibt leider auch einen Fehler:
Fehler: extra keys not allowed @ data[‘payload_on’] .
Wo trägst Du den yaml Code ein??
Das ist ein MQTT Binary Sensor.
Der Code ist Fehlerfrei.
Gruß
Osorkon
mko
13. März 2024 um 19:06
7
also in der config.yaml habe ich das stehen:
mqtt:
sensor: !include mqtt.yaml
und dann trage ich die werte in der mqtt.yaml ein. Das steht auch ein anderer Sensor drin der funktioniert. Hier die ganze datei.
- name: "Männerhöhle Temperatur Einstellung"
unique_id: "männerhöhle_temp_eins"
state_topic: "maxcul/1/NEQ1290404/desiredTemperature"
- name: Tablett Küche Bewegung
state_topic: "fully/event/onMotion/57eb7655-e30f9616"
value_template: "{{ value_json.event }}"
payload_on: "onMotion"
device_class: motion
unique_id: 28797d31-25f0-489a-a4ac-62523eded908
off_delay: 5
Muss das wo anders hin ?
mko
13. März 2024 um 19:28
8
hab den Fehler gefunden. Es läuft .
Danke