NEWS
Shelly Adapter - genereller Support
-
@mcm1957 shellyPro3EMEF , auf den Shelly kann ich gerade nicht direkt schauen, da ich in Ägypten bin. Das WebUI ist auch das gleiche wie von einem Standard Pro3EM. Sage ja er ist entstanden aus einer Zusammenarbeit von Shelly und Ecoflow
-
@whity
schönen UrlaubSpezielle Shellies kann man natürlich auch versuchen in den Shelly Adapter aufzunehmen. Nur so wie ich es seh muss dieser Shelly zwingend via mqtt mit Ecoflow reden. Damit kann er nicht gleichzeitig mit dem Shelly Adapter reden.
-
Liebe Leut,
als Anfänger habe ich erfolgreich auf meinem Raspberry Pi 5 iobroker installiert und den Fronius Wechselrichter meiner PV-Anlage auf meinem Raspberry Pi 5 eingebunden. Aber beim Shelly Plug S Gen3 bin ich nach mehreren Tagen und verschiedenen Versuchen gescheitert.
Dem Plug S Gen3 kann ich über die App und meinen Firefox-Browser ansprechen.
Die MQTT-Settingings lauten wie folgt
Im Shelly Adapter (v10.2.0)
habe ich den Username, das Passwort und den Port 1882 übernommen.
Das Protokoll zeigt immer an, dass der Shelly Plug S Gen3 irgendwas beendet
Wenn mir bitte ein Spezialist auf die Sprünge helfen würde müsste ich mich nicht länger ärgern und wäre ihm ewig zur Dankbarkeit verpflichtet.
-
Lösche mal das „http://„ vor der IP:Port im Shelly
-
@migesch
Hier das Beipiel aus der SHelly Dokumentation:Der Shelly Plug beendet keinen Adapter. Ziemlich sicher hast du die ioBroker Einstellungen angegriffen und gespeichert. Dies Aktion restartet den Adapter. Das ist normal.
-
Vielen Dank wendy2702. Nachdem ich "http://" entfernt habe ist alles grün und mein Shelly Plug S Gen3 ist bei den Instanzen da.
Vielen Dank nochmals für deine Hilfe. -
Warum verwendet der Shelly Adapter eigentlich überhaupt einen eigenen MQTT-Broker und isoliert die Geräte damit von der übrigen MQTT-Welt?
-
@sabinet wieso isoliert? Du kannst doch deinen mqtt verwenden.
-
Komische Frage. Warum sind die "isoliert"? Ohne
@sabinet sagte in Shelly Adapter - genereller Support:
eigenen MQTT-Broker
braucht man doch den ganzen Adapter nicht.
Es steht Dir selbstverständlich frei einen Shelly über einen anderen (bereits vorhandenen) MQTT-Broker einzubinden. Dann brauchst Du den Adapter überhaupt nicht, musst dann aber die Datenpunkte selber aufbereiten. Im Standard kommt da nämlich ein JSON, was Du dann zerlegen musst. Der Adapter macht das alles out-of-the-box für den User und liefert dazu zusätzliche Features wie z.B. Summenbildung beim Shelly 3EM. Die fehlen beim normalen MQTT. Kann man aber natürlich auch alles selber mit standardisiertem MQTT machen. Das kann aber auch nicht jeder.
Außerdem können nicht alle Shelly-Generationen MQTT und Cloud parallel. Deswegen bietet der Adapter ja auch nicht nur MQTT als Anbindung.
-
-
@sabinet sagte in Shelly Adapter - genereller Support:
welchen Vorteil der eigene Broker bringen soll.
damit nicht
@sabinet sagte in Shelly Adapter - genereller Support:
isoliert die Geräte damit von der übrigen MQTT-Welt?
-
@homoran mit "eigenen Broker" meinte ich den vom Shelly Adapter!
-
@sabinet sagte in Shelly Adapter - genereller Support:
Ich frag mich halt nur, welchen Vorteil der eigene Broker bringen soll.
Du antwortest mir zwar, also muss ich annehmen dass Du auch gelesen hast. Nur mit dem Verstehen scheint es zu hapern. Anders ist diese (nochmalige) "Nachfrage" jedenfalls nicht zu erklären.
-
@samson71 nee, so einfach ist das anscheinend nicht.
mit der Zusatzinfo
@sabinet sagte in Shelly Adapter - genereller Support:
@homoran mit "eigenen Broker" meinte ich den vom Shelly Adapter!
und der vorangegangenen Frage(n) gibt es noch eine weitere, wahrscheinlich aber sehr komlizierte, Möglichkeit, die @sabinet möglherweise meinen könnte:
Der MQTT Broker liest auch die Shelly-topics aus, der Shelly Adapter zerlegt diese in Bestandteile.
Wenn das so einfach lösbar sein könnte, setzt das aber mindestens einen MQTT-Client im shelly-Adapter voraus.
und da stellt sich mir die Frage: Warum dann über den MQTT Broker, wenn die Restauswertung woanders stattfindet und das restliche MQTT Universum nichts davon hat.
-
@sabinet said in Shelly Adapter - genereller Support:
@samson71 @da_Woody so mach ich es ja auch (mit node-red).
Ich frag mich halt nur, welchen Vorteil der eigene Broker bringen soll.Du willst wissen warum der Shelly Adapter einen eigenen mqtt-broker eingebaut hat?
Kurze (und ein wenig provokante) Antwort:
Weil das bei der Entwicklung so entschieden und umgesetzt wurde.Längere Antwort:
Der integrierte mqtt Broker- erleichtert die Implementierung
- erleichter die Installation (nur ein Adapter und die Shellies können verbunden werden)
- User brauchen kein Wissen über mqtt, keine extra Installation eines weiteren Adapters oder einer externen Software
- User brauchen keine Kenntnis von json und / oder node-red um dedizieret States zu erhalten
Niemand zwingt jemand den Adapter zu verwenden. Wenn es jemand will und kann, dann kann er gernee einen externen Broker verwenden und die Daten selbt mit jeder geeigneten Software bearbeiten.
Falls es ein konkretes Problem gibt, dass ggF im Adapter behoben oder verbessert werden soll, dann gerne ein Issue im Repo anlegen. Die rein philosophische Diskussion warum etwas so und nicht anders umgesetzt wurde wenn möglich bitte zurückfahren oder in einnderes Topic verlagern. Supportbedarf sehe ich mit den vorhandenen Infos derzeit nicht. Sollte doch welcher gegeben sein, bitte klarer rausarbeiten.
Hab Homorans Antwort erst später gesehen:
Natürlich gibt es viele Wege zum Ziel. Der Shelly Adapetr könnte sich natürlich als Client an einen Broker hängen. Nur das erfordert mehr Aufwand und Kenntnis beim User (er muss einen Broker irgendwie aufsetzen) und im Shelly Adapter. Als Broker teilt ihm der Shelly aktiv mit was er zu sagen hat. Als Client muss der Adapter "auf Verdacht" subscriben da er nicht weiß was der Shelly denn zu sagen hat. Außerdem muss der Adapter die IP des Shellies dann anderweitig ermitteln da der Broker im Normalfall ja nur die mqtt Daten weiterleitet. Und der Adapter benötigt die IP des Shellies weil nicht die gesammte Kommunikation via mqtt erfolgt.Das nur als ein paar Beispiele. Und ja - es würde gehen. Wie geschrieben gibts meist mehrere Wege die zum Ziel führen. An eine Umstellung des Adapters ist derzeit aber definitiv nicht gedacht.
-
@mcm1957
Danke dafür. In sicher stark gekürzter Fassung habe ich genau das beschrieben bzw. zum Ausdruck bringen wollen. -
Hallo zusammen,
Nach dem ich meinen shelly Adapter auf die Version V10.1.0 gebracht habe,
funktionieren meine BLE Geräte nicht mehr.Habe auf den Shellys die BLE einlesen wie gefordert das Skript V1.0 integriert.
Fehlermeldung in den Logs das Skript V0.4 nicht mehr unterstütz wird ist weg.aber die zustände meine Shelly BLE Geräte ändert sich trotzdem nicht.
Stimmt mit dem Skript etwas nicht oder was mache ich falsch.?VG Patrick
// v1.0
const SCRIPT_VERSION = '1.0';
const BTHOME_SVC_ID_STR = 'fcd2';let SHELLY_ID = undefined;
function convertToHex(str) {
let hex = '';
for (let i = 0; i < str.length; i++) {
h = str.charCodeAt(i).toString(16);
hex += ('00' + h).slice(-2);
}
return hex;
}// Callback for the BLE scanner object
function bleScanCallback(event, result) {
// exit if not a result of a scan
if (event !== BLE.Scanner.SCAN_RESULT) {
return;
}// exit if service_data member is missing if ( typeof result.service_data === 'undefined' || typeof result.service_data[BTHOME_SVC_ID_STR] === 'undefined' ) { return; } // create MQTT-Payload let message = { scriptVersion: SCRIPT_VERSION, src: SHELLY_ID, srcBle: { type: result.local_name, mac: result.addr }, payload: convertToHex(result.service_data[BTHOME_SVC_ID_STR]) }; if (MQTT.isConnected()) { MQTT.publish(SHELLY_ID + '/events/ble', JSON.stringify(message)); }
}
// Initializes the script and performs the necessary checks and configurations
function init() {
// get the config of ble component
let bleConfig = Shelly.getComponentConfig('ble');// exit if the BLE isn't enabled if (!bleConfig.enable) { console.log('Error: The Bluetooth is not enabled, please enable it in the settings'); return; } // check if the scanner is already running if (BLE.Scanner.isRunning()) { console.log('Info: The BLE gateway is running, the BLE scan configuration is managed by the device'); } else { // start the scanner let bleScanner = BLE.Scanner.Start({ duration_ms: BLE.Scanner.INFINITE_SCAN, active: true }); if (!bleScanner) { console.log('Error: Can not start new scanner'); } } BLE.Scanner.Subscribe(bleScanCallback);
}
Shelly.call('Mqtt.GetConfig', '', function (res, err_code, err_msg, ud) {
SHELLY_ID = res['topic_prefix'];init();
});
-
@padi0-000
Es gab ein defekte V1.0 des scripts.Bitte versuch es mit der V1.1 des scripts.
https://github.com/iobroker-community-adapters/ioBroker.shelly/blob/master/docs/en/ble-devices.md#requirementsHinweis: Adapterversion 10.2.0 sollte auch ab moregn STABLE verfügbar sein.
-
Version 10.2.0 sollte ab morgen, 21.9.2025 im STABLE verfügbar sein.
-
@mcm1957 sagte in Shelly BLU Door funktioniert nicht mit Skript V1:
@padi0-000
Es gab ein defekte V1.0 des scripts.Bitte versuch es mit der V1.1 des scripts.
https://github.com/iobroker-community-adapters/ioBroker.shelly/blob/master/docs/en/ble-devices.md#requirementsHinweis: Adapterversion 10.2.0 sollte auch ab moregn STABLE verfügbar sein.
Ich habe es ausprobiert.
Es funktioniert nicht.Das der Door Kontakt etwas sendet, sehe ich daran, weil die shelys mit den Alten scripten dann sofort im Log erscheinen und darauf verweisen, dass Version 0.4 nicht mehr richtig ist.
Ich Lese meine Befele aus dem Shelly BLE aus falls das wichtig ist.
auch habe ich noch nichts verschlüsselt. ( soll ja ab Version 1.0 gehen.)Was soll mir dieser Satz sagen ?
"Seit Skriptversion v1.0 wurde die Verarbeitung der BLE-Nachricht auf ioBroker migriert. Ältere Versionen laufen möglicherweise nicht auf Gen3-Geräten, da sie mehr Ressourcen zum Entpacken der Bluetooth-Nachrichten benötigen."Ich muss mir damit es läuft Gen 4 Geräte kaufen ?