Baxxy hat geschrieben: ↑13.10.2023, 13:24
Aber was ist denn mit dem umgedrehten Weg, also z.B. Aktoren der Zentrale schalten?
Übersehe ich da was oder gibt's da (noch) nix und ich muss weiterhin mit mqtt-out samt richtigem Topic arbeiten?
Ach herrje, da sagst du was. Ich bin irgendwann mittendrin etwas von anderen Projekten "abgelenkt" worden und habe ganz vergessen am set-value weiter zu arbeiten oder wenigstens den aktuellen Stand zu dokumentieren.
Also, der jack-value node kann ein Topic (und alle möglichen Details) passend zum gewählten Gerät ausgeben.
Zusätzlich leitet der einen eingehenden Payload weiter. Das sieht dann so aus:
Code: Alles auswählen
{
"topic": "device/set/000393C994D028/1/LEVEL",
"payload": 0.4,
"domain": "device",
"interfaceType": "HmIP-RF",
"device": "000393C994D028",
"deviceName": "HmIP-eTRV Flur",
"deviceType": "HMIP-eTRV",
"channel": "000393C994D028:1",
"channelName": "HmIP-eTRV Flur:1",
"channelType": "HEATING_CLIMATECONTROL_TRANSCEIVER",
"channelIndex": 1,
"datapoint": "LEVEL",
"datapointName": "HmIP-eTRV Flur:1 - LEVEL",
"datapointType": "FLOAT",
"datapointMin": 0,
"datapointMax": 1.01,
"datapointDefault": 0,
"datapointControl": "HEATING_CONTROL_HMIP.LEVEL",
"datapoints": {
"ACTIVE_PROFILE": 2,
"BOOST_MODE": false,
"PARTY_MODE": false,
"ACTUAL_TEMPERATURE": 22.8,
"VALVE_STATE": 4,
"LEVEL_STATUS": 0,
"BOOST_TIME": 0,
"ACTUAL_TEMPERATURE_STATUS": 0,
"SWITCH_POINT_OCCURED": false,
"SET_POINT_MODE": 0,
"QUICK_VETO_TIME": 0,
"SET_POINT_TEMPERATURE": 21,
"FROST_PROTECTION": false,
"WINDOW_STATE": 0
},
"rooms": {
"1231": "Flur"
},
"functions": {
"1213": "Heizung"
},
"mqtt": {
"set": "device/set/000393C994D028/1/LEVEL",
"status": "device/status/000393C994D028/1/LEVEL"
},
"value": 0.01,
"valuePrevious": 0.4,
"qos": 0,
"retain": false,
"ts": 1697226543293,
"tsPrevious": 1697226387579,
"s": 0,
"change": true,
"cache": false,
"source": "onInput",
"_msgid": "80c2d07410e7b981"
}
Du kannst jetzt entweder das Topic schon passen auswählen oder in einem Change node das Topic durch den Inhalt von
ersetzen.
Und das kann man wiederum in einen MQTT-Out node rein senden, der mit dem CCU-Jack verbunden ist.
Optimalerweise hat man denn nur einmal diesen beiden letzten nodes (Change & MQTT Out im Flow und leitet über Link-In und Link-Out die Nachrichten dorthin.
----------------------
BTW: meine Gedanke war mit diesen Jack-Nodes nicht erneut die eierlegende Wollmilchsau zu bauen, sondern stattdessen Bausteine zur Verfügung zu stellen, die genau nur die fehlenden Infos des CCU-Jack in Node-Red bringen. Die Kommunikation dürfen ruhig weiterhin die MQTT-Nodes machen; denn dafür sind die da und brauchen nicht durch mich nochmal dupliziert werden.