NEWS
Shelly 1PM Mini Gen3 geht nicht mit ioBroker
-
-
unter command gibt es bereits 2 DP's switch:0 und SYS
-
@rallef Ja aber in dem switch:0 Datenpunkt steht false - die commands sind aber "on", "off". Schreib das halt direkt in den Datenpunkt
-
-
@rallef ja und dann on oder off schreiben
-
@mickym yep hat funktioniert super vielen dank
-
warum der DP beim anlegen mit false generiert wurde ist verwirrend
-
@rallef Das liegt daran, dass irgendein Adapter - Alias oder keine Ahnung da was reingeschrieben hat. Normalerweise muss man diese Datenpunkte manuell anlegen, da der Shelly selbst nicht in Datenpunkte schreibt, auf die er hört. Wenn in dem Datenpunkt auf den der Shelly hört, halt was anderes drin steht, dann wird es ignoriert. Ich würde halt mal überprüfen, wenn wieder false oder true in den Datenpunkt schreibt, wer so was macht und dann dem Übeltäter den eliminieren.
Vielleicht hast Du ja auch ein Alias eingerichtet und nicht als Logikwert und/oder falsch Konvertierungsfunktion eingegeben.
-
@mickym habe nichts angelegt ist beim einrichten direkt automatisch so erstellt worden. Wie lautet nochmal im Blockly das symbol on/off, true false habe ich gefunden
-
@mickym habe es gefunden
-
@rallef Na dann schaltest Du mit dem Blockly true/false und schreibst nicht "on" oder "off"
-
@mickym ich möchte jetzt auch gerne den Verbrauch messen. Im Shelly Adapter gibt es den DP power. Kann ich den gleichen anlegen im MQTT und unter welchen Ordner?
-
@rallef Die Datenpunkte sind automatisch auch da- Bei der Generation 2 die Werte alle unter status switch:0 sein.
https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Switch#status
Musst halt ggf. über einen Alias oder über Deine Logikmaschine rausholen, wenn Du willst.
-
@mickym ok danke
-
@mickym Im Moment schalte ich meine beiden Gen3 per http.
Ich vermute, Du schaltest Deine Shellys mit dem MQTT-Adapter. Wo ist denn der Nachteil im Vergleich zum Shelly-Adapter?
-
@kylo-ren Wenn der Shelly Adapter Deine Geräte unterstützt, dann hast Du bei der Steuerung über MQTT den Nachteil, dass Du die Information gebündelt bekommst und Steuern und Status in unterschiedelichen Datenpunkten erfolgen. Oder andersrum ausgedrückt, hast Du mit dem Shelly Adapter den Vorteil, dass die JSON-Strings von den Adaptern in einzelne Datenpunkte zerlegt werden und Steuern und Status in einem Datenpunkt über das ACK Flag gesteuert werden.
Generell bevorzuge ICH (also subjektive Einschätzung) die Nutzung reinen MQTTs und nicht durch Adapter, da
die Shellies sowie auch andere Geräte sprechen halt "nativ" oder vom Werk aus MQTT sprechen und der Haupt-Vorteil der Adapter, die Informationen von JSON-Strings in einzelne Datenpunkte zu zerlegen, ist halt Ansichtsache und für mich nicht relevant (subjektive Einschätzung). Man kann das auch mit Alias DP oder mit seiner Logikmaschine extrahieren, wenn man es braucht. Der Nachteil der Adapter ist halt immer, dass sie ggf. hinterher hinken, weil sie ggf. nur das interpretieren können, was sie kennen. Sprich sollte ein Gerät halt was publishen, was der Adapter nicht kennt, dann musst Du halt warten bis der Entwickler dieses Gerät mit dem Adapter unterstürtzt. Also der Nachteil reines MQTT zu nutzen ist - wenn man so will - alleine, dass man sich mit JSON Objekten auseinandersetzen muss.Der Vorteil und deswegen nutzte ich für alle Geräte die Mqtt sprechen keine Adapter, dass Du alles in einer Schnittstelle vereint hast. So nutzte ich keinen Sonoff-Adapter für Tasmota, für Shellies keinen Shelly Adapter, für Zigbee keinen Zigbee-Adapter, für owntracks keinen Owntracks Adapter - da alles nativ mqtt spricht. Auch habe ich mir meine eigenen Schnittstelle via mqtt gebaut um mit meinen MAX Thermostaten zu sprechen, die über fhem vollständiger steuerbar sind, als mit iobroker, HomeAssistant, NodeRed etc. .
Zusammengefasst - in meinen Augen hast Du ausser, dass die JSON Strings in einzelnen Datenpunkte zerlegt werden, keine Vorteile mit den Adaptern. Für viele ist aber der Vorteil alles bereits in eigenen Datenpunkten zu haben und auch Steuern und Status in einem Punkt zu haben, Vorteil genug, um diese Adapter zu nutzen, da sie sich halt nicht mit JSON auseinandersetzen wollen. Der Vorteil/Nachteil reines MQTT zu nutzen ist außerdem die vorhandene gute/schlechte Dolumentation durch den Hersteller. Beim Adapter liegts am Entwickler, wie gut die Datenpunkte dokumentiert sind.
-
Frage an die MQTT Experten. Ich kann den Shelly über MQTT .../command/switch:0=on/off schalten. Wie mache ich das, dass ich die Auto OFF Zeit einstellen kann.
Ich habe einen turnaround über http der funktioniert:async function sendeCommand(IP, Befehl, Wert) { try { require("request")(`http://${IP}/rpc/Switch.SetConfig?id=0&config={%22${Befehl}%22:${Wert}}`).on("error", (e) => { console.error(e); }); } catch (e) { console.error(e); } }; await sendeCommand('192.168.xxxx','auto_off_delay',500);
Aber wie gehts über mqtt - werde aus der Anleitung nicht schlau.
-
@peterk34 Nun Du musst halt über Dein rpc topic - das entsprechende Objekt schicken.
{ "id": 0, "src": "mycommand", "method": "Switch.SetConfig", "config": { "auto_off_delay":500 } }
So müsste es nach meinem Verständnis gehen.
Vielleicht geht auch ohne config objekt direkt.
{ "id": 0, "src": "mycommand", "method": "Switch.SetConfig", "auto_off_delay":500 }
Musst halt beides ausprobieren - eins wird schon funktionieren.
-
Guten Abend Zusammen,
Ich habe mir aus versehen einen Shelly plus 1 Mini der 3. Generation gekauft und leider erst hinterher feststellen müssen, das dieser vom Shelly Adapter noch nicht unterstützt wird. Deshalb habe ich den Kleinen über MQTT angebunden und kann diesen lesen, als auch über den Datenpunkt steuern:
Wenn ich "on" in diesem Datenpunkt auf false setzen, dann schaltet der Shelly.
Jetzt hapert es bei mir allerdings daran, das ich über node-red das ganze nicht angesteuert bekomme. Ich habe versucht mich hier durch das Forum zu lesen,aber meine node-red Erfahrungen sind doch recht Mau.
Ich habe aber zumindest die MQTT Anbindung hinbekommen (zumindest zeigt er mir für das Senden an, das er verbunden ist), und lesen kann ich auch, aber das senden klappt irgendwie nicht:Letztendlich steht in dem inject doch genau das drin, was auch in dem Datenpunkt drin steht. Aber wenn ich das inject "false" ausführe, dann passiert nichts am Shelly.
Wo ist mein Denkfehler? Kann mir vielleicht einer Erklären, wie ich hier vorgehen muss?Vielen Dank schon mal im Voraus und viele Grüße
UPDATE: Genau zwei Minuten nach dem Post hab ich was endeckt und es funktioniert jetzt auch:
Ich hatte das /rpc vergessen, somit war natürlich überhaupt kein Bezug zum Datenpunkt gegeben
Vielleicht hilft das ja irgend jemandem mal!
-
@noidea Nein - was möchtest du denn machen - Du willst doch einfach schalten und keine Konfiguration ändern.
Steht doch alles in der Doku: https://shelly-api-docs.shelly.cloud/gen2/Devices/Gen3/ShellyMini1G3
Du brauchst auch nicht den RPC Datenpunkt
<topic_prefix>/command/switch:0
Einfach in dieses topic "on,off oder toggle" reinschreiben
Das rpc topic funktioniert zwar generell für alles - aber zum einfachen Schalten braucht man den nicht mehr. (war nur in der Anfangszeit so)