NEWS
[Aufruf] Test Shelly Adapter
-
@tstueben:du hast im State Switch "on" stehen statt true / false (boolean!!) `
Ich habe es jetzt geändert, leider ohne Erfolg! Das Relaie schaltet trotzdem nicht.
-
@tstueben:du hast im State Switch "on" stehen statt true / false (boolean!!) `
Ich habe es jetzt geändert, leider ohne Erfolg! Das Relaie schaltet trotzdem nicht.
filename="14.JPG" index="0">~~ `Sieht so aus, das du true als String (a-z) und nicht als Boolean reinschreibst.
~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201810 ... c8cf0c.png">https://uploads.tapatalk-cdn.com/20181019/16e4c104ec4e7d1eb42925d3c0c8cf0c.png</link_text>" />
Gesendet von iPhone mit Tapatalk~~
-
@tstueben:@tstueben:du hast im State Switch "on" stehen statt true / false (boolean!!) `
Ich habe es jetzt geändert, leider ohne Erfolg! Das Relaie schaltet trotzdem nicht.
14.JPG `
Sieht so aus, das du true als String (a-z) und nicht als Boolean reinschreibst.
~~![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201810 ... c8cf0c.png">https://uploads.tapatalk-cdn.com/20181019/16e4c104ec4e7d1eb42925d3c0c8cf0c.png</link_text>" />
Gesendet von iPhone mit Tapatalk~~ ` ~~Welchen switch verwendest du?
Bei mir ist da kein boolean drin.
~~ -
Welchen switch verwendest du?
Bei mir ist da kein boolean drin. `
ich nutze node red überhaupt nicht. mir ist nur aufgefallen, dass Du in node red den Datentyp String nutzt und der Status shelly.0.SHSW-1#xxxxxx#1.Relay0.Switch in ioBroker für den Shelly ein Boolean erwartet. Das kann nicht funktionieren. Du musst boolean Werte liefern. Es bringt auch nichts, wenn Du in ioBroker den Datentyp auf String/Text etc. änderst. Ich wette mit Dir, wenn Du in ioBroker ohne node red die Werte für den Status shelly.0.SHSW-1#xxxxxx#1.Relay0.Switch änderst (true/false), der Status des Shelly sich wie es soll ändert.
-
Hier mal eine erweiterte Zeitschaltung für den Flur z.B.
Funktionen:
1.) Licht wird nach x Minuten automatisch wieder ausgeschaltet.
2.) Das automatische Ausschalten nach X Minuten kann man deaktivieren, in dem man den bzw. einen der Wandschalter innerhalb 2 Sekunden einschaltet, ausschaltet, und wieder einschaltet.
Aufruf-Beispiel, die 1.5 stehen für 1,5 Minuten (also 90 Sekunden):
M_Shelly_Timeout('shelly.0.SHSW-1#XXXXXX#1', 1.5);
Skript:
/****************************************** * Shelly-Zeitschaltung, Funktionen: * 1\. Nach x Minuten (z.B. 1.5 für 90 Sekunden) wird automatisch das Licht wieder ausgeschaltet. * 2\. Wird innerhalb von 2 Sekunden der Schalter ein, aus, und wieder eingeschaltet, so bleibt das Licht an! * * @param {string} shellyId State ID to Shelly, e.g. 'shelly.0.SHSW-1#XXXXXX#1' * @param {number} lightOffTimer in minutes: for how long should we keep the light on? * ******************************************/ function M_Shelly_Timeout(shellyId, lightOffTimer) { /** Config **/ const TIME_FOR_ACTIVATE_MS = 2000; // Millisekunden: wie schnell muss man noch mal aus- und einschalten, damit das Licht an bleibt? /** A few constants and variables **/ const ID_SWITCH = shellyId + '.Relay0.Switch'; const DEV_NAME = getState(shellyId + '.hostname').val; var objRegularTimeout; /** We use these to find out if state changed within x number of seconds **/ // inspired by https://forum.iobroker.net/viewtopic.php?t=9226 var objTimeoutTrigger; // Zweiter Behelfs-Timer var btnActivatedBefore = false; // Hils-Variable /** Main part **/ on({id: ID_SWITCH, change:'any', ack:true}, function (obj) { if (obj.state.val === false) { // Beim Ausschalten entfernen wir den Timeout, da er sonst bei zwei mal schnell einschalten zwei mal gesetzt ist. clearTimeout(objRegularTimeout); } else { // Wenn Licht angeschaltet wird, schalten wir es nach x Minuten (lt. lightOffTimer) wieder aus. objRegularTimeout = setTimeout(function () { setState(ID_SWITCH, false); log(DEV_NAME + ': wieder ausgeschaltet aufgrund Timeout nach ' + lightOffTimer + ' Minuten.'); }, 1000 * 60 * lightOffTimer); // Im folgenden prüfen wir, ob der Licht zwei mal innerhalb TIME_FOR_ACTIVATE_MS Millisekunden eingeschaltet wurde. // Prüfen ob schon einmal innerhalb x Sekunden eingeschaltet wurde anhand Variable btnActivatedBefore if (btnActivatedBefore === false) { // noch nicht geschaltet, also setzen wir auf true und den timeout btnActivatedBefore = true; objTimeoutTrigger = setTimeout(function () { btnActivatedBefore = false; }, TIME_FOR_ACTIVATE_MS); } else { // Der Schalter wurde zweimal innerhalb TIME_FOR_ACTIVATE_MS eingeschaltet. // 1\. Hils-Timeoutobjekt wieder deaktivieren clearTimeout(objTimeoutTrigger); // 2\. Automatisches ausschalten deaktivieren clearTimeout(objRegularTimeout); btnActivatedBefore = false; log(DEV_NAME + ': Automatisches Ausschalten wurde aufgrund zweifach hintereinander Einschalten deaktiviert.'); } } }); }
-
Hallo,
Ich habe den Adapter nun schon seit ca. 3 Wochen mit (aufgrund der Lieferschwierigkeiten) erst einem Shelly 1 in Verwendung.
Läuft soweit!
Nun würde ich gern mehrer shelly in einem Raum miteinander über ein Skript koppeln. Sollte so laufen, dass wenn ein Taster lange gedrückt wird, die anderen Geräte (Lampen) mitgeschaltet werden.
Natürlich sollte jeder Shelly auch separat geschalten werden und auch unabhängig von einer aufrechten wlan Verbindung arbeiten können.
Wäre es mit dem Adapter möglich, den am Shelly angeschlossenen Taster (Eingang SW) auszuwerten?
Also nicht den aktuellen power state vom Relais sonder ob der Schalteingang gerade 1 od. 0 ist.
LG Thomas
-
Du müsstest schauen welcher der Schalter-Modi in der App das macht was Du willst -" an wenn Strom fliesst,Aus wenn nicht". Dann könntest Du mit einem Skript in ioBroker die Änderungen des Schaltzustands monitoren und die Zeit messen … ob/wie akkurat das ist musst Du dann sehen
-
Nun würde ich gern mehrer shelly in einem Raum miteinander über ein Skript koppeln. Sollte so laufen, dass wenn ein Taster lange gedrückt wird, die anderen Geräte (Lampen) mitgeschaltet werden. `
Ich habe in der Shelly Facebook Gruppe gelesen, das deine gewünschte funktion in den nächsten Firmware updates integriert werden soll. Also die möglichkeit einen langen Tastendruck von einem kurzen zu unterscheiden. Finde den Beitrag gerade nicht.
-
Wäre es vielleicht möglich den Status für das automatische Ausschalten auszulesen und in IoBroker zu übertragen bzw. ihn dort zu ändern?
Ich würde gerne 2 Shelly 1 in meinem Treppenhaus verbauen und diese dann beispielsweise nach 10 Minuten immer automatisch aus schalten lassen. Das kann man ja über die Shelly App einstellen. Jetzt würde ich aber gerne dafür einen Datenpunkt haben den ich ändern kann. Um genau zu sein würde ich gerne z.B. sagen "Alexa, Timer aus" und damit soll das automatische Abschalten nach 10 Minuten deaktiviert sein damit ich auch mal etwas länger putzen kann oder irgendwas was länger dauert.
Ich habe bei meinem Shelly in den Objekten ein Datenpunkt Timer. Der scheint aber für was anderes zu sein. Ich habe nur noch nicht rausgefunden wofür. Wenn ich in der App eine Zeit zum automatischen Ausschalten eintrage passiert bei dem Datenpunkt zumindest nichts.
Könntet ihr vielleicht den passenden Datenpunkt für mein Anliegen hinzufügen, wenn es den möglich ist?
-
Wäre es vielleicht möglich den Status für das automatische Ausschalten auszulesen und in IoBroker zu übertragen bzw. ihn dort zu ändern?
Ich würde gerne 2 Shelly 1 in meinem Treppenhaus verbauen und diese dann beispielsweise nach 10 Minuten immer automatisch aus schalten lassen. Das kann man ja über die Shelly App einstellen. Jetzt würde ich aber gerne dafür einen Datenpunkt haben den ich ändern kann. Um genau zu sein würde ich gerne z.B. sagen "Alexa, Timer aus" und damit soll das automatische Abschalten nach 10 Minuten deaktiviert sein damit ich auch mal etwas länger putzen kann oder irgendwas was länger dauert.
Ich habe bei meinem Shelly in den Objekten ein Datenpunkt Timer. Der scheint aber für was anderes zu sein. Ich habe nur noch nicht rausgefunden wofür. Wenn ich in der App eine Zeit zum automatischen Ausschalten eintrage passiert bei dem Datenpunkt zumindest nichts.
Könntet ihr vielleicht den passenden Datenpunkt für mein Anliegen hinzufügen, wenn es den möglich ist? `
Der Datenpunkt Timer macht genau das. Wenn der Datenpunkt Switch == false ist und Du dann beim Timer z.B. 10 Sekunden einträgst und dann den Datenpunkt Switch auf true setzt, geht das Licht für 10 Sekunden an. Nach 10 Sekunden wird der Wert vom Datenpunkt Switch wieder auf false gesetzt und das Licht geht aus.
-
Also bei mir ist der Datenpunkt anscheinend ohne Funktion.
Ich habe zum testen in der App den Timer auf 15 Sekunden gestellt. Das Licht geht jetzt auch nach 15 Sekunden aus. Aber in dem Datenpunkt steht immer noch 0 s. Der Datenpunkt Switch ändert sich aber brav von false auf true oder umgekehrt. Also arbeitet der Adapter ja prinzipiel mit dem Shelly.
Jemand ne Idee? Liegt es vielleicht an der Firmware oder so?
-
Also bei mir ist der Datenpunkt anscheinend ohne Funktion.
Ich habe zum testen in der App den Timer auf 15 Sekunden gestellt. Das Licht geht jetzt auch nach 15 Sekunden aus. Aber in den Datenpunkt steht immer noch 0 s. Der Datenpunkt Switch ändert sich aber brav von false auf true oder umgekehrt.
Jemand ne Idee? Liegt es vielleicht an der Firmware oder so? `
Getestet eben gerade mit der Shelly Firmware 1.3.5. Das funktioniert bei mir wunderbar, wenn ich die Werte in Timer und Switch in ioBroker ändere.
Der Wert Timer wird aber nicht in der Shelly App angezeigt wenn Du diesen in ioBroker änderst.
-
Ich habe auch die 1.3.5
Habs grade nochmal getestet. In IoBroker 10 Sekunden eingetragen und dann das Licht angemacht. Es ist an geblieben. Ich versteh´s nicht ….
Hab auch den Adapter mal neu gestartet. Keine Änderung.
-
@tstueben:Also bei mir ist der Datenpunkt anscheinend ohne Funktion.
Ich habe zum testen in der App den Timer auf 15 Sekunden gestellt. Das Licht geht jetzt auch nach 15 Sekunden aus. Aber in den Datenpunkt steht immer noch 0 s. Der Datenpunkt Switch ändert sich aber brav von false auf true oder umgekehrt.
Jemand ne Idee? Liegt es vielleicht an der Firmware oder so? `
Getestet eben gerade mit der Shelly Firmware 1.3.5. Das funktioniert bei mir wunderbar, wenn ich die Werte in Timer und Switch in ioBroker ändere.
Der Wert Timer wird aber nicht in der Shelly App angezeigt wenn Du diesen in ioBroker änderst. `
okay, ich habe jetzt erst verstanden was Du vor hast. Du setzt den Timer auf 10 Sekunden in ioBroker und schaltest dann über den Lichtschalter und nicht ioBroker! Das geht bei auch nicht. Ich werde mal schauen ob die API das hergibt.
-
Genau so. Sorry, wenn ich mich missverständlich ausgedrückt habe. Danke dir!
-
Genau so. Sorry, wenn ich mich missverständlich ausgedrückt habe. Danke dir! `
Ich habe 2 neue Datenpunkte AutoTimerOn und AutoTimerOff hinzugefügt. Damit sollte es jetzt funktionieren!
Was noch nicht geht, dass die Werte in ioBroker aus der Shelly App übernommen werden.
Zum Testen bitte einmal über Adapter -> "Installieren aus eigener URL" den Adapter über folgenden Link laden https://github.com/schmupu/ioBroker.shelly
-
Perfekt, das funktioniert. Danke dir für deine Mühe!
Dann mach ich mich jetzt mal an ein passendes Script damit ich das mit Alexa steuern kann ….
-
Bei mir gibt es Problem mit dem Sonoff Adapter:
-verschiedene Tasmota-Versionen (5.13.1 …6.1.1) verlieren sporadisch die MQTT Verbindung zum Sonoff-Adapter (log-Beispiel: warn- Client "WohnzimmerKugellampe" not connected)
-über den Browser/IP sind die Geräte immer zu erreichen!
Das ganze ist neu und trat früher nicht auf - bis ich den Shelly-Adapter installiert habe. (zumindest glaube ich das)
Mit dem Shelly Adapter betreibe ich z.Zt. drei Shelly 1 in der Variante "Enable action execution via CoAP (CoIOT) protocol "
Hat irgendwer ähnliche Probleme, beeinflussen sich die Geräte? Was kann ich noch tun, um der Sache auf den Grund zu kommen.
-
Bei mir gibt es Problem mit dem Sonoff Adapter:
-verschiedene Tasmota-Versionen (5.13.1 …6.1.1) verlieren sporadisch die MQTT Verbindung zum Sonoff-Adapter (log-Beispiel: warn- Client "WohnzimmerKugellampe" not connected)
-über den Browser/IP sind die Geräte immer zu erreichen!
Das ganze ist neu und trat früher nicht auf - bis ich den Shelly-Adapter installiert habe. (zumindest glaube ich das)
Mit dem Shelly Adapter betreibe ich z.Zt. drei Shelly 1 in der Variante "Enable action execution via CoAP (CoIOT) protocol "
Hat irgendwer ähnliche Probleme, beeinflussen sich die Geräte? Was kann ich noch tun, um der Sache auf den Grund zu kommen. `
Ich habe ca. 7 Sonoff Geräte mit Tasmota mit dem iobroker.sonoff und parallel dazu, 4 Shelly 1 mit der Shelly Firmware mit dem iobroker.shelly Adapter am Laufen. Alles funktioniert unproblematisch und ohne Abbrüche.
-
Hallo, ich installiere gerade 2 Shelly`s2 - Manuell über das WebIf funktionieren diese, allerdings lassen sie sich nicht über ioBroker schalten. Was mache ich falsch? Es soll als Rolladensteuerung dienen. Wenn ich aber den Wert bei Relay0 auf true setze, passiert nichts.
PS. Bei mir wird der ShutterStatus auch gar nicht angezeigt?!