NEWS
[Aufruf] Test Shelly Adapter
-
@Mic:2. Frage zum Shelly 1 selbst:
Bei zwei Shellys arbeite ich mit normalen Wandschaltern also nicht mit Taster. Wenn man nun z.B. bei Stellung "Wandschalter aus" den Shelly per App/VIS einschaltet, und dann den Wandschalter betätigt, dann bleibt das Licht an. Man muss also noch mal schalten. `
Geht doch:
Allerdings nicht über die iPhone-App, sondern direkt im Webinterface des Shellys. Dort folgendes einstellen:
-
Hallo,
ich welcher wert wird bei "Device online Status" angezogen? Eigentlich möchte ich wissen, ob mein Shelly im WLAN ist. Allerdings steht der Wert auf "false" und ich kann trotzdem steuern bzw. auf das WebIf vom Shelly zugreifen.
Bildschirmfoto 2018-10-13 um 20.36.34.png `
Scheinbar ist da was komisch. Muss ich reinschauen. Machst Du bitte bei https://github.com/Apollon77/shelly-iot/issues nen Issue auf?! Danke
-
Hab jetzt meinen ersten Shelly1 bekommen und kurz getestet. Shelly Adapter läuft und funktioniert erstmal super. Vielen Dank für die Mühe und inverstierte Zeit Die Tage werde ich den Shelly mal richtig in Betrieb nehmen und dann teste ich den Adapter ausgiebiger.
-
Moin !
Ich bin ganz neu im Thema ioBroker und habe nach ein paar Tagen "rumspielen" heute meine ersten shelly 1 bekommen. Im iobroker den Adapter shelly installiert in der Version 0.2.5
iobroker.admin : 3.5.10
Node.js: v8.12.0
NPM: 6.4.1
Doch es funktioniert nicht, im log erscheint jede minute :
! host.raspberrypi 2018-10-16 21:45:08.165 info Restart adapter system.adapter.shelly.0 because enabled
! host.raspberrypi 2018-10-16 21:45:08.165 error instance system.adapter.shelly.0 terminated with code 0 (OK)
! host.raspberrypi 2018-10-16 21:45:08.165 error Caught by controller[0]: at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:345:8)
! host.raspberrypi 2018-10-16 21:45:08.164 error Caught by controller[0]: at Manager.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20)
! host.raspberrypi 2018-10-16 21:45:08.164 error Caught by controller[0]: at Manager. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15)
! host.raspberrypi 2018-10-16 21:45:08.164 error Caught by controller[0]: at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:244:12)
! host.raspberrypi 2018-10-16 21:45:08.164 error Caught by controller[0]: at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:319:9)
! host.raspberrypi 2018-10-16 21:45:08.164 error Caught by controller[0]: at Socket.adapter.getForeignObject (/opt/iobroker/node_modules/iobroker.shelly/shelly.js:104:5)
! host.raspberrypi 2018-10-16 21:45:08.164 error Caught by controller[0]: at main (/opt/iobroker/node_modules/iobroker.shelly/shelly.js:765:12)
! host.raspberrypi 2018-10-16 21:45:08.164 error Caught by controller[0]: at new ShellyIot (/opt/iobroker/node_modules/shelly-iot/index.js:30:27)
! host.raspberrypi 2018-10-16 21:45:08.164 error Caught by controller[0]: at new exports.Client (/opt/iobroker/node_modules/node-rest-client/lib/node-rest-client.js:13:61)
! host.raspberrypi 2018-10-16 21:45:08.164 error Caught by controller[0]: at module.exports (/opt/iobroker/node_modules/node-rest-client/lib/nrc-serializer-manager.js:122:18)
! host.raspberrypi 2018-10-16 21:45:08.163 error Caught by controller[0]: TypeError: xmlserializer.Builder is not a constructor
! host.raspberrypi 2018-10-16 21:45:07.554 info instance system.adapter.daswetter.0 terminated with code 0 (OK)
! host.raspberrypi 2018-10-16 21:45:06.636 info instance system.adapter.shelly.0 started with pid 2434</anonymous>Ich bin mir fast sicher das ich irgendwas übersehen habe, kann mir evtl jemand zurück auf den richtigen Weg helfen ?
VG
-
Komischer Fehler. Bitte nochmal neu "drüber" installieren bzw schauen ob es bei der ersten Installation irgendwelche Fehler gab
-
Ändert leider nichts :
Neu installiert :
! pi@raspberrypi:~ $ sudo iobroker add shelly
! NPM version: 6.4.1
! npm install iobroker.shelly –production --save --prefix "/opt/iobroker" (System call)
! host.raspberrypi install adapter shelly
! got /opt/iobroker/node_modules/iobroker.shelly/admin
! upload [2] shelly.admin /opt/iobroker/node_modules/iobroker.shelly/admin/words.js words.js application/javascript
! upload [1] shelly.admin /opt/iobroker/node_modules/iobroker.shelly/admin/shelly.png shelly.png image/png
! upload [0] shelly.admin /opt/iobroker/node_modules/iobroker.shelly/admin/index_m.html index_m.html text/html
! host.raspberrypi object system.adapter.shelly created
! host.raspberrypi create instance shelly
! host.raspberrypi object shelly.0.info.connection created
! host.raspberrypi object shelly.0.info created
! host.raspberrypi object system.adapter.shelly.0.outputCount created
! host.raspberrypi object system.adapter.shelly.0.inputCount created
! host.raspberrypi object system.adapter.shelly.0.uptime created
! host.raspberrypi object system.adapter.shelly.0.memRss created
! host.raspberrypi object system.adapter.shelly.0.memHeapTotal created
! host.raspberrypi object system.adapter.shelly.0.memHeapUsed created
! host.raspberrypi object system.adapter.shelly.0.connected created
! host.raspberrypi object system.adapter.shelly.0.alive created
! host.raspberrypi object system.adapter.shelly.0 created
! pi@raspberrypi:~ $Problem bleibt :
! host.raspberrypi 2018-10-16 22:27:15.194 info Restart adapter system.adapter.shelly.0 because enabled
! host.raspberrypi 2018-10-16 22:27:15.194 error instance system.adapter.shelly.0 terminated with code 0 (OK)
! host.raspberrypi 2018-10-16 22:27:15.194 error Caught by controller[0]: at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:345:8)
! host.raspberrypi 2018-10-16 22:27:15.194 error Caught by controller[0]: at Manager.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20)
! host.raspberrypi 2018-10-16 22:27:15.194 error Caught by controller[0]: at Manager. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15)
! host.raspberrypi 2018-10-16 22:27:15.194 error Caught by controller[0]: at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:244:12)
! host.raspberrypi 2018-10-16 22:27:15.193 error Caught by controller[0]: at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:319:9)
! host.raspberrypi 2018-10-16 22:27:15.193 error Caught by controller[0]: at Socket.adapter.getForeignObject (/opt/iobroker/node_modules/iobroker.shelly/shelly.js:104:5)
! host.raspberrypi 2018-10-16 22:27:15.193 error Caught by controller[0]: at main (/opt/iobroker/node_modules/iobroker.shelly/shelly.js:765:12)
! host.raspberrypi 2018-10-16 22:27:15.193 error Caught by controller[0]: at new ShellyIot (/opt/iobroker/node_modules/shelly-iot/index.js:30:27)
! host.raspberrypi 2018-10-16 22:27:15.193 error Caught by controller[0]: at new exports.Client (/opt/iobroker/node_modules/node-rest-client/lib/node-rest-client.js:13:61)
! host.raspberrypi 2018-10-16 22:27:15.193 error Caught by controller[0]: at module.exports (/opt/iobroker/node_modules/node-rest-client/lib/nrc-serializer-manager.js:122:18)
! host.raspberrypi 2018-10-16 22:27:15.190 error Caught by controller[0]: TypeError: xmlserializer.Builder is not a constructor
! host.raspberrypi 2018-10-16 22:27:13.766 info instance system.adapter.shelly.0 started with pid 5412
! host.raspberrypi 2018-10-16 22:26:43.739 info Restart adapter system.adapter.shelly.0 because enabled
! host.raspberrypi 2018-10-16 22:26:43.739 error instance system.adapter.shelly.0 terminated with code 0 (OK)
! host.raspberrypi 2018-10-16 22:26:43.739 error Caught by controller[0]: at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:345:8)
! host.raspberrypi 2018-10-16 22:26:43.739 error Caught by controller[0]: at Manager.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20)
! host.raspberrypi 2018-10-16 22:26:43.738 error Caught by controller[0]: at Manager. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15)
! host.raspberrypi 2018-10-16 22:26:43.738 error Caught by controller[0]: at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:244:12)
! host.raspberrypi 2018-10-16 22:26:43.738 error Caught by controller[0]: at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:319:9)
! host.raspberrypi 2018-10-16 22:26:43.738 error Caught by controller[0]: at Socket.adapter.getForeignObject (/opt/iobroker/node_modules/iobroker.shelly/shelly.js:104:5)
! host.raspberrypi 2018-10-16 22:26:43.738 error Caught by controller[0]: at main (/opt/iobroker/node_modules/iobroker.shelly/shelly.js:765:12)
! host.raspberrypi 2018-10-16 22:26:43.738 error Caught by controller[0]: at new ShellyIot (/opt/iobroker/node_modules/shelly-iot/index.js:30:27)
! host.raspberrypi 2018-10-16 22:26:43.738 error Caught by controller[0]: at new exports.Client (/opt/iobroker/node_modules/node-rest-client/lib/node-rest-client.js:13:61)
! host.raspberrypi 2018-10-16 22:26:43.738 error Caught by controller[0]: at module.exports (/opt/iobroker/node_modules/node-rest-client/lib/nrc-serializer-manager.js:122:18)
! host.raspberrypi 2018-10-16 22:26:43.737 error Caught by controller[0]: TypeError: xmlserializer.Builder is not a constructor
! host.raspberrypi 2018-10-16 22:26:42.315 info instance system.adapter.shelly.0 started with pid 5357
! host.raspberrypi 2018-10-16 22:26:12.289 info Restart adapter system.adapter.shelly.0 because enabled
! host.raspberrypi 2018-10-16 22:26:12.289 error instance system.adapter.shelly.0 terminated with code 0 (OK)
! Caught 2018-10-16 22:26:12.288 error by controller[0]: at Manager.ondecoded (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/manager.js:345:8)
! Caught 2018-10-16 22:26:12.288 error by controller[0]: at Manager.Emitter.emit (/opt/iobroker/node_modules/component-emitter/index.js:133:20)
! Caught 2018-10-16 22:26:12.288 error by controller[0]: at Manager. <anonymous>(/opt/iobroker/node_modules/component-bind/index.js:21:15)
! Caught 2018-10-16 22:26:12.288 error by controller[0]: at Socket.onpacket (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:244:12)
! Caught 2018-10-16 22:26:12.288 error by controller[0]: at Socket.onack (/opt/iobroker/node_modules/iobroker.js-controller/node_modules/socket.io-client/lib/socket.js:319:9)
! Caught 2018-10-16 22:26:12.288 error by controller[0]: at Socket.adapter.getForeignObject (/opt/iobroker/node_modules/iobroker.shelly/shelly.js:104:5)
! Caught 2018-10-16 22:26:12.288 error by controller[0]: at main (/opt/iobroker/node_modules/iobroker.shelly/shelly.js:765:12)
! Caught 2018-10-16 22:26:12.287 error by controller[0]: at new ShellyIot (/opt/iobroker/node_modules/shelly-iot/index.js:30:27)
! Caught 2018-10-16 22:26:12.287 error by controller[0]: at new exports.Client (/opt/iobroker/node_modules/node-rest-client/lib/node-rest-client.js:13:61)
! Caught 2018-10-16 22:26:12.287 error by controller[0]: at module.exports (/opt/iobroker/node_modules/node-rest-client/lib/nrc-serializer-manager.js:122:18)
! Caught 2018-10-16 22:26:12.286 error by controller[0]: TypeError: xmlserializer.Builder is not a constructor
! shelly.0 2018-10-16 22:26:12.259 error uncaught exception: xmlserializer.Builder is not a constructor
! shelly.0 2018-10-16 22:26:12.184 info starting. Version 0.2.5 in /opt/iobroker/node_modules/iobroker.shelly, node: v8.12.0</anonymous></anonymous></anonymous>Edit : Habe jetzt die sd-karte für den raspy nochmal komplett neu gemacht und nu gehts !
-
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