NEWS
Anfrage Tahoma/Somfy IO Adapter
-
@jb_mystery
Hi, wenn du dich mit root bei deinem Datei Manager(WinSCP) im Rasperry anmeldest kannst du die Datei auch verändern. Hab die 3 Zeilen so auch auskommentieren können.
Dein Abrufintervall könntest auch auf 20000 stellen, hat jetzt aber nichts mit dem Passwort zu tun.
Mein Passwort stand bei mir zwar drin, aber der Login hatte nicht funktioniert....... -
@jb_mystery Also ich hatte bisher kein Passwortproblem. Meine Adapterkonfiguration sieht aber anders aus.
Vielleicht liegt das Problem woanders? Habe aber auch die Adapterversion 0.4.3. -
@willi-wunder sagte in Anfrage Tahoma/Somfy IO Adapter:
wenn du dich mit root bei deinem Datei Manager(WinSCP) im Rasperry anmeldest
#HUST
-
@klausiob
Hast du die Version nochmal über Github installiert? @Excodibur hat letztens nochmal paar Anpassungen gemacht, Version ist aber erstmal noch gleich geblieben.@Thomas-Braun
Ich konnte die Datei ohne Probleme anpassen, wenn es bei bei @JB_Mystery nicht funktioniert wird es vermutlich an den Schreibrechten liegen, mit root Anmeldung sollte es doch funktionieren oder was hast du dagegen einzuwenden? -
@jb_mystery Modifzierst du die Adapter-Konfiguration irgendwo außerhalb des Adapters noch, z.B. via Javascript?
Das Einzige was ich mir vorstellen kann, ist dass es dabei verloren geht. Das Passwort wird in der io-package.json nicht nur als encryptedNative, sondern auch protectedNative gespeichert, d.h. IOBroker legt das nicht nur verschlüsselt ab, sondern verhindert auch, dass andere Komponenten als der Adapter dass Passwort auslesen können.
Wenn jetzt irgendwo, warum auch immer, z.B. via Javascript-Adapter an der Adapter-Konfiguration herumgewerkeltt wird, bekommt man dort beim Auslesen nur eine Adapter-Konfiguration ohne Passwort (weil es geschützt ist). Schreibt man diese jetzt dort zurück, schreibt man möglicherweise ein leeres Passwort zurück.
Gibt es bei euch sowas in der Richtung?
-
@willi-wunder sagte in Anfrage Tahoma/Somfy IO Adapter:
mit root Anmeldung sollte es doch funktionieren oder was hast du dagegen einzuwenden?
Man meldet sich nicht als root an.
-
@thomas-braun sagte in Anfrage Tahoma/Somfy IO Adapter:
@willi-wunder sagte in Anfrage Tahoma/Somfy IO Adapter:
mit root Anmeldung sollte es doch funktionieren oder was hast du dagegen einzuwenden?
Man meldet sich nicht als root an.
Bisschen arg pauschal. Bei nem Server im privaten Netz am besten noch mit public key auth, kann man sich ruhig mit root anmelden. Ist auch nicht unsicherer als ein Login mit einem Account, der via sudo eh alles darf.
-
@strathcole
Dann weiß der root aber auch ein wenig Bescheid.
Und auch dann meldet man sich nicht dauerhaft als root an. Ein bisschen Systemhygiene darf es dann auch sein.Als root rasselt jeder Befehl komplett durch, mit sudo eingeleitet schaut man da als erfahrener Admin schonmal genauer was man da einklimpert
Von den Copy& Paste-Admins mit wenig bis gar keine Ahnung von Linux die hier oft anzutreffen sind rede ich erst gar nicht.
-
@thomas-braun Auch wenn wir etwas OT werden Ich arbeite jetzt seit ~15 Jahren als Sysadmin mit Debian und nutze ausschließlich root (ohne Passwort und mit 4096bit Key natürlich).
Wenn ich mit Leuten zu tun habe, die z. B. Ubuntu nutzen, wo ja das mit sudo eher verbreitet ist, dann nutzen die aber meist
sudo su -
und dann geht es halt ohnesudo
weiter. Dauerhaftessudo
für jeden Befehl einzeln ist viel zu aufwändig.
Es ist halt wie immer: Mit Ahnung und Bedacht ist es egal, ob man root oder sudo nutzt, ohne Ahnung und mit Copy&Paste ist beides -
@excodibur
Ich habe folgende Funktion für den Restart des Tahoma Adapters genutzt:function restartTahomaAdapter(){ var obj = getObject('system.adapter.tahoma.0'); if (obj.common.enabled){ obj.common.enabled = false; // Adapter ausschalten setObject('system.adapter.tahoma.0', obj); } setTimeout(function(){ obj.common.enabled = true; // Adapter einschalten setObject('system.adapter.tahoma.0', obj); },5000); }
Das war in der Vergangenheit notwendig, da ohne erkennbare Gründe nach einigen Tagen die Steuerung einfach nicht mehr funktionierte, obwohl die Instanz grün war und alles I.O. schien.
Die genannte Funktion habe ich vor ein paar Tagen deaktiviert, danach hatte ich die 24 Stunden LOGIN Fehler 401. Seitdem die Verbindung wieder steht, hatte ich keine Probleme mehr, obwohl ich den ioBroker schon mehrfach neu gestartet habe.Liegt also nahe, dass es mit diesem manuellen Restart der Instanz zusammenhing.
-
@blackeagle998 Das Problem mit dem
401
hing oft damit zusammen, dass ein Fehler bei Somfy auftrat (z. B. kurzzeitiger Fehler 401 oder Verlust der Session) und der Adapter dann immer wieder (in kurzen Abständen) versucht hat, neu einzuloggen. Das hat @Excodibur meines Wissens nach behoben, sodass zumindest ein großer Verursacher des Problems weg sein dürfte. -
@thomas-braun sagte in Anfrage Tahoma/Somfy IO Adapter:
Von den Copy& Paste-Admins mit wenig bis gar keine Ahnung von Linux die hier oft anzutreffen sind rede ich erst gar nicht.
Kurze Anmerkung dazu noch: Ich finde es sogar gut, wenn man das (in einem geschlossenen, nicht öffentlich zugänglichen System) mit dem Ziel macht, daraus zu lernen. Also "learning by doing". Ist die effektivste Methode, irgendwann gut in etwas zu werden, einschließlich Systemadministration. Stures Lesen und Lernen durch Fachliteratur und -personen ist mMn uneffektiv.
-
@blackeagle998 So ein Config-Update außerhalb des Adapter sorgt mit Sicherheit für den Passwort-Verlust, aus dem eben geschilderten Szenario. Idealerweise sollten wir solche Connectivity Probleme direkt im Adapter fixen.
Wie StrathCole schon sagte, dass Problem mit den zu schnell hintereinander erfolgenden Logins sollte jetzt nicht mehr auftreten. Dummerweise wissen wir aber auch nicht mit Sicherheit, warum Somfy beim Login manchmal einen 401 Fehler schickt, trotz richtigem Username/Passwort. Da wir hier nur eine inoffizielle API nutzen, kriegt man dazu sicher keine verbindlichen Aussagen von Somfy. Siehe auch hier: https://github.com/Excodibur/ioBroker.tahoma/blob/master/FAQ.md#i-cannot-connect-to-tahoma-and-get-401-errors-why
-
Ich habe in der Vergangenheit auch den Adapter manuell gestartet, wenn ich ihn gebraucht habe. Ansonsten war er aus. Evtl. ist es genauso wie bei @blackeagle998.
function startTahomaAdapter(){ var obj = getObject('system.adapter.tahoma.0'); if (!obj.common.enabled && !TaHomaEIN){ obj.common.enabled = true; // Adapter einschalten setObject('system.adapter.tahoma.0', obj); log('Tahoma Instanz wieder eingeschaltet.', 'info'); TaHomaEIN = 1; } } function endTahomaAdapter(){ var obj = getObject('system.adapter.tahoma.0'); if (obj.common.enabled && TaHomaEIN){ setTimeout(function(){ obj.common.enabled = false; // Adapter einschalten setObject('system.adapter.tahoma.0', obj); log('Tahoma Instanz ausgeschaltet.', 'info'); TaHomaEIN = 0; },20000); } }
Die Zeilen konnte ich nun doch auskommentieren. Habe nano einfach mit sudo gestartet. Man lernt nie aus.
Mal abwarten was sich zeigt. Habe nur die nächsten Tage sehr wenig Zeit.
-
@willi-wunder sagte in Anfrage Tahoma/Somfy IO Adapter:
@klausiob
Hast du die Version nochmal über Github installiert? @Excodibur hat letztens nochmal paar Anpassungen gemacht, Version ist aber erstmal noch gleich geblieben.Nein.
-
@Excodibur
Heute um 17:04 Uhr war der Server down wegen Maintenance / Wartung:
Die Instanz blieb grün, allerdings ließ sich nichts mehr steuern. Das bemerkte ich aber erst, als es dunkel wurde und alle Rollläden noch oben waren.
Wenn der Server weg war, müsstet ihr doch alle dieses Problem gehabt haben oder etwa nicht?
Btw: ich habe eine Connexoon Box, keine Tahoma.
-
@blackeagle998
Bei mir exakt das gleiche Problem (mit Tahoma). Fehler bei iobroker-log:tahoma.0 2021-08-17 23:38:07.227 warn error during tahomalink request: ->401 retry login
Werde jetzt den Adapter stoppen und eine Weile warten...vielleicht fängt sich das System ja wieder. Login über Tahomalink geht aktuell auch nicht (Fehler:Passwort falsch). Zugriff über Somfy-App (ios) hat funktioniert.
Schönen Abend zusammen.
Nachtrag:
Ca. 8h habe ich den Adapter wieder gestartet und es funktioniert wieder einwandfrei. Auch der Login über Tahomalink ist wieder möglich. Woran es lag...keine Ahnung. -
@blackeagle998
Hallo, ich habe auch eine Connexoon Box und das selbe Problem. -
So habe gestern abend mal Glück gehabt.
Die 3 Zeilen waren auskommentiert, der Adapter auf Debug und ich hatte den Adapter manuell gestartet. Alles hat Problemlos funktioniert. Danach habe ich um 20:46 Uhr die Instanz deaktiviert und meine Automatik gestartet. Punkt 22:30 Uhr ging dann die Automatik los, die die Instanz mit dem obrigen Skipt startet. Leider war direkt das Passwort weg. Siehe Log Auszug.
2021-08-17 20:46:55.949 - info: host.ioBroker-Pi "system.adapter.tahoma.0" disabled 2021-08-17 20:46:55.961 - info: host.ioBroker-Pi stopInstance system.adapter.tahoma.0 (force=false, process=true) 2021-08-17 20:46:55.970 - info: host.ioBroker-Pi stopInstance system.adapter.tahoma.0 send kill signal 2021-08-17 20:46:55.970 - info: tahoma.0 (24762) Got terminate signal TERMINATE_YOURSELF 2021-08-17 20:46:55.973 - debug: tahoma.0 (24762) POST request on https://www.tahomalink.com/enduser-mobile-web/enduserAPI/logout with payload:{} 2021-08-17 20:46:56.054 - debug: tahoma.0 (24762) Response: {"logout":true} 2021-08-17 20:46:56.057 - info: tahoma.0 (24762) terminating 2021-08-17 20:46:56.059 - info: tahoma.0 (24762) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason 2021-08-17 20:46:56.729 - info: host.ioBroker-Pi instance system.adapter.tahoma.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION) 2021-08-17 22:30:00.113 - info: javascript.0 (20779) script.js.Testgruppe.Testen_aktuell: Rollläden runter 2021-08-17 22:30:00.128 - info: javascript.0 (20779) script.js.Testgruppe.Testen_aktuell: Tahoma Instanz wieder eingeschaltet. 2021-08-17 22:30:00.214 - info: host.ioBroker-Pi "system.adapter.tahoma.0" enabled 2021-08-17 22:30:00.531 - info: host.ioBroker-Pi instance system.adapter.tahoma.0 started with pid 30117 2021-08-17 22:30:03.036 - debug: tahoma.0 (30117) Redis Objects: Use Redis connection: 127.0.0.1:9001 2021-08-17 22:30:03.097 - debug: tahoma.0 (30117) Objects client ready ... initialize now 2021-08-17 22:30:03.102 - debug: tahoma.0 (30117) Objects create System PubSub Client 2021-08-17 22:30:03.104 - debug: tahoma.0 (30117) Objects create User PubSub Client 2021-08-17 22:30:03.106 - debug: tahoma.0 (30117) Objects client initialize lua scripts 2021-08-17 22:30:03.131 - debug: tahoma.0 (30117) Objects connected to redis: 127.0.0.1:9001 2021-08-17 22:30:03.149 - debug: tahoma.0 (30117) objectDB connected 2021-08-17 22:30:03.154 - debug: tahoma.0 (30117) Redis States: Use Redis connection: 127.0.0.1:6379 2021-08-17 22:30:03.169 - debug: tahoma.0 (30117) States create System PubSub Client 2021-08-17 22:30:03.172 - debug: tahoma.0 (30117) States create User PubSub Client 2021-08-17 22:30:03.188 - debug: tahoma.0 (30117) States connected to redis: 127.0.0.1:6379 2021-08-17 22:30:03.190 - debug: tahoma.0 (30117) statesDB connected 2021-08-17 22:30:03.587 - info: tahoma.0 (30117) starting. Version 0.4.3 in /opt/iobroker/node_modules/iobroker.tahoma, node: v14.16.1, js-controller: 3.3.15 2021-08-17 22:30:03.625 - warn: tahoma.0 (30117) [START] Password not set 2021-08-17 22:30:28.139 - info: javascript.0 (20779) script.js.Testgruppe.Testen_aktuell: Tahoma Instanz ausgeschaltet. 2021-08-17 22:30:28.239 - info: host.ioBroker-Pi "system.adapter.tahoma.0" disabled 2021-08-17 22:30:28.243 - info: host.ioBroker-Pi stopInstance system.adapter.tahoma.0 (force=false, process=true) 2021-08-17 22:30:28.252 - info: tahoma.0 (30117) Got terminate signal TERMINATE_YOURSELF 2021-08-17 22:30:28.253 - info: host.ioBroker-Pi stopInstance system.adapter.tahoma.0 send kill signal 2021-08-17 22:30:28.255 - info: tahoma.0 (30117) terminating 2021-08-17 22:30:28.257 - info: tahoma.0 (30117) Terminated (ADAPTER_REQUESTED_TERMINATION): Without reason 2021-08-17 22:30:29.023 - info: host.ioBroker-Pi instance system.adapter.tahoma.0 terminated with code 11 (ADAPTER_REQUESTED_TERMINATION)
Ich hoffe damit könnt ihr was anfangen. Ich leider nicht wirklich.
Beim manuellen starten war das Passwort da, alles funktionierte und nach dem deaktivieren und über das Skript starten ist das Passwort weg. -
@jb_mystery Ja, wie gesagt kann ich an der Stelle nichts machen, da dein Skript durch das Zurückschreiben an der Adapter-Konfiguration "von außen" herummanipuliert, was ioBroker aus Sicherheitsgründen unterbindet.
Statt in deinem Skript die Adapter-Config zu manipulieren, könntest du aber auch direkt den Alive-Status verwenden, um einen Restart zu erzwingen:
setState("system.adapter.tahoma.0.alive", false); setState("system.adapter.tahoma.0.alive", true);