NEWS
Shellys ("Alt und Plus") über MQTT Adapter
-
@hotspot_2 Ich meine wenn Du mit der Shelly App schaltest ob dann der Datenpunkt auf true gehst oder über das Browser interface. Das Schalten ist nicht so einfach. Ich wollte nur eine Prüfung.
-
@mickym Ja, das funktioniert.
Schalten muss ich vermutlich jetzt den ganzen String wieder zusammenbauen und den auch korrekt.
-
@hotspot_2 Nein leider nicht.
Schalten tust Du über folgendes Objekt:
{ "id":123, "src":"hotspot_2", "method":"Switch.Set", "params":{"id":0,"on":true} }
Bei der ID - kannst Du reinschreiben was Du willst - bei src - auch - Ich hab mal Deinen Namen genommen, damit wird in Zukunft identifiziert von WEM ein Befehl kam. Mit der Methode sagst Du ob Du schalten willst, Konfiguration ändern willst usw.
Das musst Du in Zukunft hier lesen:
https://shelly-api-docs.shelly.cloud/gen2/Devices/ShellyPlus1Unter den Methoden siehst Du was möglich ist: https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch
für Dich also Switch set :
Diesen JSON kannst Du mal direkt in den RPC (unbestätigt schreiben und schauen, ob Du damit Schalten kannst)
Schreib mal den JSON unbestätigt in den rpc Datenpunkt:
Einschalten:{ "id":123, "src":"hotspot_2", "method":"Switch.Set", "params":{"id":0,"on":true} }
Ausschalten;
{ "id":123, "src":"hotspot_2", "method":"Switch.Set", "params":{"id":0,"on":false} }
-
@mickym Das hat funktioniert. Aus geht dann mit "on":false?
-
@hotspot_2 genau - wenns funktioniert - machen wir uns an die Implementierung.
-
@mickym Geht, Licht geht an und aus.
-
@hotspot_2 Gut dann brauchen wir wieder die iobroker In node auf den Datenpunkt und mit Filterung auf ACK=false
-
@mickym Done. Mqtt-out Node auf RPC?
-
@hotspot_2 gut nun nimmst Du eine Change NOde und gehst auf Typ JSONATA
-
@hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@mickym Done. Mqtt-out Node auf RPC?
Ja das auch - aber erst müssen wir das Objekt noch konstruieren. s. Change Node.
Du klickst auf die 3 Punkte um den JSONATA Editor zu öffnen:
dort ersetzt Du hinter die Eigenschaft die gesetzt werden muss, true bzw. false durch payload
Um zu Prüfen, dass auch je nachdem ob Du true oder false setzt kannst Du noch eine debug Node hinter die Change NOde hängen um zu überprüfen, ob du das korrekte Objekt schreibst:
-
@mickym Funktioniert! Licht geht an und aus wenn ich das Objekt ändere. Habe ja das mqtt-out node vorher schon gemacht.
-
@hotspot_2 Na gut - dann haben wir unser Ziel erreicht - und Du kannst nun den Rest selbst machen.
-
@mickym Ja, das haben wir.
Ich bastele mir jetzt einige Nodes und dann kann ich den shelly Adapter ablösen.
Vielen, vielen Dank für deine Hilfe hierbei! Ich denke dem ein oder anderen kann das hier auch richtig gut helfen.
Ich würde mich nochmal melden wenn ich irgendwo auf Probleme stosse bei den anderen Shelly Komponenten.
Wünsche Dir eine gute Nacht!
-
@hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@mickym Ja, das haben wir.
Ich bastele mir jetzt einige Nodes und dann kann ich den shelly Adapter ablösen.
Vielen, vielen Dank für deine Hilfe hierbei! Ich denke dem ein oder anderen kann das hier auch richtig gut helfen.
Ich würde mich nochmal melden wenn ich irgendwo auf Probleme stosse bei den anderen Shelly Komponenten.
Wünsche Dir eine gute Nacht!
Gut - Du siehst wie schön man mit NodeRed Objekte bearbeiten kann. Aber wenn Du das lieber mit Blockly machen willst, dann kannst Du das ja gerne tun. Ich finde es nur viel umständlicher.
-
@mickym Da ist auf jeden Fall was dran, die Neugier ist auf jeden Fall da und geweckt.
Mir fehlen halt noch ein paar Dinge (Trigger, if..then..else usw.,). Aber wenn man das alles machen kann wie mit Blockly (und noch mehr) dann ist das auf jeden Fall sehr interesant für mich.
Muss mich da mal bisschen einlesen und einarbeiten. Aber die Grundsteine sind gelegt ;-).
-
@hotspot_2 Wir können uns ja auch mal ein bestehendes Blockly vornehmen und schauen, wie man das in NodeRed umsetzen würde.
-
-
@hotspot_2 sagte in Shellys ("Alt und Plus") über MQTT Adapter:
@mickym Das wäre super.
Das was wir bisher gemacht haben - hätte man auch noch ganz ohne Logikmaschine (also ohne Node Red und Blockly) mit einem Alias machen können. Nur wird das bei mehrfachen Paramtern schnell unübersichtlich.
Also schlaf gut.
-
@mickym Ich bin jetzt am einrichten der Nodes und klappt soweit.
Ich stelle aber fest dass das anlegen der Objekte durch NodeRed nicht einwandfrei funktioniert. Die Objekte werden oft als undefinded angelegt und dann muss ich sie entweder löschen oder von Hand auf boolean setzen.
Kann man das irgendwie optimieren?
-
@hotspot_2 Nein - entweder du legst es von vorne an - Du kannst natürlich eine Datentyp schon in der iobroker-out mitgeben - in diesem Fall sollte der richtige Datentyp gleich angelegt sein:
Evtl. dauert es aber auch. Ansonsten muss ein issue auf github eröffnet werden.
Normalerweise hat mir @apollon77 erklärt, dass der Datentyp durch die payload automatisch erstellt wird. Aber wie gestern scheint sich das Erstellen von Objekten sehr verschlechtert zu haben, als ob sich da im Hintergrund was ändert.