NEWS
Anfrage Tahoma/Somfy IO Adapter
-
@willi-wunder Danke, ich hoffe ich komme dazu es mir die nächsten Tage mal genauer anzuschauen.
Ich vermute es hat damit zu tun, dass die Tahoma-API für ManufacturerSettingsState statt eines einfachen Wertes (Zahl, Boolean) eine ganze Liste an Werten (discreet_mode_speed, roll_end_limit_state, setting_state, open_level, soft_start, current_position, soft_stop, nominal_mode_speed, unroll_end_limit_state, security_level) zurückgibt, die der Adapter dann alle in einem IOBroker State versucht abzuspeichern, was nicht geht. Daraufhin kommen dann die Fehlermeldungen. Wenn sich dass dann noch häuft, vermute ich mal, das der Adapter ein Problem bekommt.
Bei mir und meinen IO Rolläden ist dieser State nur "undefined", d.h. er wird nicht gepflegt und führt dann auch nicht zu Fehlern im Adapter-Code. Vielleicht hast du da neuere Somfy Komponenten eingebunden, die mehr Daten liefern, als die klassischen und das bringt den Adapter ins Stocken.
Als Entwickler ist es immer schwer, wenn man nicht die gleichen Geräte zur Verfügung hat, um solche Szenarien nachzustellen und zu beheben. Die Somfy-Doku ist an dieser Stelle auch quasi nicht existent. Ich überlege mal, was man da machen kann.
-
@excodibur
Hi, ja habe auch ein paar RS100 io Motoren laufen, diese sind deutlich leiser als der normale io Motor und man könnte mehr Daten auslesen........ Rauchmelder, Temperatur- und Sonnensensor hängen auch dran. Damals hatte ich noch keinen iobroker und da gab es für mich nur die Somfy Sachen. Mittlerweile würde ich dies etwas anders lösen.....aber mit Tahoma funktioniert dies ja eigentlich ganz ordentlich. Wäre super wenn du hier helfen könntest. Wünsche dir einen schönen Restsonntag.Gruß Willi
-
@willi-wunder Wäre es möglich, dass du dir meine Version (https://github.com/Excodibur/ioBroker.tahoma) mal installierst, den Log auf "debug" stellst, und mir alle "Response:" - Einträge schickst? Gerne auch per PN.
Bitte schaue vorher nochmal drüber, dass keine personenbezogenen Daten drin sind. An einigen Stellen könnte deine private Mailaddresse, oder unter location deine private Anschrift aus der Tahoma-Box stehen. Am besten vorher ersetzen, oder löschen.
Ich habe bei mir die Antworten von Somfy/Tahoma für meinen Account ebenfalls erfasst und könnte dann auf der Basis vergleichen, wie sich deine Device-Daten von meinen unterscheiden und isolieren, wo es im Adapter hängt. Genauer noch suche ich nach der Response die den String "SETUP-" enthält - dort stehen alle deine Geräte/Devices drin.
-
@excodibur
Herzlichen Dank an dich, funktioniert jetzt wieder
Schick dir noch den aktuellen Log per Mail nach deiner Anpassung, vielleicht als Feedback ganz nützlich. Woran lag es nun? Interessiert bestimmt die anderen auch. Machst du eine neue Version mit der Anpassung? Heißt es nun, dass der Adapter wieder lebt und einen neuen "Macher" hat? -
@willi-wunder Wie vermutet, lag es an der zusätzlichen Komplexität des Somfy-Gerätes. Ich würde gerne ein neues Release des Adapters ausrollen, muss mich dazu aber erst mal mit seinem Schöpfer in Verbindung setzen, zwecks Berechtigungen.
-
Nur zur Info: Ich habe das Repository für die Adapter-Entwicklung nun an @Excodibur übergeben. Schön, dass sich jemand gefunden hat, der den Adapter weiterentwickeln möchte
-
@strathcole
Vielen Dank für die Freigabe und natürlich auch für deinen bisherigen Einsatz
Freut mich sehr das @Excalibur sich für die Übernahme bereit erklärt hat. Ich könnte gerne die Tests laufen lassen und die logs bereit stellen. Fürs programmieren reicht mein Wissen leider nicht aus lol -
@strathcole Danke für deine Unterstützung und Vorarbeit!
Ich schaue mir die Probleme (Github Issues) jetzt nach und nach an und fixe diese dann. Ähnlich wie StrathCole habe auch ich nur eine begrenzte Zahl an Test-Geräten zur Verfügung, hauptsächlich aus dem Somfy IO Bereich. D.h. ich bin hier an der ein oder anderen Stelle auf eure Mithilfe (Debug-Logs schicken, etc.) angewiesen.
Pull-Requests sind auch gerne willkommen, aber bitte habt Verständnis, dass ich diese erst prüfen und ggf. weiter mit euch besprechen muss. Da niemand so viele Geräte hat, dass er die Szenarien aller Nutzer bei Tests abdecken kann, ist die Herausforderung hier mit neuen Fixes nicht unabsichtlich etwas kaputt zu machen.
Ein erstes neues Release gibt es schon: https://github.com/Excodibur/ioBroker.tahoma/releases/tag/v0.4.0. Dieses ist noch nicht im Stable-Branch, d.h. nur diejenigen die Adapter aus dem BETA-Repo beziehen, können dieses sehen. Da es noch einige Tickets gibt, wird es hier wohl zeitnah noch ein paar Adapter-Updates geben.
-
@excodibur
Hi, kannst du nochmal den Link prüfen? Bekomme das Update nicht installiert.....$ iobroker url https://github.com/Excodibur/ioBroker.tahoma/releases/tag/v0.4.0 --host raspberrypi Cannot install from GitHub. Invalid URL https://github.com/Excodibur/ioBroker.tahoma/releases/tag/v0.4.0 Process exited with code 0
Wird das Update später ganz normal am Adapter als Info angezeigt werden oder muss ich dies nun immer über url einspielen?
Nachtrag:
Installation "von Github" funktioniert, hatte zuvor die Benutzerdefinierte Installation mit der Url genommen......Gruß Willi
-
@willi-wunder Kann nicht funktionierten, da mein Link quasi nur auf die Release-Notes bit Github zeigt.
Benutzerdefiniert würde funktionieren, allerdings muss du dafür in der URL alles ab "/releases..." wegnehmen.
Im Prinzip taucht das Update später auch normal im Adapter als Info auf, allerdings nur, wenn du die Adapter aus dem BETA-Repo beziehst. Das die neue Version ins STABLE Repo kommt, habe ich noch nicht veranlasst, zumal ich da von @apollon77 so ganz ohne Test-Resultate vielleicht Haue kriege.
-
@excodibur finde ich super, dass du dich dem Adapter annimmst. Erstmal vielen Dank dafür.
Folgender Fehler kommt mit dem 0.4.0 Adapter bei mir in den Logs
JS-Controler: 3.3.15
Admin: 5.1.23
Node.js: v12.22.4
NPM: 6.14.142021-08-07 00:18:58.476 - error: tahoma.0 (2534) The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.476 - error: tahoma.0 (2534) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2021-08-07 00:18:58.477 - error: tahoma.0 (2534) unhandled promise rejection: The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.477 - error: tahoma.0 (2534) Error: The state contains the forbidden properties timeslots! at validateSetStateObjectArgument (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6004:23) at Adapter.setState (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6091:21) at Immediate. (/opt/iobroker/node_modules/iobroker.tahoma/lib/tahoma.js:755:23) at processImmediate (internal/timers.js:463:21) 2021-08-07 00:18:58.477 - error: tahoma.0 (2534) The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.478 - error: tahoma.0 (2534) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2021-08-07 00:18:58.479 - error: tahoma.0 (2534) unhandled promise rejection: The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.479 - error: tahoma.0 (2534) Error: The state contains the forbidden properties timeslots! at validateSetStateObjectArgument (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6004:23) at Adapter.setState (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6091:21) at Immediate. (/opt/iobroker/node_modules/iobroker.tahoma/lib/tahoma.js:755:23) at processImmediate (internal/timers.js:463:21) 2021-08-07 00:18:58.479 - error: tahoma.0 (2534) The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.480 - error: tahoma.0 (2534) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2021-08-07 00:18:58.481 - error: tahoma.0 (2534) unhandled promise rejection: The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.481 - error: tahoma.0 (2534) Error: The state contains the forbidden properties timeslots! at validateSetStateObjectArgument (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6004:23) at Adapter.setState (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6091:21) at Immediate. (/opt/iobroker/node_modules/iobroker.tahoma/lib/tahoma.js:755:23) at processImmediate (internal/timers.js:463:21) 2021-08-07 00:18:58.481 - error: tahoma.0 (2534) The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.482 - error: tahoma.0 (2534) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2021-08-07 00:18:58.483 - error: tahoma.0 (2534) unhandled promise rejection: The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.483 - error: tahoma.0 (2534) Error: The state contains the forbidden properties timeslots! at validateSetStateObjectArgument (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6004:23) at Adapter.setState (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6091:21) at Immediate. (/opt/iobroker/node_modules/iobroker.tahoma/lib/tahoma.js:755:23) at processImmediate (internal/timers.js:463:21) 2021-08-07 00:18:58.484 - error: tahoma.0 (2534) The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.484 - error: tahoma.0 (2534) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2021-08-07 00:18:58.485 - error: tahoma.0 (2534) unhandled promise rejection: The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.485 - error: tahoma.0 (2534) Error: The state contains the forbidden properties timeslots! at validateSetStateObjectArgument (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6004:23) at Adapter.setState (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6091:21) at Immediate. (/opt/iobroker/node_modules/iobroker.tahoma/lib/tahoma.js:755:23) at processImmediate (internal/timers.js:463:21) 2021-08-07 00:18:58.486 - error: tahoma.0 (2534) The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.486 - error: tahoma.0 (2534) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2021-08-07 00:18:58.487 - error: tahoma.0 (2534) unhandled promise rejection: The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.487 - error: tahoma.0 (2534) Error: The state contains the forbidden properties timeslots! at validateSetStateObjectArgument (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6004:23) at Adapter.setState (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6091:21) at Immediate. (/opt/iobroker/node_modules/iobroker.tahoma/lib/tahoma.js:755:23) at processImmediate (internal/timers.js:463:21) 2021-08-07 00:18:58.488 - error: tahoma.0 (2534) The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.488 - error: tahoma.0 (2534) Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). 2021-08-07 00:18:58.489 - error: tahoma.0 (2534) unhandled promise rejection: The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.489 - error: tahoma.0 (2534) Error: The state contains the forbidden properties timeslots! at validateSetStateObjectArgument (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6004:23) at Adapter.setState (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:6091:21) at Immediate. (/opt/iobroker/node_modules/iobroker.tahoma/lib/tahoma.js:755:23) at processImmediate (internal/timers.js:463:21) 2021-08-07 00:18:58.490 - error: tahoma.0 (2534) The state contains the forbidden properties timeslots! 2021-08-07 00:18:58.651 - info: tahoma.0 (2534) terminating 2021-08-07 00:18:58.652 - warn: tahoma.0 (2534) Terminated (UNCAUGHT_EXCEPTION): Without reason 2021-08-07 00:18:59.672 - warn: tahoma.0 (2534) Cannot get view: Connection is closed. 2021-08-07 00:18:59.672 - warn: tahoma.0 (2534) Cannot get view: Connection is closed.
Hat jemand eine Idee an was das liegen kann?
-
@firechumper Bitte stelle den Adapter mal auf DEBUG Logging und lasse mir die Logs entweder über Github issue, oder direkt an excodibur-iobroker@posteo.de zukommen.
Ich schaue es mir dann an.
-
@firechumper Danke, ich habe deine Mail bekommen!
Anscheinend setzt du Heizkörper-Thermostat io, oder ähnliches ein, dass für das Feld TimeProgram1/2State eine riesen Datenstruktur mitliefert (sieht aus wie ein Wochenplan). Das lässt sich nicht wirklich im ioBroker mit States abbilden, daher habe ich hier eine Ausnahmeregel (Fixer Wert "Data too complex" unterhalb des States) eingebaut.
Mit Release 0.4.1 sollte der Fehler nicht mehr auftreten.
-
@excodibur
Vielen Dank - Der Adapter funktioniert nun wiederJa das sind Heizkörperthermostate - den Wochenplan scheint er wohl automatisch einzulesen (obwohl keiner programmiert ist).
-
@excodibur
Weiß nicht ob das für dich Relevant ist... Die Meldung kommt immer wenn man den iO Light Receiver anschaltet (über die "My" Taste)Und die zweite Meldung nimmt er Heizkörperthermostat (Temperatursensor)
State value to set for "tahoma.0.devices.Licht_Markise.states.core:LightIntensityState" has to be type "number" but received type "string" State value to set for "tahoma.0.devices.TS_Schlafzimmer.states.core:TemperatureState" has to be type "number" but received type "string
Sonst sieht das Log sauber aus
-
@firechumper Danke für die Rückmeldung!
Die zwei Meldungen sollten mit v0.4.2 (heute released) auch verschwinden.
-
@excodibur
Du bist der Hammer! -
@Excodibur
Ich habe seit gestern Vormittag Version 0.4.1 installiert und bekomme seitdem folgende Meldung, wenn die Instanz neugestartet wird, Status bleibt dann auf gelb:2021-08-09 00:15:15.762 - warn: tahoma.0 (27552) [START] Password not set
Scheint, als würde die Config das PW nicht speichern.
Wenn ich es dann eingebe und speichere, funktioniert alles normal und die Instanz wird grün, bis zum nächsten Neustart. Kannst du mal bitte drüber schauen, ob du was findest? -
@blackeagle998 Leider kann ich dein Problem bei mir nicht nachstellen (benutze aktuell 0.4.2). Instanz Stop, Start, Restart, ja sogar nach dem iobroker Restart ist bei mir das Passwort noch immer gesetzt.
Welche JS-Controller Version verwendest du? Ich habe 3.3.15 im Einsatz.
-
@excodibur
JS-Controller war 3.3.14, bin jetzt aber auf 3.3.15.
Die Tahoma Adapter Version habe ich ebenfalls auf 0.4.2 aktualisiert. Ich beobachte das mal weiter. Ggf. muss ich mal auf debug stellen und poste dann das LOG.