Bitte im Browser eintippen und die Ausgabe hier posten:
<Shelly-IP>/status
VPN/Proxy erkannt
Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.
Bitte im Browser eintippen und die Ausgabe hier posten:
<Shelly-IP>/status
Den richtigen Kontakt von dem Taster angeschlossen oder eventuell den Öffnerkontakt erwischt?
Oder der Einsatz eines Shelly i4.
Doch, genau dafür ist es gedacht, jedoch von Allterco in neuerer Firmware entfernt worden und wird auch nicht wieder implementiert.
Das wird so in deiner Konstellation nicht funktionieren.
Außer z.b. Taster 1 long soll das dimmen starten und taster 2 beenden
Ungewollt liegst du halb richtig ![]()
Bis zu der Firmware 20220209-094557/v1.11.8-g8c7bb8d können die Dimmer noch den Befehl dim=cycle empfangen, welchen man auf den Longpush legt und bei Button switched off URL hinterlegt man dann dim=stop
Den man sich ja aber zulegen könnte ![]()
Hat aber ebenfalls ein Relais drin.
Das benötigt dann jedoch einen Shelly der zweiten Generation.
In der API musst du bei den Shellies gucken, die den Befehl empfangen sollen.
https://shelly-api-docs.shelly.cloud/
https://shelly-api-docs.shelly.cloud/gen1/#shelly1-1pm-relay-0
In dem 1PM kann man keine Action nach Leistung hinterlegen.
Auch Auto on/off gehen dann nicht?
Erstes Einschalten könnte man mit dem Status nach Stromausfall realisieren.
Ich meine, dass es mit alten Firmwares noch geht. Wenn der eh nicht in der Cloud ist und keine weitere Aufgabe hat, kann man es probieren.
Ich würde bei Firmware 1.7.0 anfangen und ggf. weiter downgraden. Achtung, auch der Befehl Localhost in der Action muss dann vor Stand X auf die IP geändert werden.
http://archive.shelly-tools.de
Ohne Gewähr, dass es bei dem Plug S funktioniert.
Die Einstellung unter "Ausgang" ist meiner Erinnerung nach wichtig, damit es auch als json erkannt wird.
Ich habe eben den PC angeworfen und es rekonstruiert.
Die Fehlermeldung kommt wahrscheinlich daher, dass du die Ausgage nicht als JSON definiert hast. Ist diese nicht als solche definiert, dann bekommst du ein "undefined" als Meldung.
Hier mein Test zum Importieren:
[{"id":"9fdb5dd0d173155b","type":"inject","z":"16380ce8.f9555b","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"motion\":true,\"timestamp\":1691225987,\"active\":true,\"vibration\":false,\"lux\":0,\"bat\":71}","payloadType":"json","x":130,"y":4920,"wires":[["55510c155298e9f6"]]},{"id":"55510c155298e9f6","type":"change","z":"16380ce8.f9555b","name":"","rules":[{"t":"set","p":"payload","pt":"msg","to":"payload.bat","tot":"jsonata"}],"action":"","property":"","from":"","to":"","reg":false,"x":290,"y":4920,"wires":[["ebcb186679ad5d40"]]},{"id":"ebcb186679ad5d40","type":"debug","z":"16380ce8.f9555b","name":"debug 2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":460,"y":4920,"wires":[]}]
Hier einmal mit dem Function-Node als Lösung. Wichtig ist, dass man das korrekte Topic bei dem Debug-Node angibt, ansonsten bekommt man wieder ein "undefined":
[{"id":"e8e8164bf2cc644c","type":"function","z":"16380ce8.f9555b","name":"","func":"msg.bat = msg.payload[\"bat\"];\ndelete msg.payload;\nreturn msg","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":260,"y":4980,"wires":[["c838b2417e5915f0"]]},{"id":"4b59c8816529d7fb","type":"inject","z":"16380ce8.f9555b","name":"","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"{\"motion\":true,\"timestamp\":1691225987,\"active\":true,\"vibration\":false,\"lux\":0,\"bat\":71}","payloadType":"json","x":130,"y":4980,"wires":[["e8e8164bf2cc644c"]]},{"id":"c838b2417e5915f0","type":"debug","z":"16380ce8.f9555b","name":"debug 3","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"bat","targetType":"msg","statusVal":"","statusType":"auto","x":400,"y":4980,"wires":[]}]
Nicht vergessen ggf. den json-Node nach dem MQTT-in-Node zu setzen:
Zu guter Letzt bleibt dann immer noch der MQTT-JSON-Node zum Testen ![]()
Gib bitte Rückmeldung, ob du weitergekommen bist.
Freut mich und bleibt hoffentlich so. Das RC-Glied sollte möglichst nah an dem Verbraucher sitzen.
Geht der andere Shelly zur Analyse?
Ich glaube, dass doppelt gemoppelt wird mit dem Change- und dem Function-Node.
Leider bin ich nicht am PC. Im Function-Node habe ich glaube ich nur als letzte Zeile "Return msg" angegeben und nichts spezielles. Zuvor veränderst du per Change-Node. War es nicht entweder oder?
Hast du in dem MQTT-Node Einstellungen vorgenommen? Es muss zu "Jason" konvertiert werden, wenn ich mich recht entsinne.
Meiner Erinnerung nach kann man den Wert am einfachsten mit dem MQTT-JSON-Node Parsen und wenn das klappt das Topic im Nachhinein ändern.
Aber vorheriges nicht löschen, wie geschrieben, ich sitze nicht am PC und arbeite auch eher selten damit.
Oben rechts auf das Menü klicken, Paletten verwalten und folgende installieren:
node-red-contrib-mqtt-json
Man könnte nun auch noch über ein Umschaltrelais spekulieren.
Actions:
Wenn Output Shelly [1] on, dann Output Shelly [2] off und umgekehrt. Heißt bei den plus wohl Webhooks.
In dem Function-Node des von mir besagten Beitrags sieht es im Function-Node anders aus, hast du das probiert?
Es gibt ja auch noch den MQTT-JSON Node.
Hast Du Dir aus dem letzten Link Post #2 angesehen? Vielleicht erstmal soweit zum Laufen bringen.
Hier ist noch einer: