bombadiltom / homebridge-rademacher-homepilot

MIT License
26 stars 21 forks source link

Aktoren #41

Closed BitSJ9 closed 3 years ago

BitSJ9 commented 4 years ago

Aktoren und der Steckdosenaktor schalten sich unwillkürlich täglich aus.

bombadiltom commented 4 years ago

immer zu gleichen Zeit? Was steht im Logfile zu der Zeit?

BitSJ9 commented 4 years ago

Habe erst gemeint, das es nur in der Nacht passiert, leider ist es auch einmal mittags passiert. Habe jetzt ein normalen log angeschaut, um den Unterschied zu sehen. Switch True bedeutet eingeschaltet, jetzt muss ich nur beobachten, wann der Aktor abschaltet um dann im Log nachzusehen.

BitSJ9 commented 4 years ago

Es ist wirklich schwierig nach zu vollziehen warum der Status ändert, weil es willkürlich 1 mal pro Tag ändert. Vielleicht ist es heute beim Updating vom Status gekommen, oder nach einem Sprachbefehl mit Siri bei dem die Geräte nicht verfügbar waren, aber dann doch den Befehl angenommen hatten. Bei diesem Befehl sind die Rolladen, aber nicht die Aktoren angesprochen gewesen. Eventuell Schalte ich die Homebridge ab und schaue ob das Phänomen immer noch auftritt.

BitSJ9 commented 4 years ago

Also wieder einen Tag ohne HomeApp und Homebridge, diesmal bleiben alle Steckdosen wie gewohnt an. Der Fehler scheint aufzutreten, wenn im Log getting und danach Set kommt. Ich habe aber auch schon gelesen ob es an iOS liegt und das Siri falsche Befehle ausführt.

BitSJ9 commented 3 years ago

Hi, seit dem letzten Update habe ich wieder das Problem das die Aktoren ausschalten. Liegt das an Apple HomeKit? Das Rademacher Update habe ich jetzt mit der letzten Rademacher-Homebridge Version probiert und der Fehler ist immer noch da. Sollte ich nochmal eine alte Version 0.5 oder so testen?

bombadiltom commented 3 years ago

GET error for path http://192.168.178.21/v4/devices/1010004: Error: ESOCKETTIMEDOUT bedeutet, dass der HomePilot von HomeBridge aus nicht erreichbar ist. Wie soll die HomeBridge dann irgendetwas abschalten? Stimmt die IP-Adresse?

BitSJ9 commented 3 years ago

Ok, dann werde ich die LogFile mal beobachten wann und mit welchem Befehl diese ausgeschaltet werden. Bin jetzt auf 0.4.10 zurück um das Problem ein zu grenzen.

BitSJ9 commented 3 years ago

Hi, also seit zwei Tagen mit Version v0.4.10 keine Probleme mehr, das Aktoren ausschalten, ist in den anderen Version da etwas geändert? Soll ich jetzt alle anderen Versionen nach und nach testen?

bombadiltom commented 3 years ago

um welche Aktoren geht es überhaupt? ich kann mir immer noch nicht vorstellen, warum das passieren sollte. Gibt es vielleicht eine Szene im Homepilot, die ausgelöst wird? Ohne Logdateien kann ich da nichts machen

BitSJ9 commented 3 years ago

Normaler 2er Aktor. Ich versuche sonst noch einmal die neuste Version ohne etwas anderes zu ändern. Sobald der Fehler wieder auftritt suche ich diesen im Log.

Geronyy commented 3 years ago

Hey, ich habe grade die 0.6.4 installiert und das gleiche Phänomen mit den DuoFern2 Aktoren.


