Hallo, ich habe nun endlich alle Sachen zusammen und auch ein wenig Zeit für mein Vorhaben.
Es ist bereits alles soweit vorbereitet:
Raspi mit ioBroker läuft, ein MQTT Server (Adapter, nicht mosquito) läuft und der "zigbee2mqtt" service hat bereits meinen motion sensor gelernt.
Derzeit habe ich einen sonoff (geflasht mit tasmota) auf den mqtt server eingestellt.
Ich habe in ioBroker die "node-red" Erweiterung installiert und konnte in node-red auch bereits einen Test fahren.
Derzeit habe ich das gebaut:
[
{
"id": "d121d598.5da3e8",
"type": "tab",
"label": "Buero",
"disabled": false,
"info": ""
},
{
"id": "6d4ba203.9518ec",
"type": "ui_switch",
"z": "d121d598.5da3e8",
"name": "Schreibtischlampe",
"label": "Schreibtischlampe",
"tooltip": "",
"group": "84e8aaf4.c7a158",
"order": 0,
"width": 0,
"height": 0,
"passthru": false,
"decouple": "true",
"topic": "",
"style": "",
"onvalue": "ON",
"onvalueType": "str",
"onicon": "",
"oncolor": "",
"offvalue": "OFF",
"offvalueType": "str",
"officon": "",
"offcolor": "",
"x": 390,
"y": 160,
"wires": [
[
"298ed590.96fdfa"
]
]
},
{
"id": "93808637.282f18",
"type": "mqtt in",
"z": "d121d598.5da3e8",
"name": "",
"topic": "/test/sonoff/stat/POWER",
"qos": "0",
"datatype": "utf8",
"broker": "fcc9750a.7b30d8",
"x": 130,
"y": 40,
"wires": [
[
"6d4ba203.9518ec"
]
]
},
{
"id": "298ed590.96fdfa",
"type": "mqtt out",
"z": "d121d598.5da3e8",
"name": "",
"topic": "/test/sonoff/cmnd/POWER",
"qos": "",
"retain": "",
"broker": "fcc9750a.7b30d8",
"x": 510,
"y": 240,
"wires": []
},
{
"id": "84e8aaf4.c7a158",
"type": "ui_group",
"z": "",
"name": "Buero",
"tab": "1bee50d9.5ae56f",
"order": 1,
"disp": true,
"width": "6",
"collapse": false
},
{
"id": "fcc9750a.7b30d8",
"type": "mqtt-broker",
"z": "",
"name": "mqtt-adapter",
"broker": "localhost",
"port": "1883",
"clientid": "",
"usetls": false,
"compatmode": true,
"keepalive": "60",
"cleansession": true,
"birthTopic": "",
"birthQos": "0",
"birthPayload": "",
"closeTopic": "",
"closeQos": "0",
"closePayload": "",
"willTopic": "",
"willQos": "0",
"willPayload": ""
},
{
"id": "1bee50d9.5ae56f",
"type": "ui_tab",
"z": "",
"name": "Wohnung",
"icon": "dashboard",
"order": 1,
"disabled": false,
"hidden": false
}
]
Alles anzeigen
Das erstellt mir einen node-red dashboard Button und dieser registriert via "mqtt Eingabe" wenn der Sonoff am Knopf geschaltet wird. Via "mqtt Ausgabe" sende ich dem Sonoff den "stat" on/off wenn ich den node-red dashboard button drücke.
Im nächsten schritt wollte ich eine "mqtt Eingabe" vom motion sensor abfangen. Das klappt auch, ich bekomme dann aber ein JSON zurück:
Ich habe schon verstanden das "occupancy" true/false für "bewegung" steht. Ich weiß nur leider derzeit nicht, wie ich das JSON in einzelnen Variablen aus dem Node raus bekomme um das dann entsprechend an meinen sonff mit on/off zu verknüpfen.
Hat hier zufällig jemand einen Beispiel Code?
GIbt es vielleicht eine andere sinnvollere Lösung dafür?
Danke euch noch mal