Guten Abend,
ich überführe daten von ecowitt per API in ein anderes System und bin gerade an den "ausnahmen" dran.
Da mein System jedes Wochenende an einem anderen Standort auf- und abgebaut wird versuche ich viele Fehlerfälle abzudecken.
Demzufolge ist der aktuelle usecase / Fehlerfall:
- der Sensor wird nach dem aufbau und er hatte eine verbindung an einen anderen Standort verlegt und hat keine Verbindung mehr
- Akku geht während dem Wochenende leer
um 22:20 hab ich die Batterie entfernt
der Sensor liefert weiterhin in der API noch 10 minute "aktuelle" Werte auch wenn sich der Wert nicht ändert.
Erst ab der ca. 10. Minute gibt es einen Versatz der größer dem aktualisierungsintervall (der 71 sek) zwischen der Zeit der Abfrage und dem Zeitstempel des letzten Wertes.
Batterie des Sensors verhält sich gleich.
Bis der Sensor in der API als offline angezeigt wird dauert es ca. 2 Stunden.
Auch im dashboard wird der Wert ohne einen realen sichtbaren hinweis angezeigt. Ja wenn ich auf den Wert gehe kommt ein mouse over das der Wert erst ab der 10. minute nicht aktualisiert wird.
Im live dashboard local sehe ich wenigstens ab der 10. minute ein --.-°C. Warum nicht in der App und im dashboard. Schön wäre ein schnelleres abmelden auch bei der API.
Ich hab mir bereits in den code eine Abfrage eingebaut die abfragezeit mit letzter Sensorwert Zeit abgleicht. Aber das macht es ja unnötig aufwendig, da ecowitt ja weiß das der Sensor offline ist.
Aktuelle Firmware ist installiert: Version: GW3000A_V1.0.3
Verhalten sich alle sensoren hier gleich?
Viele Grüße
WN34D aktualisierungsrate API
-
- Beiträge: 6
- Registriert: 07 Jan 2025, 20:40
- Hat sich bedankt: 1 mal
- Gyvate
- Beiträge: 3722
- Registriert: 10 Aug 2021, 23:41
- Wohnort: Saarbrücken
- Hat sich bedankt: 14 mal
- Danksagung erhalten: 534 mal
- Kontaktdaten:
Re: WN34D aktualisierungsrate API
bevor ich hier jetzt mutmaße ... von welchem API oder welchen APIs sprichst (schreibst) Du denn ?
Wir haben, je nach Sichtweise bei Ecowitt bis zu fünf APIs
- das lokale binäre API
- das lokale http API
- das Cloud API (Empfang und Senden)
- das IoT API
- das SD Karten "API"
"der Sensor" ist auch nicht besonders aussagekräftig ... von welchem Sensor sprichst Du ?
und, ganz generell, ist das alles nicht ganz so einfach, wie Du es gerne hättest.
Die Zeitdauer, bis sich wo (lokal, Cloud) etwas nicht mehr ändert, ist pro Sensor sehr verschieden (Sensor Sendeintervall).
Das Ecowitt Dashboard zeigt seit neuestem pro Sensor an, wann das letzte Update stattfand. Idealerweise jede Minute (wenn in der Konsole so eingestellt). In der Konsole selbst (binäres oder http API) werden bei einer Datenanforderung die Daten weitergegeben, die als letzte gemeldet wurden. Aus den unterschiedlichsten Gründen kann es hier Paketverarbeitungsfehler geben (EMI, RMI, Paketkollision, etc.), d.h. es wird dann der letzte registrierte Wert angezeigt, bis mehr als vier Ausfälle hintereinander stattgefunden haben. Dann wird -- (=nichts) versendet und angezeigt. Bis es zu einem 5. Mal kommt, kann unterschiedlich viel Zeit vergehen (siehe Sendeintervalle der Sensoren). Analog findet das gleiche bei den Push-Services statt. Also Versand an ecowitt.net oder Customized Server Versand. Es dauert also eine gewisse Zeit, bis ein Nicht-Wert sinnvollerweise angezeigt wird. Das Dashboard registriert nur, was die Konsole sendet und nur indirekt, was sie nicht sendet.
Also genauer = kürzer kannst Du es soweit ich weiß nicht haben.
Wir haben, je nach Sichtweise bei Ecowitt bis zu fünf APIs
- das lokale binäre API
- das lokale http API
- das Cloud API (Empfang und Senden)
- das IoT API
- das SD Karten "API"
"der Sensor" ist auch nicht besonders aussagekräftig ... von welchem Sensor sprichst Du ?
und, ganz generell, ist das alles nicht ganz so einfach, wie Du es gerne hättest.
Die Zeitdauer, bis sich wo (lokal, Cloud) etwas nicht mehr ändert, ist pro Sensor sehr verschieden (Sensor Sendeintervall).
Das Ecowitt Dashboard zeigt seit neuestem pro Sensor an, wann das letzte Update stattfand. Idealerweise jede Minute (wenn in der Konsole so eingestellt). In der Konsole selbst (binäres oder http API) werden bei einer Datenanforderung die Daten weitergegeben, die als letzte gemeldet wurden. Aus den unterschiedlichsten Gründen kann es hier Paketverarbeitungsfehler geben (EMI, RMI, Paketkollision, etc.), d.h. es wird dann der letzte registrierte Wert angezeigt, bis mehr als vier Ausfälle hintereinander stattgefunden haben. Dann wird -- (=nichts) versendet und angezeigt. Bis es zu einem 5. Mal kommt, kann unterschiedlich viel Zeit vergehen (siehe Sendeintervalle der Sensoren). Analog findet das gleiche bei den Push-Services statt. Also Versand an ecowitt.net oder Customized Server Versand. Es dauert also eine gewisse Zeit, bis ein Nicht-Wert sinnvollerweise angezeigt wird. Das Dashboard registriert nur, was die Konsole sendet und nur indirekt, was sie nicht sendet.
Also genauer = kürzer kannst Du es soweit ich weiß nicht haben.
Ecowitt Konsolen und Sensoren
WS2320E, HP2553, HP3501, WN1910, WN1980, WN1820, WS3800, WS3910, WH2810,
GW1000, GW1100, GW1200, GW2000, GW3000, WH2650,WS6210,
WS68, WS69, WS80, WS85, WS90,
WN30, WH31[EP], WH32[EP], WN32P, WN34L, WN34S,WN34D, WN35, WH41, WH45, WH46D, WH51, WH55, WH57, LDS01
Meteobridge Pro, MB RPi (2), MB VM, Weewx v4, CumulusMX v3, CumulusMX v4
Barani MeteoShield Pro (G2 + G3), MetSpec Rad02, SIAP SMarTCELLino,
Personal Weather Tablet(PWT), FOSHKplugin, Dracal BAR20
Weather Landing page: http://meshka.eu
Ecowitt WiKi Englisch: http://meshka.eu/Ecowitt/dokuwiki
WS2320E, HP2553, HP3501, WN1910, WN1980, WN1820, WS3800, WS3910, WH2810,
GW1000, GW1100, GW1200, GW2000, GW3000, WH2650,WS6210,
WS68, WS69, WS80, WS85, WS90,
WN30, WH31[EP], WH32[EP], WN32P, WN34L, WN34S,WN34D, WN35, WH41, WH45, WH46D, WH51, WH55, WH57, LDS01
Meteobridge Pro, MB RPi (2), MB VM, Weewx v4, CumulusMX v3, CumulusMX v4
Barani MeteoShield Pro (G2 + G3), MetSpec Rad02, SIAP SMarTCELLino,
Personal Weather Tablet(PWT), FOSHKplugin, Dracal BAR20
Weather Landing page: http://meshka.eu
Ecowitt WiKi Englisch: http://meshka.eu/Ecowitt/dokuwiki
-
- Beiträge: 6
- Registriert: 07 Jan 2025, 20:40
- Hat sich bedankt: 1 mal
Re: WN34D aktualisierungsrate API
danke @Gyvate für dein Feedback.
Puh definitiv berechtigte Frage.
Also ich verwende aktuell Getting Device Real-Time Data
Link: https://doc.ecowitt.net/web/#/apiv3en?page_id=17
Ich würde das als die Cloud API definieren, der vorteil wäre ich könnte von überall die APi ansprechen.
- local http API, sehe ich akteull nicht die Uhrzei der letzten aktualisierung
Bei dem Sensor habe ich aktuell den WN34D in der Testphase.
Mir ist das Sensor Sendeintervall bekannt bei dem WN34D von 77 Sekunden. Exakt im Ecoweitt Dashboard habe ich aktuell 1 Minute eingestellt.
Ich versetehe das es alles nicht so trivial ist, aber laut meinem verständnis erhält "bekommt" die Console den Zeitstempel vom empfang des Datenwertes.
Wir definieren einfach dieses Eingangssignal bei 0 sekunden. Jetzt wird spätestens nach 60 Sekunden die Daten an die Ecowitt cloud übergeben. Ich rufe die Daten 70 Sekunden ab, erhalte als Zeitstempel der Abfrage 60 Sekunden und weiß das der Sensorwert 60 Sekunden "alt" ist. Erhält die Konsole nun keine neuen Werte (weil die Batterie entfernt wurde zum Zeitpunkt 0 Sekunden) werden aber weiterhin neue Werte an die Cloud übertragen.
Exemplarisches Beispiel: Abruf der Daten nach 8 minuten = 480 Sekunden, letztes Aktualisierungsinvertall des WN34D bei 77 Sekunden mal 6 Zyklen = 462 Skeunden. Das ist aber ja faktisch falsch weil vorgespielt wurde das der Sensor vor 18 sekunden einen Messwert gesendet hat, die Konsole diesen Empfangen und an die Cloud übergeben hat.
Die frage die ich mir stelle warum sendet die Konsole weiterhin nicht empfangene Daten und gaukelt der Cloud vor es gibt neue Daten.
Puh definitiv berechtigte Frage.
Also ich verwende aktuell Getting Device Real-Time Data
Link: https://doc.ecowitt.net/web/#/apiv3en?page_id=17
Ich würde das als die Cloud API definieren, der vorteil wäre ich könnte von überall die APi ansprechen.
- local http API, sehe ich akteull nicht die Uhrzei der letzten aktualisierung
Bei dem Sensor habe ich aktuell den WN34D in der Testphase.
Mir ist das Sensor Sendeintervall bekannt bei dem WN34D von 77 Sekunden. Exakt im Ecoweitt Dashboard habe ich aktuell 1 Minute eingestellt.
Ich versetehe das es alles nicht so trivial ist, aber laut meinem verständnis erhält "bekommt" die Console den Zeitstempel vom empfang des Datenwertes.
Wir definieren einfach dieses Eingangssignal bei 0 sekunden. Jetzt wird spätestens nach 60 Sekunden die Daten an die Ecowitt cloud übergeben. Ich rufe die Daten 70 Sekunden ab, erhalte als Zeitstempel der Abfrage 60 Sekunden und weiß das der Sensorwert 60 Sekunden "alt" ist. Erhält die Konsole nun keine neuen Werte (weil die Batterie entfernt wurde zum Zeitpunkt 0 Sekunden) werden aber weiterhin neue Werte an die Cloud übertragen.
Exemplarisches Beispiel: Abruf der Daten nach 8 minuten = 480 Sekunden, letztes Aktualisierungsinvertall des WN34D bei 77 Sekunden mal 6 Zyklen = 462 Skeunden. Das ist aber ja faktisch falsch weil vorgespielt wurde das der Sensor vor 18 sekunden einen Messwert gesendet hat, die Konsole diesen Empfangen und an die Cloud übergeben hat.
Die frage die ich mir stelle warum sendet die Konsole weiterhin nicht empfangene Daten und gaukelt der Cloud vor es gibt neue Daten.
- Gyvate
- Beiträge: 3722
- Registriert: 10 Aug 2021, 23:41
- Wohnort: Saarbrücken
- Hat sich bedankt: 14 mal
- Danksagung erhalten: 534 mal
- Kontaktdaten:
Re: WN34D aktualisierungsrate API
die Konsole sagt ja nicht, dass es sich um neue Daten handelt - sie sendet nur ihren aktuellen Stand, der wegen des 4-fach Übertragungsintervallpuffers 4 x 77 Sekunden betragen kann, bis nichts mehr angezeigt wird. Das sind ca. 300 Sekunden oder 5 Minuten, während derer im Extremfall für diesen Sensor dieselben Daten geliefert werden wie beim letzten aktiven Empfang.
Die Datei, auf die Du Dich beziehst, beschreibt das Cloud API, also die an die Cloud gesendeten Daten, wobei es sich nach meinem Verständnis maximal um die 1-10 minütig (je nach Einstellung in der Konsole) in die Cloud übertragenen Daten handelt.
Realtime Konsole und Realtime Cloud sind andere Zeitfenster. Bei entsprechend viele Sensoren kann sich die Anzeige der Konsole jede Sekunde ändern, selbst wenn das kürzeste Intervall (WS80) 4,75 Sekunden beträgt.
DIe Konsole zeigt jede Datenänderung sofort an, sobald ein geänderter Sensorwert eintrifft.
Die Cloud zeigt nur die Daten an, die die Konsole als letztes übertragen hat, und das ist ein Abbild des 1-(oder mehr)Minutenzeitpunkts unabhängig vom Eintreffen der letzten Änderung.
Die Datei, auf die Du Dich beziehst, beschreibt das Cloud API, also die an die Cloud gesendeten Daten, wobei es sich nach meinem Verständnis maximal um die 1-10 minütig (je nach Einstellung in der Konsole) in die Cloud übertragenen Daten handelt.
Realtime Konsole und Realtime Cloud sind andere Zeitfenster. Bei entsprechend viele Sensoren kann sich die Anzeige der Konsole jede Sekunde ändern, selbst wenn das kürzeste Intervall (WS80) 4,75 Sekunden beträgt.
DIe Konsole zeigt jede Datenänderung sofort an, sobald ein geänderter Sensorwert eintrifft.
Die Cloud zeigt nur die Daten an, die die Konsole als letztes übertragen hat, und das ist ein Abbild des 1-(oder mehr)Minutenzeitpunkts unabhängig vom Eintreffen der letzten Änderung.
Ecowitt Konsolen und Sensoren
WS2320E, HP2553, HP3501, WN1910, WN1980, WN1820, WS3800, WS3910, WH2810,
GW1000, GW1100, GW1200, GW2000, GW3000, WH2650,WS6210,
WS68, WS69, WS80, WS85, WS90,
WN30, WH31[EP], WH32[EP], WN32P, WN34L, WN34S,WN34D, WN35, WH41, WH45, WH46D, WH51, WH55, WH57, LDS01
Meteobridge Pro, MB RPi (2), MB VM, Weewx v4, CumulusMX v3, CumulusMX v4
Barani MeteoShield Pro (G2 + G3), MetSpec Rad02, SIAP SMarTCELLino,
Personal Weather Tablet(PWT), FOSHKplugin, Dracal BAR20
Weather Landing page: http://meshka.eu
Ecowitt WiKi Englisch: http://meshka.eu/Ecowitt/dokuwiki
WS2320E, HP2553, HP3501, WN1910, WN1980, WN1820, WS3800, WS3910, WH2810,
GW1000, GW1100, GW1200, GW2000, GW3000, WH2650,WS6210,
WS68, WS69, WS80, WS85, WS90,
WN30, WH31[EP], WH32[EP], WN32P, WN34L, WN34S,WN34D, WN35, WH41, WH45, WH46D, WH51, WH55, WH57, LDS01
Meteobridge Pro, MB RPi (2), MB VM, Weewx v4, CumulusMX v3, CumulusMX v4
Barani MeteoShield Pro (G2 + G3), MetSpec Rad02, SIAP SMarTCELLino,
Personal Weather Tablet(PWT), FOSHKplugin, Dracal BAR20
Weather Landing page: http://meshka.eu
Ecowitt WiKi Englisch: http://meshka.eu/Ecowitt/dokuwiki