NEWS
[Aufruf] Test Shelly Adapter
-
Guten Abend,
ich habe mehrere Shelly1 gekauft. Die App funktioniert gut. Nur hier habe ich das Problem, dass nach dem Neustart der App fast 1 Minute Device is offline bei allen Shelly steht. Danach funktioniert alles super!
Danach habe ich den shelly-Adapter installiert. Die Schaltung habe ich in Node-Red implementiert und dann in Alexa eingebunden.
Der Switch schaltet von false auf on und umgekehrt. Leider schaltet aber das Schaltrelaie nicht. Vielleicht kann mir jemand weiterhelfen woran dies liegt.Wird die App genutzt höre ich das Schaltrelaie beim umschalten.
Ich habe gerade noch gesehen, dass eine Fehlermeldung im Log ausgegeben wird.
Danke im voraus für euere Hilfe! -
Welchem´n Modus für den Switch hast Du in der App eingestellt?
-
Welchem´n Modus für den Switch hast Du in der App eingestellt? `
Als BUTTON TYPE habe ich Edge Switch drin!
-
Wenn ich die Fehlermeldung
sehe, könnte es sein, dass dies mit der Umbenennung der shelly in der fritzbox zu tun hat? -
Ne das heisst das Du in den Datenpunkt "Switch" wo ein Boolean erwartet wird einen anderen Wert reinschreibst. Wie siehst denn das Skript aus? Kann es sein da Du nen String reinschreibst? Oder 0/1 ?
-
Ne das heisst das Du in den Datenpunkt "Switch" wo ein Boolean erwartet wird einen anderen Wert reinschreibst. Wie siehst denn das Skript aus? Kann es sein da Du nen String reinschreibst? Oder 0/1 ? `
Ich habe es so eingerichtet:
-
du hast im State Switch "on" stehen statt true / false (boolean!!)
-
@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.