NEWS
iobroker, MQTT und Shelly - Was geht wie?
-
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?
-
Ich kann nur sagen, dass es derzeit nicht geht. Es hat keine Auswirkungen wenn ich nach dem ersten true nach 5 Sekunden ein zweites true sende. Das Tor stoppt nicht.
Mir ist auch klar das das nicht mit MQTT zu tun hat. Die Frage ist ja, wenn über MQTT ein true gesendet wird, ob das sozusagen an der Schaltuhr vorbei geht.
Ich werde das nochmals testen aber dafür muss ich in die Garage.
@mickym sagte in iobroker, MQTT und Shelly - Was geht wie?:
Mit der App machst Du doch nichts anderes als immer wieder auf den EIN Knopf zu drücken? Wie bedienst du denn die App?
Richtig. Knopf drücken und ist aktiv (Relais schaltet), dann dreht sich dieser für eine Sekunden, um dann bbzuschalten und Relais öffnet.
-
@th-g Das siehst Du doch in der app. Wenn Du in der app - einschaltest und ein Timer eingeschaltet ist, dann nimmt doch der blaue Ring ab. Das wieder ausschalten macht der Shelly ja selbst.
Ansonsten kannst Du ja mit "on": true und "on": false - selbst ein und ausschalten. true und false bitte nicht in Anführungszeichen. sondern so wie ich das gepostet habe.
Wenn Du über mqtt- einschaltest, dann sollte in der app der Ring ja auch blau leuchten und dann abnehmen.
-
In der App wird nichts angezeigt wenn es über den iobroker ausgeführt wird.
-
@th-g Das ist komisch. Geht es denn wenn Du manuell EIN - und AUS schaltest?
-
Das Problem ist, wie schon vermutet, dass die Schaltuhr mit diesem JSON nicht angesprochen wird.
Sende ich ein true geht das Tor hoch aber das Relais bleibt angezogen und blockiert jede weitere Eingabe.
Sende ich dann ein false und danach wieder ein true fährt das Tor wieder runter. -
@th-g Na OK - dann funktioniert bei den Generation 2 der Timer halt wahrscheinlich per user - aber immerhin kannst Du mit manuellem EIN und Ausschalten das Tor erst mal schalten.
So nun lesen wir die Config aus.
{ "id": 1, "src":"user_1", "method":"Switch.GetConfig", "params": { "id":0 } }
und dann poste mal - ob den Response der dann zurück kommt.
Die Antwort hast Du dann unter user_1 im rpc Datenpunkt.
-
@mickym sagte in iobroker, MQTT und Shelly - Was geht wie?:
Die Antwort hast Du dann unter user_1 im rpc Datenpunkt.
{ "id": 1, "src": "shellyplus1-441793cda980", "dst": "user_1", "result": { "id": 0, "name": null, "in_mode": "detached", "initial_state": "off", "auto_on": false, "auto_on_delay": 60, "auto_off": true, "auto_off_delay": 1 }