NEWS
Netatmo / Websocket Error
-
@kimukao Bei mir auch
node.js: v14.18.2
NPM: 6.14.15 -
@kimukao Hast Du eine Kamera verbunden? Ich nicht; hatte aber das Häkchen bei den Adaptereinstellungen bei "Welcome Innen/Außenkamera" noch gesetzt. Häkchen entfernt, keine Meldung mehr. Vielleicht hilft es.
-
Bei mir auch mit Aussenkamera
-
@olivbus Super, danke! Das hat geholfen. Hab auch keine Kamera, das Häkchen war aber gesetzt. Entfernt, jetzt ist Ruhe…
-
@olivbus
Bei mir waren bisher "Wetterstation", "Kamera" und "netatmoCO-Sensor" angehakt.
Mit diesen Einstellungen habe ich seit einigen Tagen ebenfalls die Websocket-Error Log-Einträge.Die Kameras habe ich nicht im Einsatz, der Haken war bei mir historisch (das wurde mal für das Login des Adapters benötigt).
Diesen Haken habe ich rausgenommen und weiterhin die Error-Einträge.Die CO-Sensoren habe ich im Einsatz und muss die angehakt lassen, habe damit weiterhin Websocket-Error.
netatmo.0 20835 2022-12-01 09:13:06.498 info Websocket error: websocket error, Error: websocket error at WS.Transport.onError (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:64:13) at WebSocket.ws.onerror (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:149:10) at WebSocket.onError (/opt/iobroker/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:452:14) at WebSocket.emit (node:events:513:28) at WebSocket.emit (node:domain:489:12) at ClientRequest.response (/opt/iobroker/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:721:12) at Object.onceWrapper (node:events:628:26) at ClientRequest.emit (node:events:525:35) at ClientRequest.emit (node:domain:489:12) at HTTPParser.parserOnIncomingClient [as onIncoming] (node:_http_client:693:27) netatmo.0 20835 2022-12-01 09:13:01.206 info Websocket error: websocket error, Error: websocket error at WS.Transport.onError (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:64:13) at WebSocket.ws.onerror (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:149:10) at WebSocket.onError (/opt/iobroker/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:452:14) at WebSocket.emit (node:events:513:28) at WebSocket.emit (node:domain:489:12) at ClientRequest.response (/opt/iobroker/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:721:12) at Object.onceWrapper (node:events:628:26) at ClientRequest.emit (node:events:525:35) at ClientRequest.emit (node:domain:489:12) at HTTPParser.parserOnIncomingClient [as onIncoming] (node:_http_client:693:27) netatmo.0 20835 2022-12-01 09:12:55.914 info Websocket error: websocket error, Error: websocket error at WS.Transport.onError (/opt/iobroker/node_modules/engine.io-client/lib/transport.js:64:13) at WebSocket.ws.onerror (/opt/iobroker/node_modules/engine.io-client/lib/transports/websocket.js:149:10) at WebSocket.onError (/opt/iobroker/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:452:14) at WebSocket.emit (node:events:513:28) at WebSocket.emit (node:domain:489:12) at ClientRequest.response (/opt/iobroker/node_modules/engine.io-client/node_modules/ws/lib/WebSocket.js:721:12) at Object.onceWrapper (node:events:628:26) at ClientRequest.emit (node:events:525:35) at ClientRequest.emit (node:domain:489:12) at HTTPParser.parserOnIncomingClient [as onIncoming] (node:_http_client:693:27)
Wenn ich testweise den Haken auch bei CO-Sensoren rausnehme und nur die Wetterstation angehakt lasse, ist Ruhe mit den Fehlermeldungen.
[Authentificate with Netatmo] habe ich jeweils gemacht.
@Thomas-Braun Ich denke, CO-Sensor und Kamera laufen bei Netatmo unter Kategorie "Security-Produkte", deshalb die Vermutung dass der seit kurzem auftretende Websocket-Error mit den Netatmo-Security-Produkten zusammenhängt. Da scheint Netatmo vor einigen Tagen was geändert zu haben, denn bis dahin lief der Netatmo-Adapter problemlos und ohne Fehlermeldungen.
-
Bei mir das gleiche seit gestern.
Log sieht genau so aus wie bei @kimukao.
Habe einen Netatmo CO-Sensor und die Netatmo DoorBell.Node.JS: v16.18.1
NPM 8.19.2 -
Hallo zusammen,
Ich habe auch mal den Haken bei den Kameras entfernt und auch bei mir kommt nichts mehr ins Log.
Da ich die Kameras mit cgi Befehlen ansteuere, funktioniert sie weiterhin.
Bekomme aber das im Log
API Warning: getStationsDataError error: Application does not have the good scope rights
Gruss
-
Nach Aktualisierung der Netatmo App spamt mir dieser das Protokoll zu - wenn ich den Haken bei Außenkamera wegnehme hört es auf (aber dann bringt mir der Adapter halt auch nichts mehr) Will auf die Netatmo Presence zugreifen...
Ein & Ausschalten mache ich per Telegram per URL Befehl ABER ich sende mir ab & an Screenshots der Kamera per Telegram UND das funktioniert dann nicht mehr wenn ich den Haken wegmache (dann dürfte die URL nicht aktuell sein bei Live Picture)
-
@gre4t0ne
Ja ist bei mir auch so, hab ihn erst mal aus bis es eine Lösung gibt.
Der Netatmo Adapter ist der Adapter, der bei mir noch nie richtig lief, was ich da schon für Zeit investiert habe. Und ich weiß immer nicht, wo das Problem ist bei Netatmo oder beim Adapter, hab schon überlegt alle Kameras und die Türklingel zu verkaufen. -
Der Adapter greift auf einen eigenen Dienst zurück um die Events zu Pushen.
Dieser Dienst lief bisher auf einer Kostenlosen Plattform, die haben den Kostenlosen Dienst eingestellt.
Der Entwickler weis das und kümmert sich um einen Ersatz.Also einfach noch ein paar Tage Geduld haben.
-
@andy005 Hm ... auch wenn Off Topic für hier: Bitte Details in GitHub issue bereitstellen. ggff mit Debug Log. Es sind stand heute nur wenige Issues der neuen Versionen bekannt seitdem ich das im laufe des Jahres überarbeitet hatte ...
Jetzt versuchen wir den einen Service neu aufzustellen und dann gibt es eine neue Version damit.
-
So, ich habe mich heute mit Bluefox beraten wie wir das angehen und wir haben folgendes beschlossen:
Die Konvertierung der Callbacks von Netatmo bei Events und Weiterleitung an den Adapter bedarf eine Komponente die quasi "immer" verfügbar ist. So etwas zusätzlich neu und nur für Netatmo aufzusetzen ist zwar machbar kostet aber auch extra Geld und kontinuierlichen Aufwand in der Wartung - egal wer und wo man es macht. Die kostenlose Variante von Heroku wurde leider eingestellt und abgeschaltet.
ioBroker hat allerdings schon eine solche Komponente: den iot Service, welche für alle Assistenten-Anfragen von Alexa und Google genutzt wird. Der ist auch sehr performant und wohl auch bei vielen von Euch bereist im Einsatz.
Wir werden in den nächsten Tagen eine Anpassung am iot Adapter vornehmen und den Netatmo Adapter so anpassen, dass ab dann diese Kommunikation über einen Pro-Cloud/iot Account mit (mindestens) einer Assistenten Lizenz abgewickelt werden kann. Dies ist nur relevant wenn man Events benötigt (für die normale "nur Wetterstation-Installationen ist das eher irrelevant, für Doorbell oder Rauchmelder und so üblicherweise sinnvoll/nötig). Eine Fernzugriffslizenz geht natürlich auch. Ein Pro-Account ohne eine Lizenz (der Free Modus mit 20 Requests pro Tag) geht NICHT (und macht für Events auch keinen Sinn)!
Ich hoffe auf Euer Verständnis, aber damit nutzen wir bereits bestehende Funktionen und können es "einfach mit" umsetzen und nichts eigenes besonderes machen.
Ingo
PS: Auch wenn das ausser "bad Timing" nur bedingt was miteinander zu tun hat ... Die iot-Lizenzen sind gerade im Weihnachtsangebot ;-))
-
@apollon77 Ist der ganze Scheiß wirklich notwendig?
Bei HASS funktioniert es doch auch ohne den ganzen Netzwerk und Account Kram. Ich würde vermuten, dass die einfach Homekit emulieren oder so etwas.
Alternativ wäre die Möglichkeit nicht schlecht, wenn wir das entsprechend selbst hosten können und ich pack es auf mein VServer, was für die Nutzung für eine Person ausreichend sein sollte -
@toonphantom So, dann schauen wir doch mal was Homeassistant tut ...
--> https://www.home-assistant.io/integrations/netatmo/#webhook-events
Also Empfehlung ist
To be able to receive events from Netatmo, your Home Assistant instance needs to be accessible from the web over port 443.
Und ehrlich ... NEIN, mit so einem "Scheiß" fangen wir gar nicht an, weil das einfach unsicher hoch 10 ist, SSL Zertifikatsmanagement und einen dyndns Entrag und am Ende für "Normal-User" Port-Weiterleitungen und sonst was braucht.
Ganz ehrlich: Das ist kompliziert und ich werde nicht anfangen sowas als Option auch nur zu empfehlen. Da ist die Pro Cloud Option - mit der starken Vermutung das wohl 80% der betroffenen User eh schon eine Assistanten Lizenz haben - viel einfacher und intuitiver vor allem SICHERER!
Das du vllt einen VServer hast und das Wissen soetwas sicher zu betreiben mag sein - damit wirst DU aber eine ziemliche Ausnahme sein, aber jetzt mehrere Wege im Adapter einzubauen und das am Ende auch zu unterstützen finde ich nicht sonderlich zielführend. Jetzt lass es bitte mal so bauen - wenn es am Ende mehrere User gibt die es so sehen wie Du kann man nochmals reden.
-
Das heißt das ich einen Screenshot meiner Netatmo Kamera nie wieder (kostenlos) mir per Telegram zusenden lassen kann?
-
@gre4t0ne so wie ich das verstehe, ist es zukünftig nötig, mindestens die Lizenz hier zu holen:
https://iobroker.pro/www/pricing#assistantDer Preis an sich ist okay, aber ich will mein ganzes System nicht in der Cloud haben. Für mich kommt es daher gar nicht infrage.
-
@gre4t0ne Leider korrekt. Jede technische Lösung das umzusetzen kostet Geld - wer soll das denn bezahlen?
Alternativ kontaktiere Netatmo und stelle dort einen Feature Request das die so eine Telegram Option erlauben. befürchte nur das du da eher keinen Erfolg haben wirst
-
@toonphantom Hhmm ... aber Du überlegst deinen privaten Server der im Netz steht zu nutzen um die Daten an dein smart home weiterzuleiten? Ja ok man könnte es so bauen wie früher ... aber auch dann hast du was im netz.
Auch "nicht in der Cloud" haben ist so eine sache ... Der iot Service ist im ersten Schritt ein Endpunkt im Netz über den man Alexa und Google nutzen kann ... oder wie im Falle hier POST Daten bekommen kann. Der Endpunkt ist "Installationsspezifisch" - also am Ende ist es technisch das gleiche wie deine VPS variante oder das was bisher da war: Es gibt einen Server im Netz und einen iot Adapter der eine "Websocket-Verbindung iobroker -> Service" hat und wenn jemand An deine Userspezifische URL Daten sendet dann werden die darüber an den iot Adapter weitergeleitet und landen dort in einem State als Werte.
Also Faktisch ist es nicht so das "deine installation in der Cloud" steht, ausschliesslich der iot Adapter ist über definierte Punkte erreichbar. Also bisher hattest Du da einen Service der bei Heroku lief und wo sich der Adapter per Socket.io hin verbunden hat und über die Home ID hat er "seine" Daten dann gepush bekommen.
Also Technisch ist das 10000% das gleiche wie das was der Netatmo Adapter bisher getan hat ... Der frühere Entwickler hat das nicht groß in der Readme erwähnt, aber das war bisher die technische Realität. Weiterhin wurde der Service bisher von einer Privatperson betrieben.
Also wenn hättest DU damit den Adapter nie verwenden dürfen weil effektiv "Dein netatmo Adapter" so bisher "In der Cloud stand" ...
Also nochmal: es kann sich über den iot Service niemand in dein System einloggen (das würde mindestens den Cloud Adapter benötigen). Der iot service ist ausschließlich dazu da um Daten auszutauschen. Einmal -wenn eingerichtet - zu Amazon, Google oder alisa und ggf zu custom Diensten die über einen speziellen Endpunkt Daten per HTTP GET oder POST zu deinem System senden können. Mehr geht da nicht.
-
@apollon77 yep, you're right. Letztendlich ist fast alles irgendwie in die Cloud. Aber ich will nicht mein Komplettsystem da drin haben. Wenn die einzelnen Components drin sind, kommt es mir zumindest sicherer vor, als wenn man über ein Service Vollzugriff bekommen kann, mit dem man dann meine Kameras ausmachen kann, die Türen einfach öffnen kann usw.
Wenn die zuvor bei Heroku gehostete Anwendung bei mir laufen würde, wäre es natürlich auch nicht gänzlich sicher, aber selbst wenn jemand Zugriff erlangen würde, hätte die Person in dem Moment erstmal nur Zugriff auf die Kameras und wüsste nicht, was sich sonst so in meinem System befindet.... Außer der Heroku Service hatte theoretischen Vollzugriff auf das gesamte ioBroker System und nicht nur auf die eigenen Properties, vom Plugin. Aber falls das der Fall ist, erscheint mir ganz ioBroker wie ein unsicheres System bei dem ein Pluginersteller an alle Daten rankommen könnte -
@toonphantom Ließ bitte meinen letzten Post nochmals genau. Da steht nichts von einem auch nur annäherndem Vollzugriff - oder unkontrolliertem Zugriff!!
Der iot service ist an alexa und Google und alisa angebunden und erlaubt die Steuerung der im iot adapter konfigurierten Geräten über Alexa und Google und alisa (je nach konfig). Wenn du davon nichts nutzt ist das egal weil irrelevant.
Zusätzlich - und das ist hier relevant - ist es ein Daten Eingangskanal wo die über eine userspezifische url reingesendeten Daten in einem state unter iot.0.services.name landen. Mehr nicht!!! Was man darüber tun kann ist dann Sache von eigenen JavaScript Skripten oder (wie im Falle hier) das der Netatmo Adapter Die Daten nehmen wird und als Events bereitstellen wird.
Jetzt erkläre mir bitte wo du hier eine Unsicherheit oder ein Problem Siehst?
Der bisherige netatmo Adapter hat Genaunehmens gleiche getan - nur halt anders.
Ergo: bisher war netatmo also die Komponente der Daten als eingangskanal. Jetzt ist es der iot Adapter als Komponente die das gleiche tut (und je nach Konfiguration noch mehr kann - wenn man will)