NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@a200 Es ist noch eine Verständnisfrage entstanden. Kommuniziert die Außenstation mit dem Display über Funk, oder? Froggit bietet nur die Außeneinheit für 80,00 € an. Ist es möglich diese abzufragen? Funkmodul (CUL, Signalduino oä) oder Wlan?
-
Das Display hat die Wlan Schnittstelle und kommuniziert darüber mit dem SBORG Script. Dagegen der Außensensor im Funk 868MHz in Deutschland mit dem Display. Also ums in den IOBROKER zu bringen brauchst Du das Display. Das ist aber begrenzt auf den Außensensor.
Willst Du zukünftig zusätzliche Sensoren einbinden, emphiehlt sich der Froggit/Ecowitt Dongle - siehe hier:
https://www.froggit.de/product_info.php?language=de&info=p410_dp1500-wi-fi-wetterserver-usb-dongle.htmlDer geht auch parallel zum Display, oder zu mehrenen Displays mit entsprechendem 868MHz Empfänger.
Der Nachteil vom Dongle ist allerdings zur Zeit noch, dass der noch nicht beim SBORG Script oder Fogg Adapter eingebunden ist - kommt ja vielleicht noch.
Dafür hatte ich dann aber gestern einen Node-Red Flow geschrieben und gepostet - siehe hier. Der ist dann auch später einfach erweiterbar mit zusätzlichen Sensoren wie Blitz, Luftqualität, Temp, etc., etc. also Alles das was Ecowitt/Froggit für den 868Mhz-Bereich anbietet....
Node-Red Flow:https://forum.iobroker.net/topic/32877/froggit-dp1500-ecowitt-gw1000-usb-dongle-node-red-flow
Der Flow hat aber z.Z. (noch) andere Grenzen. Der Dongle sendet die Daten nur alle 60-70 Sekunden, obwohl der Sensor die in kürzeren Intervallen an den Dongle übertragen kann. Der Dongle soll aber eine unveröffentliche API haben, die es ermöglichen soll, die Daten in kürzeren Intervallen zu ziehen - bin da gerade selber noch in verschienden Foren am quer schauen...
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@Nashra Verstanden! https://www.youtube.com/watch?v=rFz2llnnC1o
Rambo
-
@lemuba sagte in [Linux Shell-Skript] WLAN-Wetterstation:
oder so ein blöder Vogel kommt auf den Gedanken sein Nest darauf zu setzen...
Der Hersteller Froggit ließt hier mit und hat ein Update deshalb rausgebracht ...
-
@Glasfaser sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Der Hersteller Froggit ließt hier mit und hat ein Update deshalb rausgebracht ...
Ist Froggit wirklich der Hersteller oder nur ein Reseller? Wie stehen sie zu Ecowitt? Wer kann es mir erklären?
Ich möchte die 4000er am Montag bestellen und es ist mir lieber, dass eine in DE Steuern zahlende Firma mir was verkauft, als Amazon & Co. Auch wenn die Reklamationabwicklung bei Amazon optimal ist, kaufe ich lieber beim Entwickler eines Produktes, denn dann fließen immer ein paar Cents in die Entwicklung neuer Produkte.
Allerdings scheint Froggit (nach einem schnellen Blick bei Google - Bitte korrigiert mich, wenn ich nen Fehler gemacht habe) nur ein 2-Mann Unternehmen zu sein.
-
@lemuba sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Der geht auch parallel zum Display, oder zu mehrenen Displays mit entsprechendem 868MHz Empfänger.
Da habe ich noch einen Ansatzpunkt offen, aber die liebe Zeit. Grundgedanke wäre ganz auf das Display, Skript oder Adapter zu verzichten. Adapter frisst Ressourcen, Skript nicht wirklich komfortabel und viele nutzen das Display eh kaum (ich schau lieber in die eigene Visualisierung, bevor ich am Display durch alles durch schalten muss...). Deswegen direkt die 868MHz abgreifen. Die Daten landen dann direkt per MQTT im ioB, weitere Sensoren/Erweiterungen wären so ebenfalls einfach (und kostengünstig anbindbar), da man auf die günstigen Varianten von Feinstaub-, O³, Blitz-, Regen- ... Sensor ausweichen könnte. Alternativ kann man aber ebenso die teurere "Froggit-Variante" nutzen.
...die kpl. Außeneinheit gibt es bspw. beim Conrad als Ersatzteil für ~70,- € -
@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...