NEWS
iobroker, MQTT und Shelly - Was geht wie?
-
@th-g Du musst noch einen Datenpunkt selbst anlegen.
Ach so warte mal die shelly 1 plus - sind ja die der 2. generation. da musst du den rpc datenpunkt anlegen.
-
Ok aber ich stehe gerade dem Schlauch und kannst du mir bitte sagen, was ich wie wo machen muss?
mqtt.0.shellyplus1-Garagentor.events.rpc hier sehe ich den Status
-
@th-g Du musst eine rpc Datenpunkt anlegen unter dem Gerät - ich such mal hier im Forum - Ja Du musst direkt glaub unter Garagentor noch einen Datenpunkt rpc erstellen - und über den kommunzierst du.
Da schreibst dann
{ "id": 2, "src":"user_1", "method":"Switch.Set", "params": { "id":0, "on":true } }
Eventuell. brauchst unter den params nur die on eigenschschaft.
Ja ist id:0 - hier habe gibst auch einen Thread dazu: https://forum.iobroker.net/post/695061
Wie gesagt den rpc Datenpunkt direkt über den Admin erstellen.
Also direkt unter Garagentor:
mqtt.0.shellyplus1-Garagentor.rpc
Wie gesagt Expertenmodus einstellen:
Falls Dein plus ausgegraut ist musst Du oben drüber gehen und dann den Pfad mit punkt eingeben.
-
Ich habe nun einen JSON DP wie folgt angelegt.
Das steht in den Objektdaten:
{ "common": { "name": "Neuer Zustand", "desc": "Manuell erzeugt", "role": "state", "type": "json", "read": true, "write": true }, "type": "state", "native": {}, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1677095544892, "_id": "mqtt.0.shellyplus1-Garagentor.events.Neuer_Zustand", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Wo füge ich jetzt deine Daten ein?
-
@th-g Also das Neuer_zustand kannst wieder löschen - du schreibst den JSON in deinen rpc Datenpunkt rein - aber nicht unter events sonder darüber.
Da schreibst den JSON rein:
-
@mickym sagte in iobroker, MQTT und Shelly - Was geht wie?:
Ja kein Problem - beim mir laufen alle Shellies über MQTT wie geschmiert.
Finde solche Aussagen immer Interessant. Klar läuft das. Aber: Den Shelly Adapter installiert man, liest kurz die Doku und konfiguriert alles so. Selbst als Einsteiger ist man (ohne etwas mit Topics oder JSON zu tun zu haben) in 5min fertig.
Jetzt kann man das alles natürlich noch einmal selbst implementieren und die Topics selbst zerlegen und die Payloads zusammenbauen und auf die richtigen Topics publishen um die Geräte anzusteuern. Aber da sitzt man sehr sehr viel länger dran, liest lange in der Shelly API-Dokumentation und muss sich wirklich mit dem Thema auseinandersetzen.
Das sollte jedem klar sein. Also 5min vs. mehrere Stunden.
Ich gucke hier mal zu, wie lange es dauert, bis das per MQTT mit allen benötigten Features bei @TH-G läuft -
@haus-automatisierung Keine Ahnung warum das nun sein muss - es gibt Vor- und Nachteile diese Adapter zu nutzen. Nachteil ist eben, wie man an dem neuesten Thread wieder sieht: https://forum.iobroker.net/topic/63285/mqtt-adapter-für-shellys
EDIT: Ich will doch Deine Arbeit nicht klein reden - aber es ist eine Philosophiefrage. Die Nutzung des Shellie Adapters mit Vor- und Nachteilen steht ja jedem offen. Wie gesagt man ist halt immer darauf angewiesen, dass jemand diese Adapter pflegt und imm aktuell hält. Das ist halt mit reinem MQTT nicht der Fall.
Das sollte jedem klar sein. Also 5min vs. mehrere Stunden.
Wenn man einmal weiß wie es geht, dann hat man das genauso schnell bei anderen Geräten drin. Mag ja sein, dass es das erste Mal länger dauert.
Gut ich habe keine Generation 2 Geräte - aber bei mir tut alles.
-
Habe den DP nun wie folgt angelegt. Ist das nun so richtig?
-
@th-g Nein der rpc Datenpunkt der ist schon da - warum auch immer. hab ihn doch grün markiert. In diesen RPC Datenpunkt schreibst Du einfach den JSON rein.
-
Ah ok.
Das kann man mit dem rpc im Shelly einstellen.
Das steht dort als Obejektdaten:
{ "_id": "mqtt.0.shellyplus1-Garagentor.rpc", "common": { "name": "shellyplus1-Garagentor/rpc", "write": true, "read": true, "role": "variable", "desc": "mqtt server variable", "type": "string" }, "native": { "topic": "shellyplus1-Garagentor/rpc" }, "type": "state", "from": "system.adapter.mqtt.0", "user": "system.user.admin", "ts": 1677059163285, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Das alles ersetze ich jetzt durch deine Daten?
-
@th-g Nein - in dem Datenpunkt steht doch nichts drin. Und nicht die Objektdaten - nicht den Bleistift anklicken, sondern einfach den Wert (null) - doppelklicken und dann bekommst Du eine Eingabemaske. Einfach dahin Doppelklicken wohin der grüne Pfeil zeigt - nicht den Bleistift!!!
-
-
@th-g Genau und bei dem on:true oder on:false - schaltest Du ein und aus. Den Datentyp (Wertetyp) kannst noch auf JSON umstellen. Wichtig ist, dass du den Wert nicht bestätigt schickst - also nicht den Haken rein machen. Klappts denn?
-
Wenn ich die JSON Zeilen da reinkopiere und dann Wert schreiben klicke fährt das Tor hoch. Mehr kann ich noch nicht machen.
Wie ist denn die Logik. Shelly ist als Schalter konfiguriert. Die Schaltuhr steht auf "Wenn eingeschaltet nach 1 Sekunde ausschalten.
Also muss ich doch im VIS den Schalter nur mit true konfigurieren oder?
-
@th-g Ein Shelly 1 kann doch nur ein oder aus geschaltet werden. Du solltest doch erst mal schauen, wie das mit ein und ausschalten über den datenpunkt funktioniert.- VIS kommt erst viel später. Also sag erst mal on das mit dem Ein- und Ausschalten über den JSON so geht.
So wie Du im Shelly konfiguriert hast. schaltet der EIN und nach 1 Sekunde wieder aus. Somit tut der Shelly ja erst mal. Im VIS schickst Du wahrscheinlich nur ein true - weil ein Schalter nichts anderes kann. Entweder machst Du alles über Deine Logikmaschine - oder Du nutzt einen Alias.
-
Es gibt ja kein Ein und Ausschalten. Deswegen ja die Schaltuhr. Das Hörmann Tor braucht einen kurzen Impuls.
Impuls = hoch
Impuls = stop
Impuls = runterAktuell geht beim ersten Auslösen das Tor hoch und mehr kann ich nicht machen, da es nicht geht.
Wird denn bei einem true die Schaltuhr im Shelly berücksichtig oder ist das ein direkter Befehl für das Relais.
-
@mickym Ich dachte wenn der Shelly einschaltet - hoch - dann schaltetst Du ihn quasi nochmal ein dann stoppt er oder wie funktioniert das?
Ich würde erst mal schauen, ob Du mit der Shelly App - das Tor so steuern kannst wie Du es willst. Der Shelly kann ja nur ein oder ausgeschaltet werden. Keine Ahnung ob Du damit ein Tor steuern kannst. Probiere es erst mal mit der App oder über den Browser
-
Die App geht und funktioniert sehr gut
-
@mickym sagte in iobroker, MQTT und Shelly - Was geht wie?:
Ich dachte wenn der Shelly einschaltet - hoch - dann schaltetst Du ihn quasi nochmal ein dann stoppt er oder wie funktioniert das?
Richtig
-
@th-g sagte in iobroker, MQTT und Shelly - Was geht wie?:
Die App geht und funktioniert sehr gut
Gut dann sollte doch wenn du auf true schaltest - der Shelly sich nach einer Sekunde wieder ausschalten. Das hat mit mqtt nichts zu tun. Sprich wenn Du über mqtt einschaltest, solltest Du doch sehen, wie der Shelly in der App einschaltet und sich automatisch ausschaltet. Die Funktion, dass nach 1 Sekunde wieder ausgeschaltet wird, ist alleine eine Funktion des Shellies und hat nichts mit der Ansteuerung zu tun.
Das true Schicken ist doch nichts anderes als den Shelly einzuschalten. Ausschalten mach t der Shelly selbst über die timer Funktion.
Mit der App machst Du doch nichts anderes als immer wieder auf den EIN Knopf zu drücken? Wie bedienst du denn die App?