NEWS
Shelly mit neuer Firmware lehnt Verbindung manchmal ab
-
@steinp5812 sagte in Shelly mit neuer Firmware lehnt Verbindung manchmal ab:
Anscheinend wurde genau während der fehlgeschlagenen Abfrage die Zeit durch den NTP-Client zurückversetzt.
Damit konntest Du das Thema weiter eingrenzen, als alle anderen bisher Eine Lösung habe ich dafür trotzdem nicht. Außer, dass man die Log-Meldung irgendwie unterdrückt (wenn der Login vorher mal geklappt hat).
https://github.com/iobroker-community-adapters/ioBroker.shelly/issues/779
https://github.com/iobroker-community-adapters/ioBroker.shelly/issues/786 -
@haus-automatisierung das wäre zum Test mal ne Idee. Bspw. Nur den log ausgeben, wenn es zweimal hintereinander nicht geklappt hat.
Oder so was. -
@ben1983
Oder ev. mal explizit mit unterschiedlichen Zeiten testen ob das reproduzierbar wird... -
@mcm57 wie soll ich das denn machen?
Ich denke das setzen der Zeit wird es sein, nicht die Zeit ansich, oder meintest Di das anders? -
@ben1983
OK - schlampig gelesen. SorryGeht nicht um eine (konstante) Zeitdifferenz sondern einen Zeitsprung während der Transaktion.
Das wird realistisch nichtleicht testbar sein. -
@haus-automatisierung Die Shellys verwenden eine Digest-Authentication (RFC7616). Der Server schickt eine Challenge "nonce" (Unique-Key) an den ioBroker, dieser kombiniert die nonce mit dem Passwort, hasht das und schickt das zurück an den Shelly. Der Shelly kombiniert genauso die nonce mit dem im Shelly gespeicherten Passwort und vergleicht das Resultat mit dem empfangenen Hash. Eine nonce kann für mehrere Requests gültig sein.
Diese nonce enthält einen Zeitstempel mit Sekundenauflösung:
nonce="1698360504"
nonce="1698360534"
Diese beiden noncen lagen 30s auseinander. Anhand dieses Zeitstempels könnte der Shelly durchaus erkennen, wenn eine Antwort eine nonce mit "Zeitstempel aus der Zukunft" enthält.
Der Sinn erschließt sich mir nicht, weil eine nonce vom Server ja ohnehin der Antwort des Clients entsprechen muss.ioBroker(1:00:00)-->Shelly(1:00:01): Request
Shelly(1:00:01)-->ioBroker(1:00:00): 401 Unauthorized, nonce="1:00:01"
NTP: Zeit um eine Sekunde zurück
ioBroker(1:00:00)-->Shelly(1:00:00): Request, h(Passwort):nonce=1:00:01"
Shelly: nonce aus der Zukunft, Zugriff verweigert.Bei einem einzelnen HTTP-Request wäre das Zeitfenster extrem klein. Da eine nonce aber für mehrere Requests gültig ist, und alle Abfragen zusammen gut eine Sekunde dauern, kann das durchaus mit hoher Wahrscheinlichkeit fehlschlagen.
PS.: Ich habe das Gefühl, dass ich auch manchmal aus dem Web-Interface der neuen Shellys rausgeworfen werde. Also Web-Browser können den Fehler auch triggern.
Grüße -
@steinp5812 sagte in Shelly mit neuer Firmware lehnt Verbindung manchmal ab:
Hi Matthias,
auch wenn es nicht hier her gehört, Dein Master-Kurs hat mir sehr viel Zeit erspart mich in IOB einzuarbeiten, Danke!
Zurück zum Thema:
Gibt's eine Möglichkeit zumindest die Fehlermeldungen zu unterdrücken (weg zu werfen) alla > /dev/null
Der Adapter läuft sauber, die Shellys auch (mehr als 20), aber Du weißt ja wie es ist rote Meldungen nerven, daher würde ich bis ein Fix seitens Shelly gefunden ist diese gerne unterdrücken, da ich weiß das mein System sauber läuft.
@steinp5812 nicht nur mit der neuen FW bei mir unter allen Versionen...
Gruß
Achim
-
@achim-wirtz Das sollte aber max eine Meldung am Tag sein?
-
@haus-automatisierung sagte in Shelly mit neuer Firmware lehnt Verbindung manchmal ab:
@achim-wirtz Das sollte aber max eine Meldung am Tag sein?
Da ich viel "experimentiere" lösch ich öfters komplette Log, um Überblick zu behalten...
Ich lass jetzt mal 2 Tage Log durchlaufen und gebe dann Rückmeldung...Gruß
Achim
P.S.: Dein Netzteil Video ist inspirierend, wollte mir eig. ein fertiges stabilisiertes Labornetzteil anschaffen.
Aber wenn es die Komponenten im Bausatz gibt denke ich mal um.... -
@achim-wirtz Kann sein. Mir ist das nur mit Geräten aufgefallen, die keinen Usernamen beim http-Login kennen.
@haus-automatisierung Der ShellyPlusHT (Temperatursensor) bringt das auch 10x am Tag. Ansonsten habe ich nicht so genau darauf geachtet. In Summe passiert es halt laufend.
Grüße -
@steinp5812 sagte in Shelly mit neuer Firmware lehnt Verbindung manchmal ab:
@achim-wirtz Kann sein. Mir ist das nur mit Geräten aufgefallen, die keinen Usernamen beim http-Login kennen.
@haus-automatisierung Der ShellyPlusHT (Temperatursensor) bringt das auch 10x am Tag. Ansonsten habe ich nicht so genau darauf geachtet. In Summe passiert es halt laufend.
Grüße@haus-automatisierung
atm, hab ich eine bis zwei Fehlermeldungen (von den Gen.2), aber kommen bald zwei Shelly HT (mit ext. Versorgung und ohne Threshold) dazu.
Mal schauen was dann passiert... wobei der HT (nicht plus) Gen 1 einen Username braucht und sich noch nie beschwert hat... ich habe allerdings atm nur einen Door/Window und einen HT(mit Batterie und Theshold) als Gen. 1 im Einsatz...gebe weitere Infos, habe atm wenig Zeit...
Gruß
Achim