NEWS
Shelly Plus Plug S - Node Red
-
Hallo zusammen.
ich benutze diese Node-Red um Shelly Plus 1 / 1 PM usw. zu schalten und die Energiewerte abzufragen. Das hat bisher einwandfrei funktioniert.
[ { "id": "72491a9c9d7f59d3", "type": "mqtt in", "z": "9531c5f14d11e22e", "name": "", "topic": "shellies/schalter/keller/gefrierschrkeller/status/switch:0", "qos": "2", "datatype": "auto-detect", "broker": "b22fc4d3e3f172bb", "nl": false, "rap": true, "rh": 0, "inputs": 0, "x": 220, "y": 1880, "wires": [ [ "9a7043332dadd08d", "324b7e7e8f5f7616" ] ] }, { "id": "9a7043332dadd08d", "type": "change", "z": "9531c5f14d11e22e", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.output", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 550, "y": 1880, "wires": [ [ "fb9e879fe3e34581" ] ] }, { "id": "fb9e879fe3e34581", "type": "ioBroker out", "z": "9531c5f14d11e22e", "name": "switch", "topic": "0_userdata.0.shellies.schalter.keller.gefrierschrkeller.switch", "ack": "true", "autoCreate": "true", "stateName": "", "role": "", "payloadType": "boolean", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 730, "y": 1880, "wires": [] }, { "id": "f831d0c916d2017f", "type": "ioBroker in", "z": "9531c5f14d11e22e", "name": "switch", "attrname": "", "topic": "0_userdata.0.shellies.schalter.keller.gefrierschrkeller.switch", "payloadType": "value", "onlyack": "command", "func": "all", "gap": "", "fireOnStart": "false", "outFormat": "MQTT", "x": 70, "y": 2000, "wires": [ [ "fee25176647f047d" ] ] }, { "id": "e9396edc08b9f61f", "type": "mqtt out", "z": "9531c5f14d11e22e", "name": "", "topic": "shellies/schalter/keller/gefrierschrkeller/rpc", "qos": "", "retain": "", "respTopic": "", "contentType": "", "userProps": "", "correl": "", "expiry": "", "broker": "b22fc4d3e3f172bb", "x": 610, "y": 2000, "wires": [] }, { "id": "fee25176647f047d", "type": "change", "z": "9531c5f14d11e22e", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "{\t \"id\":141,\t \"src\":\"hotspot_2\",\t \"method\":\"Switch.Set\",\t \"params\":{\"id\":0,\"on\":payload}\t}\t \t", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 230, "y": 2000, "wires": [ [ "e9396edc08b9f61f" ] ] }, { "id": "324b7e7e8f5f7616", "type": "change", "z": "9531c5f14d11e22e", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.apower", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 550, "y": 1940, "wires": [ [ "cfeeb61019d8da71" ] ] }, { "id": "cfeeb61019d8da71", "type": "ioBroker out", "z": "9531c5f14d11e22e", "name": "power", "topic": "0_userdata.0.shellies.schalter.keller.gefrierschrkeller.power", "ack": "true", "autoCreate": "true", "stateName": "", "role": "", "payloadType": "boolean", "readonly": "false", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 730, "y": 1940, "wires": [] }, { "id": "b22fc4d3e3f172bb", "type": "mqtt-broker", "name": "iobroker mqtt adapter", "broker": "localhost", "port": "1883", "clientid": "mqttin_nodered", "autoConnect": true, "usetls": false, "protocolVersion": "4", "keepalive": "60", "cleansession": true, "birthTopic": "", "birthQos": "0", "birthPayload": "", "birthMsg": {}, "closeTopic": "", "closeQos": "0", "closePayload": "", "closeMsg": {}, "willTopic": "", "willQos": "0", "willPayload": "", "willMsg": {}, "userProps": "", "sessionExpiry": "" }
Leider funktioniert das mit einem Shelly Plug S nicht mehr.
Hat mir jemand einen Tipp was man da anpassen muss? Mit der Shelly Doku bin ich irgendwie nicht weiter gekommen.
Danke schon mal!
-
@hotspot_2 Meines Erachtens muss man das nicht so komplziert über rpc Objekte machen - die sollten eigentlich funktionieren, wie Du es gemacht hast.
Aber ansonsten probiere halt die einfache Variante:
Ansonsten kann ich keinen Fehler entdecken - wenn Du wirklich ein Boolean schickst, das kann ich nicht sehen, was in deinem Datenpunkt ist. Überprüf halt mal ob das wirklich ein Boolean und kein Text ist.
Ansonsten nimm halt die einfache Variante -
@mickym Ich hätte noch was schreiben sollen.
Das Problem ist im MQTT Adapter beim Shelly Plug S der Ordner /rpc nicht mehr auftaucht. Es gibt nur noch events/rpc und damit kann man nicht schalten. Aus der Doku bin ich nicht schlau geworden.
Bei den anderen Gen2 Shellys, die ich habe, funktioniert das Beispiel von mir einwandfrei. Haben wir ja auch mal zusammen erstellt.
-
@hotspot_2 Die events sind deswegen da , da die Events vom Gerät kommen. Alle topics, die Du schickst legt das Gerät nicht an, sondern die kommen von Dir in dem Du diese topics beschreibst. Das Gerät subscribed die.
Also der rpc ist da sobald du was publishst und ein Gerät legt nie die topics an, auf die es hört.
-
@hotspot_2 sagte in Shelly Plus Plug S - Node Red:
Das Problem ist im MQTT Adapter beim Shelly Plug S der Ordner /rpc nicht mehr auftaucht.
Das hängt davon ab, ob es ein Shelly Plug S Gen 3 oder Gen 1 ist - oder ein Plus mit Gen 2. Ab Generation 2 haben die, diese rpc Channels.
-
@hotspot_2 Hast du die simple Variante ohne rpc direkt als command versucht?
-
@mickym sagte in Shelly Plus Plug S - Node Red:
@hotspot_2 Die events sind deswegen da , da die Events vom Gerät kommen. Alle topics, die Du schickst legt das Gerät nicht an, sondern die kommen von Dir in dem Du diese topics beschreibst. Das Gerät subscribed die.
Also der rpc ist da sobald du was publishst und ein Gerät legt nie die topics an, auf die es hört.
Verstanden. Einmal schalten dann passt das. Danke!
-
@mickym sagte in Shelly Plus Plug S - Node Red:
@hotspot_2 Hast du die simple Variante ohne rpc direkt als command versucht?
Das teste ich noch.