NEWS
[Aufruf] Test Shelly Adapter
-
@Diginix , danke für den Hinweis. Wenn alles funktioniert, werde ich die Meldung nur noch im Debug Modus anzeigen lassen.
-
@Diginix hinter dem JSON kommen noch "Müllbytes". Es wäre evtl. sauberer alles nach dem letzten } abzuschneiden und dann das JSON zu parsen!?
-
@NemoN , das ist leider ein Fehler von Shelly. Die senden teilweise kaputte JSONs. Ich werde ab Version 3.0.8 diese Fehlerhaften JSONs nur noch im Debug Modus anzeigen. Eine Korrektur des Shelly JSONs in ioBroker werde ich nicht vornehmen, da diese vom Adapter nicht benötigt werden. Diese beschreiben den Aufbau der CoAP Daten-Nachrichten.
-
@Stuebi Hi Stübi,
gerade hatte ich den Fall, das mein Script nicht ging. Flott nachgeschaut und bemerkt, das der Power-Wert nicht gefüllt war. Somit ist klar warum das Script nicht geht.
Hilft MQTT dabei die Power-Werte zu übermitteln? Im Einsatz habe ich die neueste Version des Adapters -
@srkonus , kannst Du mir sagen welches Shelly Gerät du im Einsatz hast? Eigentlich sollte es mit dem Shelly 2, Shelly 2.5, Shelly PM und Shelly Plug S gehen.
-
@Stuebi Ich nutze den Shelly Plug S mit neuester Firmware und neuestem Shelly Adapter
-
@srkonus , welche ioBroker Shelly Adapter Version hast du im Einsarz?
-
@Stuebi Die neueste Version, 3.0.8
Einen Tag später funktionierte es wieder. Der Adapter wird täglich früh morgens neugestartet. -
@srkonus , noch ein paar Fragen hätte ich:
- warum wird der Adapter neu gestartet? Stürzt dieser ab?
- Schaust Du einmal im Logfile nach, ob der Shelly Adapter irgendwann einen Fehler ausgibt?
- Weisst Du ob der Shelly Plug S ab und an eine neue IP Adresse erhält?
Ich habe auch den Shelly Plug S und bei mir werden die Power Werte immer angezeigt.
-
@Stuebi vielen Dank für die schnelle Antwort. Hier mein Versuch alles zu beantworten:
1: warum wird der Adapter neu gestartet? Stürzt dieser ab?
Der Adapter stürzt nicht ab. Nachdem ich das ganze eingerichtet hatte (meine mit Adapter 3.0.3 oder so) habe ich bemerkt das mein Script (Lastabhängiges schalten eines zweiten Plug S) wieder läuft wenn der Adapter neugestartet wurde. Da kam ich auf die Idee einen täglichen Neustart einzubauen2: Schaust Du einmal im Logfile nach, ob der Shelly Adapter irgendwann einen Fehler ausgibt?
Muss ich nachschauen3: Weisst Du ob der Shelly Plug S ab und an eine neue IP Adresse erhält?
Die IP wird als Reservierung vergeben, der Adapter hat immer die gleiche Adresse -
Hier 2 Screenshots meiner PlugS. Es hat gerade nicht funktioniert und über beide PlugS fließt gerade Strom. Die angezeigten 70W von Adapter PlugS-2 hätte den anderen einschalten sollen. Gestern Abend ging das an- sowie das ausschalten. Allerdings habe ich gestern später am Abend einen Adapter (PlugS-1) über die Shelly App einmal ein- und ausgeschaltet.
Im Logfile ist zum Zeitpunkt der "Fehlfunktion" kein Eintrag vom Shelly Adapter. -
@Stuebi Das ausschalten hat gerade auch nicht funktioniert, als ob das schalten über die Shelly App das System durcheinander gebracht hat
-
Wie schaltest du denn die Shellys über ioBroker? Es gibt dazu ein Issue, da hat jemand in den Datenpunkt Switch 1 oder 0 statt true/false (boolean) über VIS reingeschrieben (ohne das er es wusste). Damit hat er den Datenpunkt Switch komplett lahmgelegt.
Kann es daran liegen? -
@Stuebi Das ist mein Script in Java, erstellt habe ich es aber mit Blockly. Da ich auf der Arbeit bin und keinen Zugang nach Hause habe, kopiere ich das Script hier noch einmal rein. Hatte es irgendwann schon einmal hier gepostet:
on({id: "shelly.0.SHPLG-S#7AE7B6#1.Relay0.Power"/*Power*/, change: "ne", ack: true}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("shelly.0.SHPLG-S#7AE7B6#1.Relay0.Power").val > 20) { setState("shelly.0.SHPLG-S#7ADFCD#1.Relay0.Switch"/*Switch*/, true); } if (getState("shelly.0.SHPLG-S#7AE7B6#1.Relay0.Power").val < 50) { setState("shelly.0.SHPLG-S#7ADFCD#1.Relay0.Switch"/*Switch*/, false); } });
Ich möchte nicht ausschließen, das im Blockly 1/0 verwendet wird, aber das würde man in Java dann auch so sehen.
-
@srkonus , noch eine Frage, kannst Du denn wenn Du in ioBroker auf dem Reiter Objekte stehst, den Datenpunkt shelly.0.SHPLG-S#7ADFCD#1.Relay0.Switch schalten. Also nicht über Dein Blocky Skript?
-
@Stuebi Kann ich dir im Moment nicht sagen. Wüsste auch nicht, wie das geht
-
@srkonus , dafür gehst Du in ioBroker (Admin) auf den Reiter Objekte und suchst den Datenpunkt shelly.0.SHPLG-S#7ADFCD#1.Relay0.Switch . in der Spalte "Wert" kannst Du den Wert mit der Maus auf false/true setzen.
Versuche dieses einmal wenn Dein Blocky Skript bzw. der Shelly nicht mehr tut was es soll. Wenn Du den Wert im Datenpunkt änderst schaue in der Shelly Web App ob sich dort der Wert ändert (d.h. Schalter an/aus). Du kannst auch sicherheitshalber umgekehrt nachschauen. D.h. in der Shelly App den Wert ändern und dann den Inhalt im Datenpunkt shelly.0.SHPLG-S#7ADFCD#1.Relay0.Switch anschauen.
Sollten die Werte in dem Datenpunkt und Shelly Web App nicht identisch sein, deaktiviere einmal Dein Blocky Script (bitte nicht Shelly Adapter neu starten!) und ändere dann nochmals die Werte im Datenpunkt und in der Shelly App. Sind dann die Werte in der Shelly Web App und des Datenpunktes identisch? -
@Stuebi Vielen Dank für deine Antwort. Gerade hat das Script nicht gegriffen. Der Status des Value Switch ist auf true.
Habe das Script jetzt neugestartet, Mal schauen wie nachher beim ausschalten das Verhalten ist -
@Stuebi das ausschalten hat auch nicht geklappt
-
@srkonus , sobald Dein Script nicht greift, ändere den Status über den Datenpunkt shelly.0.SHPLG-S#7ADFCD#1.Relay0.Switch und starte nicht das Skript neu. Anschliessend über die Shelly App schalten und schaue ob die Steckdose schaltet und ob sich der Wert in shelly.0.SHPLG-S#7ADFCD#1.Relay0.Switch ändert.
Bist Du damit durch und der Wert von shelly.0.SHPLG-S#7ADFCD#1.Relay0.Switch und der in der Shelly App sind nicht gleich, deaktivierst Du dein Skript (nicht neu starten!!!) und versuchst dann nochmals die obere Prozedur. ich hätte dann gerne das Ergebnis.