NEWS
Test Adapter Somfy Tahoma v0.3.x GitHub
-
@blackeagle998 1000 Dank fürs sharen! Ich werde das heute Nachmittag direkt mal nachstellen und noch die Telegram-Nachricht-Funktion einbauen.
-
@blackeagle998 said in Test Adapter Somfy Tahoma v0.3.x GitHub:
Ich hab das mal mit Deinem Skript versucht - aber leider klappt das bei mir nicht (muss auchzugeben, dass ich von Skripten wenig Ahnung habe).
ich bekomme solche Fehlermeldungen:
An was kann das liegen, was muss ich ändern?
Danke!
-
@pfahlenbauer
Zeig doch mal was du gebaut hast, sonst ist es leider ein Ratespiel. -
Ich habe nur Copy/Paste gemacht und die Einstellungen im Log Perser so gemacht wie in Deiner Anleitung:
on({id:'logparser.0.filters.tahoma.jsonCount', change:'ne'}, function (dp) {
if (dp.state.val >= 10){
setState('logparser.0.filters.tahoma.emptyJson', true);
restartTahomaAdapter();
}
}function restartTahomaAdapter(){
let adapter_id = 'system.adapter.tahoma.0';
var obj = getObject(adapter_id);if (obj.common.enabled){ obj.common.enabled = false; // Adapter ausschalten setObject(adapter_id, obj); log('Tahoma Instanz ausgeschaltet.', 'info'); } setTimeout(function(){ obj.common.enabled = true; // Adapter einschalten setObject(adapter_id, obj); log('Tahoma Instanz wieder eingeschaltet.', 'info'); },10000);
}
-
@pfahlenbauer
Hmm ich sehe da erstmal nichts problematisches.
Kannst du noch die kompletten Log Fehler (alle und in code tags) posten? -
Das sieht so aus:
avascript.0 2021-03-25 23:12:18.353 error (30416) at process.topLevelDomainCallback (domain.js:126:23) javascript.0 2021-03-25 23:12:18.353 error (30416) at processImmediate (timers.js:658:5) javascript.0 2021-03-25 23:12:18.353 error (30416) at tryOnImmediate (timers.js:676:5) javascript.0 2021-03-25 23:12:18.353 error (30416) at runCallback (timers.js:706:11) javascript.0 2021-03-25 23:12:18.353 error (30416) at Immediate.adapter.getForeignState [as _onImmediate] (/opt/iobroker/node_modules/iobroker.javascript/main.js:1281:17) javascript.0 2021-03-25 23:12:18.352 error (30416) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1791:17) javascript.0 2021-03-25 23:12:18.352 error (30416) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1690:37) javascript.0 2021-03-25 23:12:18.352 error (30416) at createVM (/opt/iobroker/node_modules/iobroker.javascript/main.js:1443:28) javascript.0 2021-03-25 23:12:18.352 error (30416) at Object.createScript (vm.js:277:10) javascript.0 2021-03-25 23:12:18.352 error (30416) at new Script (vm.js:83:7) javascript.0 2021-03-25 23:12:18.352 error (30416) SyntaxError: missing ) after argument list javascript.0 2021-03-25 23:12:18.351 error (30416) ^ javascript.0 2021-03-25 23:12:18.351 error (30416) } javascript.0 2021-03-25 23:12:18.351 error at script.js.TaHoMa_Log_Perser_Skript:7 javascript.0 2021-03-25 23:12:18.351 error (30416) script.js.TaHoMa_Log_Perser_Skript compile failed:
-
@pfahlenbauer
Da war ich wohl zu doof beim kopieren, Klammer vergessen, habe es oben korrigiert und hier auch nochmal (die Funktion danach muss natürlich bleiben) :on({id:'logparser.0.filters.tahoma.jsonCount', change:'ne'}, function (dp) { if (dp.state.val >= 10){ setState('logparser.0.filters.tahoma.emptyJson', true); restartTahomaAdapter(); } });
-
Super, danke - läuft!
-
Hi, ab und an habe ich auch genau diese Probleme.
Zitat: "Stehe derzeit vor dem gleichen Problem. Die Steuerung per App funktioniert 1a, nur das Modul hier wirft ständig Fehler bzgl. des Logins." - leider muss ich mich dem anschließen.
tahomalink.com lässt mein Login dann auch nicht mehr zu, falsches PW, also eher: Ausgesperrt.
Ein Anruf letztens bei der Somfy-Hotline ergab: Zuviele Abrufe, setzen Sie mal den Polling-Wert höher. Dabei steht der bei mir schon auf "2400000".
Bedienung der Geräte über die Tahoma-App funktioniert natürlich, denn ich vermute mal, diese App spricht mit der Tahoma-Zentrale und geht nicht übers Internet.
Aber der Adapter kann sich nun dann nicht mehr verbinden.
Jetzt muss ich mich wohl wieder um eine telefonische Entsperrung kümmern (heute geht keiner ans Telefon wegen einer internen Veranstaltung dort).
Was ist denn nun der Königsweg hier: Nachts den Adapter abschalten? Per Script überwachen und bei Fehlern im Bereich 400 neu starten? Das sind doch eigentlich alles nur Workarounds.Übrigens: Im AppleHome(Kit) sind die Tahoma-Jalousien alle enthalten und dort funktionieren sie auch. Nachdem Somfy sich wohl Apple gegenüber geöffnet hat, hat man die Geräte in AppleHome auch zur Verfügung und da besteht das Login-Problem nicht. Vermutlich, weil AppleHome direkt auf die Tahoma-Zentrale hier zugreift?!? Wenn ich jetzt den AppleHome-Tahoma-Button aus IOBroker betätigen könnte, dann hätte ich auch keine Probleme mehr.
Aber...
Was hilft wirklich gegen dies:tahoma.0 2021-03-26 08:35:59.081 info (29905) Login failed three times, waiting 2 minutes before retrying.
tahoma.0 2021-03-26 08:35:59.080 warn (29905) error during tahomalink request: undefined ->401 retry login
(=ausgesperrt)LG
M -
Ich habe noch Anlaufschwierigkeiten mit dem setObject(). Wo muss ich denn die Rechte(?) dafür vergeben?
javascript.0 2021-03-26 14:17:52.194 info (2198) script.js.Tahoma.Restart_Tahoma: Tahoma Instanz wieder eingeschaltet. javascript.0 2021-03-26 14:17:52.194 error (2198) Function "setObject" is not allowed. Use adapter settings to allow it. javascript.0 2021-03-26 14:17:42.191 info (2198) script.js.Tahoma.Restart_Tahoma: Tahoma Instanz ausgeschaltet. javascript.0 2021-03-26 14:17:42.191 error (2198) Function "setObject" is not allowed. Use adapter settings to allow it.
-
@saschas
Das musst du in den Einstellungen der Javascript Instanz aktivieren, ich meine es ist direkt auf der ersten Seite unten. -
@blackeagle998 Du warst du schnell - oder ich zu langsam. Wollte beim Post schon löschen...
Hab im Tahoma und Logparser Adapter gesucht. Muss aber natürlich beim Javascript-Adapter schauen.
Gefunden. -
@blackeagle998 Vielleicht kannst du aber in deinem Post für die Nachwelt noch aufnehmen, dass es der Haken bei "Merge" nicht unbedingt gesetzt werden sollte.
Für den nachstehende Fall erhöht sich nämlich sonst der Counter nie.
tahoma.0 2021-03-26 14:38:13.208 info (18402) Login failed three times, waiting 2 minutes before retrying. tahoma.0 2021-03-26 14:38:13.208 warn (18402) error during tahomalink request: undefined ->401 retry login tahoma.0 2021-03-26 14:36:13.093 info (18402) Login failed three times, waiting 2 minutes before retrying. tahoma.0 2021-03-26 14:36:13.091 warn (18402) error during tahomalink request: undefined ->401 retry login tahoma.0 2021-03-26 14:34:12.940 info (18402) Login failed three times, waiting 2 minutes before retrying. tahoma.0 2021-03-26 14:34:12.939 warn (18402) error during tahomalink request: undefined ->401 retry login tahoma.0 2021-03-26 14:34:12.800 warn (18402) error during tahomalink request: undefined ->401 retry login tahoma.0 2021-03-26 14:34:12.651 warn (18402) error during tahomalink request: undefined ->401 retry login tahoma.0 2021-03-26 14:34:12.509 warn (18402) error during tahomalink request: undefined ->401 retry login tahoma.0 2021-03-26 14:34:12.383 warn (18402) error during tahomalink request: undefined ->401 retry login tahoma.0 2021-03-26 14:34:12.010 info (18402) [INFO] Configured polling interval: 10000 tahoma.0 2021-03-26 14:34:12.006 info (18402) [START] Starting adapter tahoma v0.3.3.3 tahoma.0 2021-03-26 14:34:11.906 info (18402) starting. Version 0.3.3 in /opt/iobroker/node_modules/iobroker.tahoma, node: v12.16.3, js-controller: 3.1.4
@blackeagle998 said in Test Adapter Somfy Tahoma v0.3.x GitHub:
@saschas
Der aus meiner Sicht einfachste Weg:-
LOG Parser Adapter installieren und im Reiter Parser-Regeln einen Eintrag "Tahoma" hinzufügen, siehe Screenshot letzte Zeile (WARN anhaken, bei Bedarf auch ERROR):
-
In der Objektansicht erhält man dann folgende Struktur:
-
Auf Änderungen des Datenpunktes 'logparser.0.filters.tahoma.jsonCount' subscriben. Wenn Anzahl größer x (hier 10), dann clear das JSON und führe die Funktion "restartTahomaAdapter" aus:
on({id:'logparser.0.filters.tahoma.jsonCount', change:'ne'}, function (dp) { if (dp.state.val >= 10){ setState('logparser.0.filters.tahoma.emptyJson', true); restartTahomaAdapter(); } }); function restartTahomaAdapter(){ let adapter_id = 'system.adapter.tahoma.0'; var obj = getObject(adapter_id); if (obj.common.enabled){ obj.common.enabled = false; // Adapter ausschalten setObject(adapter_id, obj); log('Tahoma Instanz ausgeschaltet.', 'info'); } setTimeout(function(){ obj.common.enabled = true; // Adapter einschalten setObject(adapter_id, obj); log('Tahoma Instanz wieder eingeschaltet.', 'info'); },10000); }
Das lässt sich beliebig ausbauen, bspw. kann man pro Fehler genau eine LOG-Parser Regel anlegen und somit pro Fehler ein JSON erhalten.
Mehr kann ich nicht liefern, meine Inhalte sind speziell auf meine Steuerung zugeschnitten, das würde hier nicht passen. -
-
@saschas
Erledigt, danke für den Hinweis. -
Hat schon jemand eine Idee zu der neuen warn Meldung seit dem letzten Box Update?
tahoma.0 2021-03-27 13:40:11.362 warn (2032) State "tahoma.0.devices.Laura_rechts.states.io:PriorityLockLevelState" has no existing object, this might lead to an error in future versions tahoma.0 2021-03-27 13:40:11.362 warn (2032) State "tahoma.0.devices.Laura_rechts.states.io:PriorityLockOriginatorState" has no existing object, this might lead to an error in future versions
Jetzt habe ich zwar blackeagle998's Skript erfolgreich aktiviert, aber mit dieser neuen Meldung, die alle 2 Minuten kommt, würde der Adapter ja alle 10 Minuten neu gestartet werden...
-
@pfahlenbauer
Dann setz doch diese Meldung auf die Blacklist in der Logparser Config. Somit erscheint die nicht mehr im JSON. -
@blackeagle998
Danke, gute Idee. -
@derdominik said in Test Adapter Somfy Tahoma v0.3.x GitHub:
Hallo, ich habe heute den jscontroller aktualisiert und seit dem kommt bei jedem Status-Refresh folgende WARN-Meldungen:
State "tahoma.0.devices.Studio_1.states.io:PriorityLockLevelState" has no existing object, this might lead to an error in future versions State "tahoma.0.devices.Studio_1.states.io:PriorityLockOriginatorState" has no existing object, this might lead to an error in future versions
Hat jemand eine Idee wie ich die Meldungen wegbekomme?
Gibt es dazu schon etwas neues? Habt ihr die Objekte von Hand angelegt, damit die Warnmeldungen verschwinden?
-
Du kannst direkt im Code selber korrigieren : https://github.com/StrathCole/ioBroker.tahoma/issues/17
Hat bei mir geklappt. -
hallo.
der Adapter ist prima und funktioniert bei mir gut.
Jetzt habe ich allerdings im log eine ständige Warnmeldung alle paar Sekunden entdeckt. Weiter unten ein Ausschnitte, das geht ständig so weiter...
Damit kann ich leider nichts anfangen. Muss ich da was anders einstellen irgendwo?
danke im Voraus für die Hilfe
1 PID Zeit warn Nachricht tahoma.0 542 2021-07-24 22:20:06.921 warn refresh device state failed tahoma.0 542 2021-07-24 22:20:06.921 warn Body: {"errorCode":"TOO_MANY_OPERATIONS_IN_PROGRESS","error":"Too many asynchronous jobs, try again later (job was Full refresh all states)"} tahoma.0 542 2021-07-24 22:20:06.920 warn Response: {"statusCode":400,"body":{"errorCode":"TOO_MANY_OPERATIONS_IN_PROGRESS","error":"Too many asynchronous jobs, try again later (job was Full refresh all states)"},"headers":{"date":"Sat, 24 Jul 2021 20:20:06 GMT","server":"overkiz","strict-transport-security":"max-age=31536000; includeSubDomains","content-type":"application/json;charset=UTF-8","connection":"close","transfer-encoding":"chunked"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"host":"www.tahomalink.com","port":443,"hostname":"www.tahomalink.com","hash":null,"search":null,"query":null,"pathname":"/enduser-mobile-web/enduserAPI//setup/devices/states/refresh","path":"/enduser-mobile-web/enduserAPI//setup/devices/states/refresh","href":"https://www.tahomalink.com/enduser-mobile-web/enduserAPI//setup/devices/states/refresh"},"method":"POST","headers":{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36","cookie":"JSESSIONID=B1CFD773A8FA9F4D9DE26963E15B7FEE","accept":"application/json","content-type":"application/json","content-length":2}}} tahoma.0 542 2021-07-24 22:20:06.920 warn error during tahomalink request: null, request path: /setup/devices/states/refresh with payload:{} tahoma.0 542 2021-07-24 22:20:06.920 warn Body: {"errorCode":"UNSPECIFIED_ERROR","error":"No registered event listener"} tahoma.0 542 2021-07-24 22:20:06.920 warn Response: {"statusCode":400,"body":{"errorCode":"UNSPECIFIED_ERROR","error":"No registered event listener"},"headers":{"date":"Sat, 24 Jul 2021 20:20:06 GMT","server":"overkiz","strict-transport-security":"max-age=31536000; includeSubDomains","content-type":"application/json;charset=UTF-8","connection":"close","transfer-encoding":"chunked"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"host":"www.tahomalink.com","port":443,"hostname":"www.tahomalink.com","hash":null,"search":null,"query":null,"pathname":"/enduser-mobile-web/enduserAPI/events/8604aac4-98e4-e192-30fa-1977c4b80e7f/fetch","path":"/enduser-mobile-web/enduserAPI/events/8604aac4-98e4-e192-30fa-1977c4b80e7f/fetch","href":"https://www.tahomalink.com/enduser-mobile-web/enduserAPI/events/8604aac4-98e4-e192-30fa-1977c4b80e7f/fetch"},"method":"POST","headers":{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36","cookie":"JSESSIONID=B1CFD773A8FA9F4D9DE26963E15B7FEE","accept":"application/json","content-type":"application/json","content-length":2}}} tahoma.0 542 2021-07-24 22:20:06.919 warn error during tahomalink request: null, request path: events/8604aac4-98e4-e192-30fa-1977c4b80e7f/fetch with payload:{} tahoma.0 542 2021-07-24 22:19:46.925 warn refresh device state failed tahoma.0 542 2021-07-24 22:19:46.925 warn Body: {"errorCode":"TOO_MANY_OPERATIONS_IN_PROGRESS","error":"Too many asynchronous jobs, try again later (job was Full refresh all states)"} tahoma.0 542 2021-07-24 22:19:46.925 warn Response: {"statusCode":400,"body":{"errorCode":"TOO_MANY_OPERATIONS_IN_PROGRESS","error":"Too many asynchronous jobs, try again later (job was Full refresh all states)"},"headers":{"date":"Sat, 24 Jul 2021 20:19:46 GMT","server":"overkiz","strict-transport-security":"max-age=31536000; includeSubDomains","content-type":"application/json;charset=UTF-8","connection":"close","transfer-encoding":"chunked"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"host":"www.tahomalink.com","port":443,"hostname":"www.tahomalink.com","hash":null,"search":null,"query":null,"pathname":"/enduser-mobile-web/enduserAPI//setup/devices/states/refresh","path":"/enduser-mobile-web/enduserAPI//setup/devices/states/refresh","href":"https://www.tahomalink.com/enduser-mobile-web/enduserAPI//setup/devices/states/refresh"},"method":"POST","headers":{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36","cookie":"JSESSIONID=B1CFD773A8FA9F4D9DE26963E15B7FEE","accept":"application/json","content-type":"application/json","content-length":2}}} tahoma.0 542 2021-07-24 22:19:46.925 warn error during tahomalink request: null, request path: /setup/devices/states/refresh with payload:{} tahoma.0 542 2021-07-24 22:19:46.921 warn Body: {"errorCode":"UNSPECIFIED_ERROR","error":"No registered event listener"} tahoma.0 542 2021-07-24 22:19:46.921 warn Response: {"statusCode":400,"body":{"errorCode":"UNSPECIFIED_ERROR","error":"No registered event listener"},"headers":{"date":"Sat, 24 Jul 2021 20:19:46 GMT","server":"overkiz","strict-transport-security":"max-age=31536000; includeSubDomains","content-type":"application/json;charset=UTF-8","connection":"close","transfer-encoding":"chunked"},"request":{"uri":{"protocol":"https:","slashes":true,"auth":null,"host":"www.tahomalink.com","port":443,"hostname":"www.tahomalink.com","hash":null,"search":null,"query":null,"pathname":"/enduser-mobile-web/enduserAPI/events/8604aac4-98e4-e192-30fa-1977c4b80e7f/fetch","path":"/enduser-mobile-web/enduserAPI/events/8604aac4-98e4-e192-30fa-1977c4b80e7f/fetch","href":"https://www.tahomalink.com/enduser-mobile-web/enduserAPI/events/8604aac4-98e4-e192-30fa-1977c4b80e7f/fetch"},"method":"POST","headers":{"User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36","cookie":"JSESSIONID=B1CFD773A8FA9F4D9DE26963E15B7FEE","accept":"application/json","content-type":"application/json","content-length":2}}} tahoma.0 542 2021-07-24 22:19:46.920 warn error during tahomalink request: null, request path: events/8604aac4-98e4-e192-30fa-1977c4b80e7f/fetch with payload:{}