NEWS
Shelly >= 10.0.0 mit verschlüsselten BLU-Geräten
-
Aktuelle Test Version 10.0.0 / 10.1.0 Veröffentlichungsdatum 30.05.2025 Github Link Bitte einfach über das Beta-Repo / npm installieren Nachdem ich ja bereits die Shelly-BLU Geräte mit einem Scripts in den ioBroker geholt habe, gibt es mal wieder ein größeres Update: Es werden ab Version 10.0.0 des Shelly-Adapters auch verschlüsselte Payloads unterstützt!
Dafür muss man den EcryptionKey (welchen man in der Shelly BLE Debug App bekommen hat) in den Objekten hinterlegen.
Komplette Video-Erklärung: https://www.youtube.com/watch?v=FubPHOsktbU
Neu ist auch, dass das Script deutlich kürzer geworden ist und somit nicht mehr zu Speicherplatz-Problemen auf Gen3-Geräten führt (da hat man für Scripting weniger Ressourcen dank Matter und co).
Ich würde mich über Feedback freuen, ob das alles bei euch klappt! Auch positives Feedback, wenn alles gut läuft! Ansonsten weißt ich ja gar nicht, ob das jemals jemand ausprobiert hat...
-
Ich finde @haus-automatisierung gebührt für diese Erweiterung ein GANZ GANZ großes Danke.
Für eine allfällige Diskussion zur BETA Release des Shelly Adapters rege ich an das schon länger existierende Topic für Shelly BETA / LATEST Releases
https://forum.iobroker.net/topic/80722/test-adapter-shelly-10-1-0-latest-beta
zu verwenden um parallele Threads zu minimieren.
Ev. kann man auch hier (mit dem obigen Querverweis) schließen oder dieses Topic mit dem dem existierenden verschmelzen. Als Extra Announcement hat es es auch eine gute Berechtigung.
Diese Entscheidung ist jedoch ausschließlich Sache von @haus-automatisierung.
-
@mcm1957 Ich würde mir schon Feedback zu genau diesem Thema wünschen - denn die ganze bthome Logik liegt nun im Shelly-Adapter und nicht mehr auf den Shellies selbst. Ich fürchte sonst, dass das niemand testen würde (wenn es nur den anderen Thread gibt mit Changelog).
-
@haus-automatisierung
OK alles klar - wie geschrieben deine Entscheidung -
@haus-automatisierung
Ich bekomme auf allen Shellys folgende Fehlermeldung mit dem Script 1.0✕ Uncaught ReferenceError: "unpackedData" is not defined at console.log('Received ' + JSON.stringify(unpackedData)); ^ in function called from system
Wenn ich:
console.log('Received ' + JSON.stringify(unpackedData));
auskommentiere
// console.log('Received ' + JSON.stringify(unpackedData));
Ist die Fehlermeldung weg und die Bluetooth Geräte laufen ohne Probleme.
Danke
Heiko
-
@eve11
Bitte verwende die aktuellste Version des scripts. Der Fehler im Script und seit heute auch der Link in der Tabelle sind schon korrigiert.P.S. Genau diese Zeile wurde entfernt.
EDIT
siehe auch hierhttps://forum.iobroker.net/topic/80722/test-adapter-shelly-10-1-0-latest-beta/24
und nachfolgende Posts.
-
@haus-automatisierung
Lieber Matthias,
vielen Dank für das Mega Update ich bin schon von Anfang an dabei als du BLE integriert hast. Habe alles gemacht wie in deinen Video bei einem Blue Botton und läuft alles perfeckt mir der EcryptionKey. Mega Mega
Vielen Dank herzliche Grüße aus Köln
Fabio -
Nachdem ich gestern Sorgen hatte, welche Kopfstände ich denn machen müsste, um mit dem Raspberry meine neuen Shelly Door/Window-Sensoren abzufragen, habe ich hier die Lösung gefunden, die den Host komplett schlafen lässt (hinsichtlich Bluetooth) und die Arbeit in die anderen Shellys verfrachtet.
Nach der Lektüre zum Thema ging das dann erstaunlich einfach, sobald das Skript in meinem Energiemesser gestartet war, hatte ich auch schon die ersten Datenpunkte unter
shelly.0.ble
.Über Nacht haben sich sogar die unausgepackten Sensoren aus dem Karton im Keller durch die Betondecke angemeldet.
Danke!
Wenn ich das richtig sehe, kann ich jetzt weitere Shellys mit dem Skript ausstatten, und die werden sich dann zu übertreffen versuchen, wer als erster neue Daten meldet, so dass Redundanz entsteht?
Zwei kosmetische Anmerkungen:
- In der Tabelle wäre es gut anzumerken, ob es tatsächlich eine 1:1-Zuordnung von Adapter- und Skript-Version sein muss, oder ob das neueste Skript auch einen älteren Adapter bedienen kann. Da kamen jedenfalls Warnungen im Log, nachdem ich dann auf 10.3.0 gegangen bin, sind die weg.
- der Datenpunkt
pid
hat den Namen "Von Geräten empfangen", das klingt so als hätten 57 Shellys etwas weitergemeldet. Laut Shelly ist das aber die Paket-ID, die in einem 8-Bit-Záhler die Pakete nummeriert, offenbar damit man weiss ob man das aktuellste gesehen hat, das entspricht auch meiner Beobachtung.
Encryption schaue ich mir später an, hielt aber das Topic mit dem aktuellen Release für den sinnvolleren Platz.
Shelly 10.3.0-alpha.3
Skript v1.2 -
@hardwarefehler sagte in Shelly >= 10.0.0 mit verschlüsselten BLU-Geräten:
In der Tabelle wäre es gut anzumerken, ob es tatsächlich eine 1:1-Zuordnung von Adapter- und Skript-Version sein muss, oder ob das neueste Skript auch einen älteren Adapter bedienen kann.
Kann theoretisch schon. Wird aber unnötig komplex. Daher passt immer nur genau eine Script-Version zu einer Adapter-Version und alle anderen werfen einen Fehler.
@hardwarefehler sagte in Shelly >= 10.0.0 mit verschlüsselten BLU-Geräten:
der Datenpunkt pid hat den Namen "Vor Geräten empfangen", das klingt so als hätten 57 Shellys etwas weitergemeldet.
Genau das passiert ja auch, wenn das Script auf mehreren Shellies läuft?!
-
@haus-automatisierung said in Shelly >= 10.0.0 mit verschlüsselten BLU-Geräten:
Genau das passiert ja auch, wenn das Script auf mehreren Shellies läuft?!
Momentan läuft es bei mir auf genau einem Shelly, trotzem zählt die PID mit jeder Meldung artig eins hoch, was der API-Doku entspricht.
BTHome sensor data objects 0x00 packet id uint8 1 revolving counter
-
@hardwarefehler sagte in Shelly >= 10.0.0 mit verschlüsselten BLU-Geräten:
Momentan läuft es bei mir auf genau einem Shelly, trotzem zählt die PID mit jeder Meldung artig eins hoch
Das ist ja auch richtig. Daran macht der ioBroker ja auch fest, ob er die Nachricht schon bekommen hat und fasst die gleiche Nachricht von mehreren Empfängern zusammen. Sonst würdest Du ja auch ggf. mehrere Events in einem Trigger bekommen. Das wäre ja unschön.
-
Genau. Mich irritiert ja nur der Name "Von Geräten empfangen". Meines Erachtens sollte das dann einfach "Paketnummer" heissen
-
@hardwarefehler Ach, jetzt verstehe ich das erst. Danke, ist ein Bug bzw. Copy/Paste Fehler. Korrigiere ich