NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Auch nach wegnehmen vom Strom (30min) und eintragen einer Fantasie Station Key geht es nicht.
pi@raspberrypi:~/WLAN-Wetterstation $ ./wetterstation.sh --debug Connection to 192.168.178.12 8087 port [tcp/*] succeeded! Listening on [0.0.0.0] (family 2, port 9595) Messwerteblock: Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)! Temperatur Innen : °C Temperatur Aussen : °C Taupunkt : °C Gefühlte Temperatur : °C Luftfeuchte Innen : % Luftfeuchte Aussen : % Windgeschwindkeit : km/h Windböengeschwindkeit : km/h max. Windböe : km/h Windrichtung : ° Windrichtung : Luftdruck absolut : hPa Luftdruck relativ : hPa Regenrate : mm/h Regenstatus : Regen seit Regenbeginn : mm Regen Stunde : mm Regen Tag : mm Regen Woche : mm Regen Monat : mm Regen Jahr : mm Regen Gesamt : mm Sonnenstrahlung : W/m² UV-Index : Zeitstempel : Firmware : Batteriestand: : Gateway-Modell : Zusatzsensoren: keine Datenstring für ioBroker: DATA von Wetterstation: Debug VAR: Installationsverzeichnis: /home/pi/WLAN-Wetterstation IPP: 192.168.178.12:8087 WS_PORT: 9595 WS_POLL: 30 PRE_DP: javascript.0.Wetterstation WEB: HTTP WS_PROT: Wunderground DP50/60/70/100/200: 0 | 0 | 0 | 0 | 0 Script-Version: V2.5.0 Config-Version: V2.5.0 Sub-Version: V2.5.0 Kommunikationsfehler!
@SBorg Version 21.08
-
Hallo @west , welche Wetterstation wird hier genutzt? Sorry wenn ich dies überlesen haben sollte.
Aber mache doch mal folgendes:
in der App und im Skript den Port 9999 eintragen
in der App beim Key 123456 eintragen
und alle Skripte ausführbar machen!!
Als ich dies damals gemacht habe, wurden auch Daten übertragen, vorher hatte ich nämlich das selbe Problem -
Wetterstation WS 3500
pi@raspberrypi:~/WLAN-Wetterstation $ ./wetterstation.sh --debug Connection to 192.168.178.12 8087 port [tcp/*] succeeded! Listening on [0.0.0.0] (family 2, port 9999) Messwerteblock: Nicht alle Werte werden unterstützt (abhängig vom Modell der Wetterstation und dem verwendeten Protokoll)! Temperatur Innen : °C Temperatur Aussen : °C Taupunkt : °C Gefühlte Temperatur : °C Luftfeuchte Innen : % Luftfeuchte Aussen : % Windgeschwindkeit : km/h Windböengeschwindkeit : km/h max. Windböe : km/h Windrichtung : ° Windrichtung : Luftdruck absolut : hPa Luftdruck relativ : hPa Regenrate : mm/h Regenstatus : Regen seit Regenbeginn : mm Regen Stunde : mm Regen Tag : mm Regen Woche : mm Regen Monat : mm Regen Jahr : mm Regen Gesamt : mm Sonnenstrahlung : W/m² UV-Index : Zeitstempel : Firmware : Batteriestand: : Gateway-Modell : Zusatzsensoren: keine Datenstring für ioBroker: DATA von Wetterstation: Debug VAR: Installationsverzeichnis: /home/pi/WLAN-Wetterstation IPP: 192.168.178.12:8087 WS_PORT: 9999 WS_POLL: 30 PRE_DP: javascript.0.Wetterstation WEB: HTTP WS_PROT: Wunderground DP50/60/70/100/200: 0 | 0 | 0 | 0 | 0 Script-Version: V2.5.0 Config-Version: V2.5.0 Sub-Version: V2.5.0 Kommunikationsfehler!
pi@raspberrypi:~/WLAN-Wetterstation $ ls -al insgesamt 192 drwxr-xr-x 5 pi pi 4096 Mär 6 17:15 . drwxr-xr-x 8 pi pi 4096 Mär 6 14:00 .. drwxr-xr-x 2 pi pi 4096 Feb 24 20:13 Bilder -rw-r--r-- 1 pi pi 26 Feb 24 20:13 _config.yml -rw-r--r-- 1 pi pi 18 Feb 24 20:13 firmware.version drwxr-xr-x 8 pi pi 4096 Feb 24 20:13 .git -rw-r--r-- 1 pi pi 66 Feb 24 20:13 .gitattributes drwxr-xr-x 2 pi pi 4096 Feb 24 20:13 'Grafana Dashboard' -rw-r--r-- 1 pi pi 1066 Feb 24 20:13 LICENSE -rw-r--r-- 1 pi pi 8204 Feb 24 20:13 README.md -rwxr-xr-x 1 pi pi 4334 Mär 6 17:15 wetterstation.conf -rw-r--r-- 1 pi pi 14122 Feb 24 20:13 wetterstation.js -rwxr-xr-x 1 pi pi 12382 Feb 24 20:13 wetterstation.sh -rw-r--r-- 1 pi pi 50626 Feb 24 20:13 wetterstation-statistik.js -rw-r--r-- 1 pi pi 42367 Feb 24 20:13 wetterstation.sub -rw-r--r-- 1 pi pi 4775 Feb 24 20:13 ws_updater.sh
-
@west , alle Skripte ausführbar machen hatte ich geschrieben
also die .js, .sub usw auch.bc und jq hast Du aber auch installiert?
-
@nashra said in [Linux Shell-Skript] WLAN-Wetterstation:
bc und jq ist Installiert
pi@raspberrypi:~/WLAN-Wetterstation $ ls -all insgesamt 192 drwxr-xr-x 5 pi pi 4096 Mär 6 17:15 . drwxr-xr-x 8 pi pi 4096 Mär 6 14:00 .. drwxr-xr-x 2 pi pi 4096 Feb 24 20:13 Bilder -rw-r--r-- 1 pi pi 26 Feb 24 20:13 _config.yml -rw-r--r-- 1 pi pi 18 Feb 24 20:13 firmware.version drwxr-xr-x 8 pi pi 4096 Feb 24 20:13 .git -rw-r--r-- 1 pi pi 66 Feb 24 20:13 .gitattributes drwxr-xr-x 2 pi pi 4096 Feb 24 20:13 'Grafana Dashboard' -rw-r--r-- 1 pi pi 1066 Feb 24 20:13 LICENSE -rw-r--r-- 1 pi pi 8204 Feb 24 20:13 README.md -rwxr-xr-x 1 pi pi 4334 Mär 6 17:15 wetterstation.conf -rwxr-xr-x 1 pi pi 14122 Feb 24 20:13 wetterstation.js -rwxr-xr-x 1 pi pi 12382 Feb 24 20:13 wetterstation.sh -rwxr-xr-x 1 pi pi 50626 Feb 24 20:13 wetterstation-statistik.js -rwxr-xr-x 1 pi pi 42367 Feb 24 20:13 wetterstation.sub -rwxr-xr-x 1 pi pi 4775 Feb 24 20:13 ws_updater.sh
Alle Scripte ausführbar gemacht geht trotzdem nicht
-
@west, im CLI bekomme ich auch nichts angezeigt, aber Daten kommen trotzdem im ioBroker rein.
Wie startest du denn -
Ups, gerade gesehen....in der APP bei Key nur 1234 reinschreiben!
Die Datenpunkte sind aber auch alle im Broker angelegt, sowie das JS-Skript?
-
ja ist es
-
Dumme Frage: Ich betreibe den ioBroker auf einem Raspberry Pi 4 mit 4 GB. Auslastung liegt im Moment bei ca. 30 %. Ist es sinnvoll das Skript auf einem separaten Pi zu betreiben oder lässt sich der Broker zusammen mit dem Skript auf dem Pi betreiben?
-
@christian-wöhrle Noppe, nur dumme Antworten
Gerade weil es kein Adapter ist benötigt es so gut wie keinerlei Ressourcen. 99.9% der Zeit schläft es einfach und alle ~30 Sekunden werkelt es kurz. CPU- und Speicherbedarf ist dabei auch minimal. Kannst du also bedenkenlos mit auf dem (ioB-)PI laufen lassen. Der wird über kurz oder lang eher vom ioB überlastet, wenn sich die "Seuche" SmartHome dann ausbreitet -
@All Die Wiki ist eigentlich immer recht aktuell. So wie es dort beschrieben ist sollte es auch funktionieren. Deswegen mal zur allgemeinen Info bzgl. "Pfad" :
- WU = Pfadangabe von
/weatherstation/updateweatherstation.php?
notwendig - Ecowitt = es genügt hier ein
/
(was aber Korinthenkacker mäßig ebenfalls eine Pfadangabe darstellt)
Es ist ebenfalls nicht nötig Dateien außer der wetterstation.sh "ausführbar" zu machen. Es schadet zwar nichts, bringt aber auch nichts. Einzig die "wetterstation.sh" wird ausgeführt, andere nur nachgeladen bzw. gelesen. Dateien mit der Endung "JS" kennzeichnen diese nur als Javascript-Quellcode und werden hier vom System überhaupt nicht berücksichtigt. Diese sind lediglich als C&P-Vorlage für den ioB zu sehen.
Dies nur mal zum allgemein besseren Verständnis, da hier doch unterschiedliche Meinungen vorherrschen, ich es immer mal wieder hier lese und sich sonst ggf. falsche Informationen einschleichen "...ich habe da aber mal gelesen..."
...und danke an Alle fürs helfen@west Hmm, deine FW-Version sagt mir mal so gar nix. Ich erkenne auch keinerlei sonstige Fehler. IMO sendet dein Display nichts oder an einen falschen Port (in dem Sinne von du hast Port X eingetragen, es sendet aber trotzdem an Port Y).
Die These vom nix senden wird auch dadurch gestützt, dass nicht mal die Pi-hole Variante funktioniert (außer du hättest keinen WU-Account, dann sendet es auch dort nichts).Hast du einen Ecowitt-/WU-Account bzw. kannst du dahin Daten transferieren mal gänzlich ohne das Wetterstation-Skript?
Soll deine Station mittels WS-View konfiguriert werden (nicht das WS-View hier nur "halbherzig" arbeitet)?
Erst wenn du Daten an WU bekommst kann zumindest die Pi-hole Variante funktionieren, vorher nicht - WU = Pfadangabe von
-
-
@xxjooo Was euch immer alles so auffällt...
Ok, Daten liefert sie also, um so verwunderlicher das nicht mal die Pi-hole Variante funktioniert. Ich habe aber bis dato auch keinen Dreher bei den IPs/Port gesehn. -
Listening on [0.0.0.0] (family 0, port 45454)
Mir ist noch ein Unterschied zu meiner Installation aufgefallen ->
Bei mir wird family 0 und bei @west family 2 gemeldetIst das relevant?
Und zum Verständnis was bedeutet hier family?
-
Also zurzeit hole ich meine Wetterstationdaten per Wunderground Adapter ab.
Das WS View sendet die Daten nach Wunderground.
https://www.wunderground.com/dashboard/pws/ICOLNR2.
Ich habe ja das Script mit dem Wunderground und das Ecowitt Protokoll versucht auch mit veränderten Port. -
@boronsbruder Das kommt vom benutzten netcat "nc" und beschreibt meines Wissens den verwendeten Netzwerktyp wie bspw. Kabel gebunden, WLAN...
@west Deine Daten auf WU habe ich zwischenzeitlich dank @XxJooO gesehen. Da du die auch mittels der Pi-hole Variante nicht bekommst, stimmt entweder mit deinem Netzwerk/-konfiguration etwas nicht, oder du machst schlichtweg einen Fehler (kein Vorwurf und ich habe bis dato auch keinen gesehen, was aber nicht heißen soll, es wäre ev. nicht so ).
Mal ganz rudimentär zur Arbeitsweise des Ganzen:
Mittels VS-View konfiguriert man sein Display so, dass es die Daten an einen definierten "Wetterserver" schickt: PC A unter Port 12345
Auf dem PC A läuft nun das Skript (bzw. man startet es mittels der Optionen --debug oder --data) dessen wichtigste Konfiguration (in der wetterstation.conf) nun nur der Port 12345 ist, denn genau auf diesen "hört" der eigene Wetterserver nun nur. Egal was nun schief läuft, dieses Datenpaket muss kommen. Kommt da nix wie bei dir, gibt es eigentlich nicht viele Fehlerquellen:- die eingetragene IP in der VS-View ist nicht die des PCs auf dem das Skript läuft
- die eingetragene IP ist doppelt im Netzwerk vorhanden
- der eingetragene Port in der VS-View stimmt nicht mit dem in der wetterstation.conf überein
- der benutzte Port ist nicht frei und wird schon von einem anderen Dienst benutzt
- "nc" in der falschen Version ("nc" ist hier der eigentliche Server, dann erscheint aber eine andere Fehlermeldung)
- Firewall oä. die den Port/Datenverkehr blockiert
Ich weiß nicht mehr welche Station(en) es genau waren, aber es könnten durchaus die Sainlogics gewesen sein die rumzickten. Da ging es auch nicht, erst beim x-ten Versuch. Anscheinend übernimmt sie nicht immer die Einstellung der VS-View. So als letzte Fehlerquelle wenn obiges alles ausscheidet. Wenn du aber Daten an WU bekommst, muss auch die Pi-hole Variante funktionieren. Die greift dann einfach die Daten ab die du ins WWW schickst.
Du kannst auch gänzlich ohne Skript testen. Einfach im Terminal ein
nc -nlvw 1 -p xxxx
(xxxx = Port der benutzt werden soll) aufrufen. Dann müsste nach spätestens einer Minute ein Datenpaket der Station ankommen, sofern es sie genau an diese IP und den Port schickt. -
@sborg Wunderbar. Dann wird das vermutlich das erste Projekt nach dem Hausbau.
Vorher gehe ich das jetzt wohl nicht mehr an und stecke die Taler eher in Wasserrohre und USB-Steckdosen. -
@SBorg
Nur mal vorab zur Info,
habe noch einen WH45 bestellt der dann in 6-12 Wochen kommt
https://www.ecowitt.com/shop/goodsDetail/97"This Particle Detection Sensor detects indoor PM2.5 / PM10 / CO2 / Temperature / Humidity. "
Ggf können wir den dann noch mit einbauen, ich liefere natürlich die Strings wenn er da ist;)
Danke & Gruss
-
@rand sagte in [Linux Shell-Skript] WLAN-Wetterstation:
ich liefere natürlich die Strings wenn er da ist;)
Ohne wird es sonst auch nix
Kann es sein, dass es für den WH45 kein passendes Froggit DP2xx - Pendant gibt? Der 200er kann ja nur PM2.5 -
String wird aussehen wie immer nehme ich an, sind ja alles keine neuen Werte, nur in der Kombination;)
(Edit: Ups, Co2 haben wir glaube ich doch noch nicht)Und ja der Sensor ist recht neu, daher kann das gut sein, dass Froggit noch keinen im Programm hat.