30.12.2020, 13:55:23 [RademacherHomePilot] GET error for path http://192.168.178.72/v4/devices/1010009: Error: ESOCKETTIMEDOUT at ClientRequest. (/home/hoobs/.hoobs/node_modules/request/request.js:816:19) at Object.onceWrapper (events.js:421:28) at ClientRequest.emit (events.js:315:20) at Socket.emitRequestTimeout (_http_client.js:784:9) at Object.onceWrapper (events.js:421:28) at Socket.emit (events.js:327:22) at Socket._onTimeout (net.js:483:8) at listOnTimeout (internal/timers.js:554:17) at processTimers (internal/timers.js:497:7) { code: 'ESOCKETTIMEDOUT', connect: false } 30.12.2020, 13:55:23 [RademacherHomePilot] GET error for path http://192.168.178.72/v4/devices/1010008: Error: ESOCKETTIMEDOUT at ClientRequest. (/home/hoobs/.hoobs/node_modules/request/request.js:816:19) at Object.onceWrapper (events.js:421:28) at ClientRequest.emit (events.js:315:20) at Socket.emitRequestTimeout (_http_client.js:784:9) at Object.onceWrapper (events.js:421:28) at Socket.emit (events.js:327:22) at Socket._onTimeout (net.js:483:8) at listOnTimeout (internal/timers.js:554:17) at processTimers (internal/timers.js:497:7) { code: 'ESOCKETTIMEDOUT', connect: false }

Das ist ein wiederkehrender Fehler im Log-File. Vielleicht hilft das weiter.

Geronyy commented 3 years ago

Habe jetzt auch auf die Version 0.4.1 umgestellt in der Hoffnung auf Besserung. @bombadiltom Hast du eine Idee woran es liegen könnte? Ich hab gesehen, dass du die letzten Tage immer wieder Änderungen und neue Versionen veröffentlicht hast

BitSJ9 commented 3 years ago

Habe jetzt seit 1 Tag auf V 0.6.4 gewechselt, um es noch einmal zu testen. Jetzt habe ich bedenken Homebridge von v1.2.4 auf 1.2.5 zu updaten. Also lass ich dort die alte Version. Wenn der TimeOut Fehler heißt das der HomePilot keine Verbindung zum Aktor hat, könnte es da nicht sein das das Plugin den Status vom Aktor ändert sobald er wieder eine Verbindung hat? Sobald ich den Fehler eingegrenzt hab melde ich mich mit den Homebridge Protokoll.

Geronyy commented 3 years ago

Habe jetzt seit 1 Tag auf V 0.6.4 gewechselt, um es noch einmal zu testen.

Jetzt habe ich bedenken Homebridge von v1.2.4 auf 1.2.5 zu updaten. Also lass ich dort die alte Version.

Wenn der TimeOut Fehler heißt das der HomePilot keine Verbindung zum Aktor hat, könnte es da nicht sein das das Plugin den Status vom Aktor ändert sobald er wieder eine Verbindung hat?

Sobald ich den Fehler eingegrenzt hab melde ich mich mit den Homebridge Protokoll.

Den verdachte ich heute auch schon, dass sobald der Fehler auftritt oder ein kurzzeitiger disconnect sein sollte das Plugin den bisherigen Status des Aktors mit "aus" überschreibt und damit die Autoren ausschaltet.

bombadiltom commented 3 years ago

was kommt denn bei "curl -v http://192.168.178.72/v4/devices/1010008"? Und immer noch: ESOCKETTIMEDOUT ist ein Netzwerkfehler, da hat weder Homebridge noch irgendein Plugin was mit zu tun. Ggf. nutzt das Netzwerkdevice irgendeinen Stromsparmodus? Kabel oder WLAN?

Geronyy commented 3 years ago

Sorry habe erst später in den anderen issus gelesen dass du darauf schon geantwortet hattest! Ich hab gestern den Pi und den HomePilot auf statische IPs umgezogen. Alles läuft über Kabel, nix per WLAN angebunden.

Soweit ich das im log gesehen habe trat bei dem Fehler ein Timeout auf.

Ich frage mich, warum er bei einem timeout den bisherigen Status dann ändert und nicht wartet bis er den Aktie wieder findet und schaut welchen Status er hat.

BitSJ9 commented 3 years ago

Meine NAS auf der Homebridge im Docker läuft ist auch per LAN an der FritzBox, genau wie der Homepilot. Ist das nicht die Funkverbindung vom Homepilot zum Aktor die kurzzeitig verloren geht?

Geronyy commented 3 years ago

Frohes neues!

@bombadiltom wenn der "ESOCKETTIMEOUT"-Fehler ein Netzwerkproblem beschreibt, hast du eine Idee was die Ursache für folgenden Fehler sein kann?

