[Modul] Shelly

Ah vielen Dank für die schnelle Antwort. Dann brauch ich mir keine Sorgen machen :slight_smile:

Klar, gerne :slight_smile:

Freu mich ja auch auf die Umsetzung

Ich habe, neben etlichen anderen Shelly’s, zwei Plus 1PM im Einsatz. Diese beiden stellten unvermittelt ihren Dienst ein und sendeten keine Daten mehr. Die ließen sich auch mit IPS nicht mehr ansprechen. Erst nachdem ich den Server Socket deaktiviert/aktiviert hatte, liefen sie wieder. Ist das schon jemand anderen passiert?

Gruß
Marc

Es gibt eine neue Beta Version, dort ist nun auch das ShellyTRV verfügbar.

Grüße,
Kai

Da kann ich leider nichts zu sagen, sorry.

Grüße,
Kai

Hey vielen Dank
hab das Modul installiert. Allerdings bekomme ich noch immer keine Werte angezeigt.
mqtt ist wie bei den anderen Shellys gleich eingestellt. COIOT ist ausgeschaltet.
Nach einem Neustart komm im Symcon folgendes an:

Aber keine Werte. Wisst ihr an was das noch liegen kann?

Habs gefunden. Nach Änderung von den MQTT sachen muss das Passwort in den Shelly Configs nochmal erneut eingegeben werden. Scheinbar übernimmt er sonst einfach die Sterne als Passwort :smiley:

Sehr gut.
Funktioniert es richtig? Kannst du alles einstellen?

Grüße,
Kai

Hallo Kai

Vielen Dank für die fixe Implementation! Das Einstellen der Zieltemperatur funktioniert problemlos, auch wenn die Geräte ein gewisse Latenz aufweisen. Ein kurzer Test mit dem Ein-/Ausschalten und Umschalten der Profile war auch erfolgreich.
Die „erreichbar“ Variable scheint nicht aktualisiert zu werden, obwohl die Geräte grundsätzlich dauerhaft im Netz erreichbar sind.
Nice2Have wäre auch noch das direkte Anlegen einer Variable für den Batteriestand, der als „bat“ im JSON String mitgesendet wird:

02/07/2022, 10:10:13 AM |  ReceiveData :: JSON | {"DataID":"{7F7632D9-FA40-4F3}","PacketType":3,"QualityOfService":1,"Retain":false,"Topic":"shellies/shellytrv-XXX/info","Payload":"{\"wifi_sta\":{\"connected\":true,\"ssid\":\"XXX\",\"ip\":\"XXX\",\"rssi\":-59},\"cloud\":{\"enabled\":false,\"connected\":false},\"mqtt\":{\"connected\":true},\"time\":\"10:10\",\"unixtime\":1644225010,\"serial\":0,\"has_update\":false,\"mac\":\"XXX\",\"cfg_changed_cnt\":0,\"actions_stats\":{\"skipped\":0},\"thermostats\":[{\"pos\":14.1,\"target_t\":{\"enabled\":true,\"value\":22.0,\"units\":\"C\"},\"tmp\":{\"value\":22.0,\"units\":\"C\",\"is_valid\":true},\"schedule\":false,\"schedule_profile\":1}],\"calibrated\":true,\"bat\":{\"value\":99,\"voltage\":4.082},\"charger\":false,\"update\":{\"status\":\"unknown\",\"has_update\":false,\"new_version\":null,\"old_version\":\"20220113-121848/v2.1.1@XXX\",\"beta_version\":null},\"ram_total\":97280,\"ram_free\":22304,\"fs_size\":65536,\"fs_free\":59556,\"uptime\":2582,\"fw_info\":{\"device\":\"shellytrv-XXX\",\"fw\":\"20220113-121848/v2.1.1@XXX\"},\"ps_mode\":0,\"dbg_flags\":0}"}

Beste Grüsse
Axel

Willst du mal die neue Beta Version testen?
Da sollte das mit der Batterie nun vorhanden sein. Ich kann es hier nicht testen, ich habe kein Gerät.

Grüße,
Kai

Ui, das ging ja fix. Die neuen Variablen werden angelegt, allerdings leider noch nicht befüllt. Im Message Log tickert folgendes durch:

02/07/2022, 11:05:16 AM | FlowHandler          | Kann Daten nicht zur Instanz #12358 weiterleiten: 
Fatal error: Uncaught Error: Cannot use object of type stdClass as array in /var/lib/symcon/modules/.store/info.schnittcher.ips.shelly/ShellyTRV/module.php:109
Stack trace:
#0 /-(3): ShellyTRV->ReceiveData('{"DataID":"{7F7...')
#1 {main}
  thrown in /var/lib/symcon/modules/.store/info.schnittcher.ips.shelly/ShellyTRV/module.php on line 109

Komme ich irgendwie an die vollständige Meldung oder kannst du damit schon was anfangen?

Grüsse
Axel

Kannst du es nochmal testen?

Grüße,
Kai

Jetzt passts. Vielen Dank!

Sehr gut, das freut mich.

Grüße,
Kai

Das wird über das „online“ MQTT-Topic des jeweiligen Shelly ausgelesen und jenes wird bei den meissten Geräten zum Verdruss der Anwender nur aktualisiert, wenn auch das „announce“ auf die Reise geschickt wird - also eigentlich nur, wenn sich der Shelly nach einem Reset neu am MQTT Server anmeldet

Ich hatte schon den Vorschlag gemacht, die Variable aus dem Plugin zu schmeissen weil sie für den Anwender völlig erratisch ist.

Man könnte natürlich aber auch folgendes machen :smiling_imp: Gelegentlich ein „shellies/command“ mit Payload „announce“ losschicken, dann meldet sich jeder Shelly mit allem was er hat (und natürlich „online=true“; alle anderen Geräte wären dann „false“).

Oder direkt am einzelnen Gerät mit „shellies/Shelly PLG Buero Kaffeemaschine/command“, dann könnte man als Plugin-Entwickler auch gleich aus dem „announce“ herauslesen, welcher Gerätetyp es konkret ist .

Moin,
das Feld „Online“ sagt nicht wirklich etwas aus.
Eine m.E. pragmatische Lösung wäre, eine Variable mit dem Zeitpunkt der letzten Statusmeldung.
So mache ich es zumindest bei anderen Systemen und bau mir eine Überwachung.
Viele Grüße
kea

Die Variable fliegt noch raus, die hatte ich einfach von einem anderen Modul mit kopiert.

Grüße,
Kai

Hi,
sorry, but …
Ich hab mal eine mumaßlich doofe Frage :frowning: :
Ich erstelle die Instanzen immer per Hand. mDNS scheidet bei mir wegen unterschiedlicher IP-Kreise aus (dafür konfiguriere ich kein Multicast-Routing :-). Die mqtt-ID kopiere ich mir einfach aus der /status Seite, funktioniert einwandfrei.
Nun haben die Topics im „MQTT-Konfigurator“ allerdings keine Instanz-ID. Lege ich diese von dort aus an, erscheinen diese im Objektbaum.
Nun die große Frage: Soll ich die Anlegen oder brauchts das nicht?
Vielen Dank und schöne Grüße
kea

Hi,
bei den reinen Batteriegeräten (Window/Button) könnten die gerne bleiben, dort stimmen diese auch immer.
Grüße
kea

Der MQTT Konfigurator hat mit meinem Modul nichts zu tun. :slight_smile:

Grüße,
Kai