NEWS
Shellys ("Alt und Plus") über MQTT Adapter
-
Nee ich sehe ich glaube hier ist das:
poste mal diesen Inhalt in code-tags hier
-
{"src":"shellyplus1-a8032abd46cc","dst":"shellies/licht/obergeschoss/schlafzimmer/events","method":"NotifyStatus","params":{"ts":1679965237.59,"switch:0":{"id":0,"output":true,"source":"WS_in"}}}
-
@hotspot_2 OK . das kann man wahrscheinlich brauchen. aber bitte den anderen Datenpunkt im Status noch. Also status/switch:0
-
Licht aus:
{"id":0, "source":"WS_in", "output":false,"temperature":{"tC":50.9, "tF":123.5}}
Licht an:
{"id":0, "source":"WS_in", "output":true,"temperature":{"tC":50.8, "tF":123.5}}
-
@hotspot_2 OK - dann ist das der richtig - in der Output eigenschaft steht der Status - dann also bitte die mqtt-In Node auf dieses Status topic und dann eine debug-Node dahinter machen.
-
-
@hotspot_2 Gut jetzt zeige ich Dir wie Du aus einem Objekt die Eigenschaften extrahierst, die Du brauchst. Du klappst an den Pfeilen erst mal die ganzen Objekte auf;
uns interessiert ja die output- Eigenschaft - Du fährst mit der Maus rechts neben die Eigenschaft und kopierst den Pfad:
Nun ändern wir die payload wieder mit einer Change NOde und setzen die Payload auf den Pfad (später wirst Du einfach über einen Punkt. direkt auf die Eigenschaft zugreifen). Also wir setzen die payload, auf payload.output
Auch hier wieder auf den Datentyp achten. In diesem Fall ist es das msg.objekt
-
-
@hotspot_2 Wow bist Du gut. - Na dann können wir hier ja den Status schon mal in userdata schreiben.
-
-
@hotspot_2 und gehts auch auf true, wenn Du einschaltest?
-
@mickym Ich würde mal tippen, nein. Da bräuchten wir noch ein mqtt-out, oder?
-
@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?