NEWS
[Aufruf] Test Shelly Adapter
-
Ich habe den shelly Adapter nochmal komplett gelöscht und neu installiert. Bei der Installation kommt folgendes:
$ ./iobroker add shelly --host WIN2016 NPM version: 6.4.1 npm install iobroker.shelly --production --save --prefix "/opt/iobroker" (System call) npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/es6-set/package.json'npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/event-emitter/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/npmlog/package.json' npm WARN enoent ENOENT: no such file or directory, open '/opt/iobroker/node_modules/es6-map/package.json' npm WARN optional SKIPPING OPTIONAL DEPENDENCY: osx-temperature-sensor@1.0.3 (node_modules/osx-temperature-sensor): npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for osx-temperature-sensor@1.0.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"}) host.WIN2016 install adapter shelly got /opt/iobroker/node_modules/iobroker.shelly/admin upload [2] shelly.admin /opt/iobroker/node_modules/iobroker.shelly/admin/words.js words.js application/javascript upload [1] shelly.admin /opt/iobroker/node_modules/iobroker.shelly/admin/shelly.png shelly.png image/png upload [0] shelly.admin /opt/iobroker/node_modules/iobroker.shelly/admin/index_m.html index_m.html text/html host.WIN2016 object system.adapter.shelly created host.WIN2016 create instance shelly host.WIN2016 object shelly.0.info.connection created host.WIN2016 object shelly.0.info created host.WIN2016 object system.adapter.shelly.0.outputCount created host.WIN2016 object system.adapter.shelly.0.inputCount created host.WIN2016 object system.adapter.shelly.0.uptime created host.WIN2016 object system.adapter.shelly.0.memRss created host.WIN2016 object system.adapter.shelly.0.memHeapTotal created host.WIN2016 object system.adapter.shelly.0.memHeapUsed created host.WIN2016 object system.adapter.shelly.0.connected created host.WIN2016 object system.adapter.shelly.0.alive created host.WIN2016 object system.adapt
-
@Sascha-Tiedemann , sind erst einmal nur warnings. Erst einmal nicht beachten. Wichtig ist, dass der Shelly Adapter nicht mehrfach läuft.
-
Ich habe iobroker gestopt und wieder neu gestartet.
Jetzt kommt kein Fehler mehr im Log, dass es doppelt läuft.
Einen Restart von iobroker habe ich bestimmt schon 5 Mal gemacht. Ohne Erfolg.Der Adapter (jetzt Version 3.0.7) scheint nun fehlerfrei zu laufen.
Durch das löschen des Adapters sind nun aber keine Objekte zu shelly da.Er findet bisher nichts von allein. Muss ich da noch was machen?
-
@Sascha-Tiedemann , hast du in der Shelly Adapter Konfiguration unter Instanzen CoAP stehen? Dann musst nichts tun. Die Shellys werden automatisch erkannt.
Wenn das nicht der Fall ist, hast Du irgendetwas an Deinem Netzwerk verändert wie z.B. neuer Switch, Router, IP Adressen, ... -
Genau. Es ist die Standard-Konfig mit CoAP und http.
Ich kann alle Shellys über deren IP erreichen (WebIF).
Alles sind nach wie vor im Netzwerkbereich 192.168.0.xxx, wie auch der iobroker ServerEs werden keine shellys gefunden.
Alles shellys haben die neuste Firmware 20190711-084053/v1.5.0-hotfix4@3b4f7414
Der Discovery Adapter findet alle shellys. Hilft aber für den shelly Adapter nicht weiter.
-
@Sascha-Tiedemann , auch wenn Deine Shellys über http erreichbar sind, heißt es nicht, dass diese auch über CoAP erreichbar sind. CoAP nutzt Multicast. Wenn die Shellys nicht gefunden werden, liegt es z.B. an unterschiedliche Subnetze, an Deinem Netzwerkinterface von ioBroker Server, Switches, Router, ....
Um zu sehen ob CoAP funktioniert, kannst Du z.B. einmal den Shelly Adapter stoppen (darf nicht laufen!!!!) und dann folgendes ausführen:cd /opt/iobroker/node_modules/iobroker.shelly node coaptest.js
Nun sollten Deine Shellys zu sehen sein. Wenn nicht, dann suche einmal den Fehler im Netzwerk bei Dir. Kannst auch einmal versuchen ein Hardware Reset bei einem Shelly durchzuführen.
Wenn Du den Shelly Adapter wieder startest, darfnode coaptest.js
nicht mehr laufen. -
da kommt nur:
undefined
UDP Server listening on 0.0.0.0:5683 -
@Sascha-Tiedemann , es werden keine CoAP Pakete (Multicast) Pakete in Deinem Netzwerk von den Shellys an Deinen ioBroker Server weitergeleitet. Da musst Du jetzt den Fehler bei Dir suchen.
Hat nichts mit ioBroker zu tun.Als erstes würde ich testweise bei einem Shelly einen Hardware Reset durchführen.
-
GEFUNDEN!
Da ich iobroker auf einem Windows Server betreibe war der UDP Port 5683 durch die Windows Firewall gesperrt.
Gibt man den frei funktioniert auch allesDas muss aber neu sein. Bisher war diese Freigabe nicht nötig.
Habe das Ganze schon fast ein Jahr so laufen.Mein Problem hätte ich alleine nie gelöst!!!
Vielen Dank für eure Hilfe! -
Hallo,
es gibt eine neue Version des Shelly Adapter (3.0.8). Unterstützt wird nun auch der Shelly EM. Ich hoffe jemand von Euch hat diesen im Einsatz und kann ordentlich testen. Besonders der Wert Power Factor (PF) interessiert mich. Dieser wird nicht vom Shelly geliefert, sondern muss berechnet werden. Ich hoffe ich habe das richtig umgesetztHier die Neuerungen in der Version 3.0.8
- Add device Shelly EM
- Add state energy for Shelly Plug S, Shelly PM and Shelly 2.5 in CoAP mode
- Add state temperature for Shelly Plug S, Shelly PM and Shelly 2.5 in CoAP mode
- Add state overtemperature for Shelly Plug S, Shelly PM and Shelly 2.5 in CoAP and MQTT mode
- Bugfixing
Die Version steht auf GitHub ab sofort zur Verfügung, als Update bei den Adaptern wahrscheinlich morgen.
VG
Stübi -
Ich habe täglich wenn die Rollläden hoch/runter fahren folgenden Fehler im Log:
2019-07-28 21:23:59.719 - [32minfo[39m: shelly.0 Error handling Shelly data: SyntaxError: Unexpected token P in JSON at position 420 for JSON {"blk":[{"I":0,"D":"Relay0"},{"I":1,"D":"Relay1"},{"I":2,"D":"Device"}],"sen":[{"I":112,"T":"S","D":"State","R":"0/1","L":0},{"I":122,"T":"S","D":"State","R":"0/1","L":1},{"I":111,"T":"W","D":"Power","R":"0/3680","L":2},{"I":113,"T":"S","D":"Position","R":"0/100","L":2}],"act":[{"I":211,"D":"Switch","L":0,"P":[{"I":2011,"D":"ToState","R":"0/1"}]},{"I":221,"D":"Switch","L":1,"P":[{"I":2021,"D":"ToState","R":"0/1"}]}]}P 2019-07-29 21:23:01.705 - [32minfo[39m: shelly.0 Error handling Shelly data: SyntaxError: Unexpected token ` in JSON at position 420 for JSON {"blk":[{"I":0,"D":"Relay0"},{"I":1,"D":"Relay1"},{"I":2,"D":"Device"}],"sen":[{"I":112,"T":"S","D":"State","R":"0/1","L":0},{"I":122,"T":"S","D":"State","R":"0/1","L":1},{"I":111,"T":"W","D":"Power","R":"0/3680","L":2},{"I":113,"T":"S","D":"Position","R":"0/100","L":2}],"act":[{"I":211,"D":"Switch","L":0,"P":[{"I":2011,"D":"ToState","R":"0/1"}]},{"I":221,"D":"Switch","L":1,"P":[{"I":2021,"D":"ToState","R":"0/1"}]}]}`E
An sich funktioniert alles. Ist mir eben nur durch Zufall aufgefallen.
-
@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.