NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@SBorg Siehe ich auch so. Deshalb habe ich oben gefragt, ob man wie WS auch ohne Display betreiben kann indem die Außeneinheit abgreifen wird.
Froggit bittet zwei Ersatz-Außeneinheiten:
- https://www.froggit.de/product_info.php?info=p376_ersatz-ausseneinheit-wh4000se--868mhz-.html
- https://www.froggit.de/product_info.php?info=p337_wh1080-se-ersatz--all-in-one--ausseneinheit.html
Der Unterschied zwischen den beiden ist mir aber unklar - Sendefrequenz???
Da das Auslesen nicht möglich ist, überlege ich ob ich jetzt, was ich bestellen soll:
- WH4000SE WiFi Internet Funk Wetterstation mit Display für 140,- oder
- DP1500 Wi-Fi Wetterserver USB-Dongle inkl. 1 x DP50 & WH4000SE All-in-One Außensensort ohne Display für 135,-
Meine letzte Frage bezieht sich auf die WLAN Verbindung. Verstehe ich es richtig, dass in beiden Fällen die Außeneinheit funkt (868 bzw. 433) und dann
a) das Display stellt Daten über WLAN zur Verfügung, oder
b) der Dongle schickt die Daten direkt in die Cloud bei Ecowitt.Bis jetzt richtig? Dein Adapter ist jedoch in der Lage in beiden Fällen die WLAN Verbindung zu lesen und die Daten für den IoBroker zur Verfügung zu stellen?
Sorry für die Fragerei über Themen, die für dich selbstverständlich sind, aber für mich ist das eine wichtige Hilfe bei der Kaufentscheidung. Danke.
-
Vielleicht darf ich auch antworten...
Stand heute gibt es meines Erachtens keinen Weg die Außeneinheit, oder jegliche Sensoren, ohne Wifi-Display oder Wifi Dongle abzufragen.
Wie @SBorg direkt die 868Mhz abgreifen möchte, verstehe ich noch nicht so ganz, sein Posting oben...Ecowitt, Froggit, Ambient, Weather, etc, sind alles Fine Offset Clones, praktisch weltweite Dealer von Fine Offset, wenn ich das richtig sehe:
http://www.foshk.com/about.htmlDa sich weltweit die Frequenzfreigaben unterscheiden, gibt es eben die Sensoren und Empfangseinheiten/Displays in 3 unterschiedlichen Frequenzen.
In einem anderen Positing, ich meine bei WXForum.net, hatte ich irgendwo gelesen, dass diese Frequenzen auch fest ins Eprom gebrannt sind - zumindest beim DP1500/WH1000 Dongle - das kannste auch nicht ändern.Wenn Du dann z.B. einen Fine Offset Sensor haben möchtest, den Froggit in Deutschland noch nicht anbietet, kannst Du den aber direkt bei Ecowitt über die Support Email bestellen (z.B. den Blitz/Donner...) - man fragt da normal an und gibt denen dann auch die benötigte Frequenz mit an. Es läuft dann so, dass Ecowitt einem ein Angebot erstellt - der Gesamtpreis beinhaltet dann auch die Frachtkosten. Sollte der Zoll das Päckchen abfangen, musst Du es ggf. entsprechend auf dem Zollamt abholen und versteuern. So auch im WXForum gelesen....
Noch Deine Frage:
Meine letzte Frage bezieht sich auf die WLAN Verbindung. Verstehe ich es richtig, dass in beiden Fällen die Außeneinheit funkt (868 bzw. 436) und dann
""""In Deutschland musst Du bei 868Mhz bleiben - bestellst Du bei Froggit, bekommst Du nur 868Mhz...."""
a) das Display stellt Daten über WLAN zur Verfügung, oder """" Ja"""" und kann auch zeitgleich die Daten an Ecowitt senden.... wird über die WS-View App auf Android oder IOS eingestellt....
b) der Dongle schickt die Daten direkt in die Cloud bei Ecowitt. """" Ja, kann er genauso Beides"""" Aber ist noch nicht kompatibel mit dem SBORG Script. Zur Zeit nur die Komplettstationen mit Display.Bis jetzt richtig? Dein Adapter ist jedoch in der Lage in beiden Fällen die WLAN Verbindung zu lesen und die Daten für den IoBroker zur Verfügung zu stellen?
Schaue auch ggf. nochmal ins erste Posting ganz Oben, oder aber direkt hier - SBORG hat ja auch eine tolle und klare Anleitung geschrieben...
https://github.com/SBorg2014/WLAN-Wetterstation/wikiEdit: Um das noch zu komplettieren...: Das Ecowitt Protokoll kann eben unbegrenzt? die zusätzlichen Sensoren mit aufnehmen - im Gegensatz zum Wundergroud Protokoll wird aber wohl Windchill und Taupunkt nicht mit on-the fly als Datenpunkt berechnet und zur Verfügung gestellt. Beim Switch auf das Ecowitt Protokoll müsste man diese beiden Datenpunkte nachträglich berechnen - dafür gibt es aber anerkannte Formeln abhängig von der aktuellen Temperatur, Luftfeuchtigkeit und Windgeschwindigkeit, etc....
-
@lemuba Vielen Dank für deine Antwort und die großartige Arbeit von @SBorg . Eigentlich tendiere ich zu der Dongle-Lösung, aber wenn der Dongle noch nicht komplett unterstützt wird, dann läuft es aufs Display hinaus. Naja, später kann man immer noch ein Dongle holen.
@SBorg auf www.weewx.com ist Software beschrieben, die auch den Dongle unterstützt. Vielleicht ist das eine Quelle für Infos (falls du sie noch nicht kennen solltest).
[Edit] - Infos zu Fine Offset USB - http://www.weewx.com/docs/hardware.htm#fousb_notes
-
@SBorg Hi,
habe gerade, da ich von der 1.1. auf die 1.2 updaten wollte, auf die 1.3 geupdated, und jetzt bekomm ich das hier:
ilovegym@iobroker /opt/iobroker $ ./wetterstation.sh --debug Connection to 192.168.178.41 81 port [tcp/*] succeeded! Listening on [0.0.0.0] (family 0, port 8188) Connection from [192.168.0.123] port 8188 [tcp/*] accepted (family 2, sport 10384) Messwerteblock: Temperatur Innen : °C Temperatur Aussen : °C Taupunkt : °C Chill-Faktor : °C Luftfeuchte Innen : % Luftfeuchte Aussen : % Windgeschwindkeit : km/h max. Windgeschwindkeit : km/h Windrichtung : ° Windrichtung : Luftdruck absolut : hPa Luftdruck relativ : hPa Regenrate : mm/h Regenstatus : Regen Tag : mm Regen Woche : mm Regen Monat : mm Regen Jahr : mm Sonnenstrahlung : W/m² UV-Index : Zeitstempel : Firmware : Datenstring für ioBroker: DATA von Wetterstation: GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=72.3&tempf=62.2&dewptf=38.8&windchillf=62.2&indoorhumidity=35&humidity=42&windspeedmph=0.7&windgustmph=1.1&winddir=251&absbaromin=29.684&baromin=30.059&rainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.701&yearlyrainin=0&solarradiation=90.65&UV=0&dateutc=2020-05-03%2017:05:58&softwaretype=EasyWeatherV1.4.9&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0 Debug VAR: Installationsverzeichnis: /opt/iobroker IPP: 192.168.178.41:81 WS_PORT: 8188 WS_POLL: 30 PRE_DP: javascript.0.Wetterstation Script-Version: V1.3.0 Config-Version: V1.3.0 Sub-Version: V1.3.0 ilovegym@iobroker /opt/iobroker $ ./wetterstation.sh --debug Connection to 192.168.178.41 81 port [tcp/*] succeeded! /opt/iobroker/wetterstation.sub: Zeile 519: 15 - (09: Der Wert ist für die aktuelle Basis zu groß. (Fehlerverursachendes Zeichen ist \"09\"). Listening on [0.0.0.0] (family 0, port 8188) Connection from [192.168.0.123] port 8188 [tcp/*] accepted (family 2, sport 21737) Messwerteblock: Temperatur Innen : °C Temperatur Aussen : °C Taupunkt : °C Chill-Faktor : °C Luftfeuchte Innen : % Luftfeuchte Aussen : % Windgeschwindkeit : km/h max. Windgeschwindkeit : km/h Windrichtung : ° Windrichtung : Luftdruck absolut : hPa Luftdruck relativ : hPa Regenrate : mm/h Regenstatus : Regen Tag : mm Regen Woche : mm Regen Monat : mm Regen Jahr : mm Sonnenstrahlung : W/m² UV-Index : Zeitstempel : Firmware : Datenstring für ioBroker: DATA von Wetterstation: GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=72.3&tempf=62.2&dewptf=38.3&windchillf=62.2&indoorhumidity=35&humidity=41&windspeedmph=1.1&windgustmph=1.1&winddir=251&absbaromin=29.690&baromin=30.065&rainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.701&yearlyrainin=0&solarradiation=90.65&UV=0&dateutc=2020-05-03%2017:09:26&softwaretype=EasyWeatherV1.4.9&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0 Debug VAR: Installationsverzeichnis: /opt/iobroker IPP: 192.168.178.41:81 WS_PORT: 8188 WS_POLL: 30 PRE_DP: javascript.0.Wetterstation Script-Version: V1.3.0 Config-Version: V1.3.0 Sub-Version: V1.3.0 ilovegym@iobroker /opt/iobroker $ ./wetterstation.sh --debug Connection to 192.168.178.41 81 port [tcp/*] succeeded! /opt/iobroker/wetterstation.sub: Zeile 519: 15 - (09: Der Wert ist für die aktuelle Basis zu groß. (Fehlerverursachendes Zeichen ist \"09\"). Listening on [0.0.0.0] (family 0, port 8188) ^C ilovegym@iobroker /opt/iobroker $ sudo nano wetterstation.sub
-
@ilovegym Wahrscheinlich läuft es jetzt gerade wieder, der Fehler tritt auf wenn man genau zur 8. oder 9. Minute startet, also bspw. 20:08 Uhr. Das wird dann dummerweise nicht als Dezimal "08/09" gewertet, sondern wegen der "0" als Octal 8/9...
Fix auf GitHub steht bereit, alternativ in der *.sub Zeile #519 ändern:von if [ "${DRUCKWERTE[1]}" -gt "20" ]; then WETTER_TREND="dauert max. $(( 15 - (`date +%M` % 15) )) Minuten"; fi in if [ "${DRUCKWERTE[1]}" -gt "20" ]; then WETTER_TREND="dauert max. $(( 15 - (`date +%-M` % 15) )) Minuten"; fi
also genau ein "-" bei date +%M einfügen
-
@lemuba sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Wie @SBorg direkt die 868Mhz abgreifen möchte, verstehe ich noch nicht so ganz, sein Posting oben...
Mittels Empfänger und einem größeren ESP (wg. dem anbinden der Zusatzsensoren). Kostenpunkt je nach ESP <20,- €
Der empfängt dann genau wie das Display das Funksignal und dekodiert es. Da es nur paar Messwerte sind dürfte es nicht verschlüsselt sein und enthält die Werte wohl sogar im Klartext.
Man könnte also beides parallel nutzen, oder ohne Display, Protokoll wäre auch egal, da ja erst das Display Wunderground/Ecowitt... macht. Dann könnte auch jeder die Daten im 16 Sekundentakt empfangen. Berechnungen kann der ESP ebenfalls durchführen, es braucht also auf ioB-Seite nichts weiter. -
@SBorg Hi,
danke für den schnellen Fix, der behebt zwar das Zeile-519 Problem, aber ich bekomme ab Version 1.2 kein Werte mehr an iobroker übergeben, da hat sich wohl noch mehr geändert??
Habe die .sh, sub und auch sicherheitshalber die .conf neu angelegt, wenn ich zurück auf die 1.1.0 gehe, funktioniert alles.Debug - von der Wetterstation kommts an, aber das Script kann es nicht mehr auswerten..?
iobroker iobroker # ./wetterstation.sh --debug Connection to 192.168.178.41 81 port [tcp/*] succeeded! Listening on [0.0.0.0] (family 0, port 8188) Connection from [192.168.0.123] port 8188 [tcp/*] accepted (family 2, sport 25058) Messwerteblock: Temperatur Innen : °C Temperatur Aussen : °C Taupunkt : °C Chill-Faktor : °C Luftfeuchte Innen : % Luftfeuchte Aussen : % Windgeschwindkeit : km/h max. Windgeschwindkeit : km/h Windrichtung : ° Windrichtung : Luftdruck absolut : hPa Luftdruck relativ : hPa Regenrate : mm/h Regenstatus : Regen Tag : mm Regen Woche : mm Regen Monat : mm Regen Jahr : mm Sonnenstrahlung : W/m² UV-Index : Zeitstempel : Firmware : Datenstring für ioBroker: DATA von Wetterstation: GET /weatherstation/updateweatherstation.php?ID=xxxxxx&PASSWORD=xxxxxx&indoortempf=71.8&tempf=56.8&dewptf=42.6&windchillf=56.8&indoorhumidity=35&humidity=59&windspeedmph=1.1&windgustmph=1.1&winddir=109&absbaromin=29.681&baromin=30.056&rainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.701&yearlyrainin=0&solarradiation=0.00&UV=0&dateutc=2020-05-03%2019:40:22&softwaretype=EasyWeatherV1.4.9&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0 Debug VAR: Installationsverzeichnis: /opt/iobroker IPP: 192.168.178.41:81 WS_PORT: 8188 WS_POLL: 30 PRE_DP: javascript.0.Wetterstation Script-Version: V1.2.0 Config-Version: V1.2.1 Sub-Version: V1.2.0 iobroker iobroker #
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Mittels Empfänger und einem größeren ESP (wg. dem anbinden der Zusatzsensoren). Kostenpunkt je nach ESP <20,- €
Dazu könnte man das Funkmodul oder Funkmodul nehmen? FO nutzt FSK Modulation. Aber da hast du ganz schön viel Arbeit vor dir!
-
@ilovegym Routest du?
Connection to 192.168.178.41
Connection from [192.168.0.123]
sind zwei unterschiedliche Netze, wobei ich da eh nicht unterscheide. Ich brauche nur die IP vom ioB und der Wetterstation.
-
@SBorg nee, subnetting - ist auf 255.255.0.0 das geht die ganze Zeit schon gut.
Hatte über Ostern die IPs geändert, aber das Script lief ja.. bzw. die 1.1.0 läuft ja auch, ab 1.2.0 gehts nicht mehr.. hmmDie Daten kommen ja auch ins Script rein, können nur nicht ausgewertet werden..
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Aber da hast du ganz schön viel Arbeit vor dir!
Meinst du das Skript war in 5 Minuten geschrieben
... diese oder ähnliche. Da mir aktuell die Zeit fehlt habe ich noch nicht genauer nachgesehen.@ilovegym sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Die Daten kommen ja auch ins Script rein, können nur nicht ausgewertet werden..
Habe ich eben erst gesehen. Selbst wenn er es "falsch" interpretieren würde, stünde zumindest im Messwerteblock Nonsens. Muss ich mal schauen was das verursachen könnte. Funktioniert denn
./wetterstation.sh --data
? -
@SBorg
Version 1.2.0 der wetterstation.sh --data ergibt:ilovegym@iobroker /opt/iobroker/wetterstation $ ./wetterstation.sh --data Connection to 192.168.178.41 81 port [tcp/*] succeeded! Warte maximal 66 Sekunden auf Datenpaket der Wetterstation... Listening on [0.0.0.0] (family 0, port 8188) Connection from [192.168.0.123] port 8188 [tcp/*] accepted (family 2, sport 32486) GET /weatherstation/updateweatherstation.php?ID=Zuhause&PASSWORD=Qq14SJf1&indoortempf=71.8&tempf=55.8&dewptf=43.7&windchillf=55.8&indoorhumidity=36&humidity=64&windspeedmph=0.9&windgustmph=1.1&winddir=123&absbaromin=29.687&baromin=30.062&rainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.701&solarradiation=0.00&UV=0&dateutc=2020-05-03%2020:09:42&softwaretype=EasyWeatherV1.4.9&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0 ilovegym@iobroker /opt/iobroker/wetterstation $ ^C
-
@ilovegym Ich glaube ich muss da noch eine Fehlerausgabe einbauen...
Stimmt deine WS_ID in der *.conf wirklich mit der ID per WS View-App überein? Wenn nicht, tritt genau dein Fehler auf. Da wäre natürlich ein Hinweis vom Skript sinnvoll -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@ilovegym Ich glaube ich muss da noch eine Fehlerausgabe einbauen...
Stimmt deine WS_ID in der *.conf wirklich mit der ID per WS View-App überein? Wenn nicht, tritt genau dein Fehler auf. Da wäre natürlich ein Hinweis vom Skript sinnvollJa, genau das war es! Danke! Die ID hatte ich mal geändert, und keine Auswirkungen bemerkt, der 1.1.0 ist das auch noch egal, ab VErsion 1.2.x nicht mehr.. jetzt müsste auch die 1.3. laufen.. ich teste mal...
-
@SBorg Hi, auch die 1.3.0 beta läuft! Super! Danke.
-
@ilovegym sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Die ID hatte ich mal geändert, und keine Auswirkungen bemerkt, der 1.1.0 ist das auch noch egal, ab VErsion 1.2.x nicht mehr..
Dürfte eigentlich nicht sein. Ich habe es zwar seit Einführung nicht mehr explizit getestet, aber auch seit der Einführung nichts mehr daran geändert:
V0.1.2 - 31.01.2020 + Prüfung auf Datenintegrität
Das war nur, um sicherzustellen dass es ein valides Datenpaket ist und ggf. mehrere Wetterstationen (auch vom "bösen" Nachbarn ) unterscheiden zu können.
Zumindest kommt mit der neuen Version (habe ich jetzt nicht extra deswegen gepublished) bei --debug eine entsprechende Fehlermeldung -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich habe mir die Tendenz jetzt mal auf 5 Pfeile gemappt:
Sorry, aber habe momentan gar keinen Ansatz, wie ich die Luftdrucktendenz in einem schnöden VIS ohne Grafana und so mit den Pfeilen darstellen soll.
In dem Zusammenhang noch die Frage nach der Anzahl der Luftdrucktendenzwerte...
-1 (sinkend)
0 (stabil)
1 (steigend)oder mehr? Konnte die Info leider nirgends finden
-
@Berchemer ab hier https://forum.iobroker.net/post/406346
du kannst ne gauge verwenden sowohl in Grafana als auch in Vis
https://forum.iobroker.net/post/407569 -
@Berchemer sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich habe mir die Tendenz jetzt mal auf 5 Pfeile gemappt:
Sorry, aber habe momentan gar keinen Ansatz, wie ich die Luftdrucktendenz in einem schnöden VIS ohne Grafana und so mit den Pfeilen darstellen soll.
In dem Zusammenhang noch die Frage nach der Anzahl der Luftdrucktendenzwerte...
-1 (sinkend)
0 (stabil)
1 (steigend)oder mehr? Konnte die Info leider nirgends finden
ich würde es ganz einfach halten und als HTML-Widget ausgeben:
Luftdrucktendenz: {val:<LuftdrucktendenzDP>; val==-1? "↓": val==1? "↑": "→"}
Hier komplett. Aber bitte nicht vergessen den Datenpunktnamen anzupassen
Andere Pfeile stehen dann auch zur Verfügung -
@a200
Besser wäre aber val<=-1 und val>=1, denn die Werte gehen idR. von -8 bis +8 (gelegentlich bei extremer Wetterlage auch darüber/darunter). Sonst bekommst du bspw. bei +2 den "waagrechten Pfeil"