GET error for path http://192.168.178.203/v4/devices/1010000: Error: ETIMEDOUT at Timeout. (/usr/local/lib/node_modules/homebridge-rademacher-homepilot/node_modules/request/request.js:848:19) at listOnTimeout (internal/timers.js:554:17) at processTimers (internal/timers.js:497:7) { code: 'ETIMEDOUT', connect: true }

Der Fehler ist gestern Nacht aufgetreten und nicht nur bei dem einen Gerät, der selbe Fehler bei insgesamt 5 DuoFern2 Aktoren welche Licht schalten, die anderen 4 DuFern2 Aktoren, die Jalousien schalten hatten keinen Fehler.

BitSJ9 commented 3 years ago

Frohes Neues!

Bis jetzt gehen die DuoFern Aktoren ohne Ausfall. In der Nacht hat ein Gerät die Verbindung verloren und ein Fehler in der Homebridge UI den ich nicht gelöst bekomme. Wobei ich nicht genau weiß, ob dieser Relevant ist oder nur mit dem auslesen von Updates zu tun hat.

MfG Stefan

[1/1/2021, 1:14:53 AM] [homepilot] GET error for path http://192.168.178.21/v4/devices/10031: Error: ESOCKETTIMEDOUT at ClientRequest. (/homebridge/node_modules/homebridge-rademacher-homepilot/node_modules/request/request.js:816:19) at Object.onceWrapper (events.js:421:28) at ClientRequest.emit (events.js:315:20) at Socket.emitRequestTimeout (_http_client.js:784:9) at Object.onceWrapper (events.js:421:28) at Socket.emit (events.js:327:22) at Socket._onTimeout (net.js:483:8) at listOnTimeout (internal/timers.js:554:17) at processTimers (internal/timers.js:497:7) { code: 'ESOCKETTIMEDOUT', connect: false } [1/1/2021, 1:15:46 AM] [Homebridge UI] Running scheduled instance backup... [1/1/2021, 1:15:46 AM] [Homebridge UI] Creating temporary backup archive at /tmp/homebridge-backup-OHaJjG/homebridge-backup-0EBBBDEB7880.tar.gz [1/1/2021, 1:15:51 AM] [Homebridge UI] [homebridge-rademacher-homepilot] Failed to check registry.npmjs.org for updates: "timeout of 5000ms exceeded" - see https://git.io/JJSz6 for help. [1/1/2021, 1:15:51 AM] [Homebridge UI] [homebridge-config-ui-x] Failed to check registry.npmjs.org for updates: "timeout of 5000ms exceeded" - see https://git.io/JJSz6 for help.

BitSJ9 commented 3 years ago

Das Gerät ohne Verbindung war ein Rollladenmotor, bei dem der Fehler keine Auswirkungen hat.

Geronyy commented 3 years ago

@BitSJ9 Auf welche Plugin Version und Homebridge Version bist du denn aktuell unterwegs?

bombadiltom commented 3 years ago

das Plugin kommuniziert ausschliesslich mit dem Homepilot und der mit den Ceräten. Die Fehlermeldung bezieht sich auf die Verbindung zwischen Pligin und Homepilot, betrifft also alle Geräte!

bombadiltom commented 3 years ago

Und ein GET liest nur den Status. Da siNd auch noch andere Fehlermeldungen mit Netzwerkfehlern, scheint eher ein generelles Netzwerkproblem zu sein

BitSJ9 commented 3 years ago

Homepilot 5.2.23 Homebridge 1.2.4 Homepilot Plugin 0.6.4

Geronyy commented 3 years ago

@bombadiltom welche Node.js Version empfiehlst du denn? habe grade mal von 14.xxx auf die neuste 15.5.0 gewechselt. Welche hast du laufen? bekomme immer noch hin und wieder Fehler, wobei bei einem ETIMEOUT nicht der Zustandsspeicher der Endgeräte "gelöscht" oder überschrieben wird. Bei einem ESOCKETTIMEOUT wird der Gerätezustand eines Aktors automatisch auf "aus" gestellt und die Kampen gehen aus. ich habe grundsätzlich nix dagegen, dass Timeouts auftreten (dafür sind sie ja da ;D) aber ich verstehe nicht, warum bei dem einen der Gerätezustand überschrieben wird...

Geronyy commented 3 years ago

@bombadiltom andere Idee: Welchen Router hast du im Einsatz? Ich habe eine FritzBox und bin grade auf Idee gekommen ob nicht der DNS-Rebind-Schutz der FRITZ!Box für die Fehler verantwortlich ist, da das Plugin mit mir dem HomePilot ja über mDNS zu kommunizieren scheint 🤔

bombadiltom commented 3 years ago

nutze auch eine Fritzbox, steht denn in der Config die IP-Adresse oder der Hostname?

Geronyy commented 3 years ago

habe da folgendes http://192.168.178.204 ohne http vorneweg läufts nicht hostname habe ich noch nicht ausprobiert

bombadiltom commented 3 years ago

dann hat es mit mDNS nichts zu tun, das wäre nur der Fall, wenn da ein Hostname stünde. Bitte mal debug auf true setzen und dann das Log posten, da müsste dann "updating to ..." stehen.

Geronyy commented 3 years ago

hab ich an, "updating to..." kommt alle 10sec für jedes Gerät. Wenn dann mal dieser Fehler aufgetreten ist macht er immer "updating to false" auch wenn das Gerät vorher noch an "true" war

Geronyy commented 3 years ago

Habe grade leider keine Log-Datei verfügbar in der genau der Fehler steht... sobald ich eine hab poste ich sie dir

Geronyy commented 3 years ago

kann es sein, dass die homebridge.log Einträge älter als 1Std nicht mehr behält?

bombadiltom commented 3 years ago

das Leeren macht Hoobs wahrscheinlich mit log rotate, Beschreibung des Logs genügt mir aber auch schon, dann weiß ich woran das liegt und werde das demnächst mal versuchen zu beheben, eigentliche Ursache sind aber die Netzwerkprobleme, kann es sein, dass sehr viele Geräte am Homepilot hängen und das Gerät netzwerktechnisch überlastet ist? Das Plugin holt den Status zyklisch

Geronyy commented 3 years ago

am Homepilot sind aktuell 10 Aktoren angemeldet. 4 davon sind Jalousien, die komischerweise nicht durch den Fehler beeinträchtigt werden. DIe bleiden also immer in der Position in der sie vr dem Fehler waren, alle anderen sind als Schalter angebunden und welchsen dann den Zustand.

bombadiltom commented 3 years ago

bei den Rolladen müsste auch "updated position to false" im log stehen, aber das bewirkt nichts

Geronyy commented 3 years ago

bei den Rolladen müsste auch "updated position to false" im log stehen, aber das bewirkt nichts

ok muss ich beim nächsten auftreten des Fehler mal genau checken

Geronyy commented 3 years ago

Ich habe vorhin mal die IPs und die Hostenamen von Homebridge und HomePilot in dem DNS-Rebind-Schutz der Fritzbox ausgeschlossen und seit dem folgendes bemerkt.

In Wireshark ist mir aufgefallen, dass der HomePilot immer wieder seinen aktuellen Zustand per mDNS ins Netzwerk schickt und immer wieder sehr langezeit über das IGMPv3 Protocol "Membership Report / Join group 224.0.0.251 for any sources" schickt. erst nach einer gewissen zeit sendete er dann wieder per mDNS seinen aktuellen Zustand.

Seit der EIntragung in der FritzBox sind keine solche langen Zeiten aufgetreten. zwar sendet er immernoch immer wieder die IGMP Meldung ins Netzwerk aber diese wir immer gleich von einer neuen mDNS Meldung gefolgt.

Geronyy commented 3 years ago

homebridge.log

Jetzt ist es grade wieder passiert, hier die log-Datei für dich.

Geronyy commented 3 years ago

Folgende Geräte wären vorher an:

Nach dem Fehler sind aber nur folgende aus gegangen:

Komisch finde ich, dass "Reserve" angeblieben ist. Das war in den letzten auch schonmal anders, dass dann alle 5 ausgegangen sind...

Geronyy commented 3 years ago

Wow danke für die schnelle Anpassung! Damit habe ich jetzt nicht so schnell gerechnet! Hab's noch installiert und teste jetzt.

BitSJ9 commented 3 years ago

Danke habe das Update auch mal eingespielt. Habe über 40 Geräte am Homepilot.