NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@west Welche Station ID steht im Config File?
Ist der Port wirklich frei?
-
Also ich habe jetzt mal den Port auf 9595 geändert und es geht nicht.
Der Port 9595 wird nicht verwendet.
Ich habe die Vermutung es liegt an der neuen Firmware.Debug Terminal
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!
wetterstation.conf
### Settings V2.5.0 ----------------------------------------------------------- #Debuging einschalten [true/false] / default: false / Ausgabe der Messwerte debug=true #ioBroker-IP und Port der Simple-Restful-API [xxx.xxx.xxx.xxx:xxxxx] IPP=192.168.178.12:8087 #Protokoll der Wetterstation [1/2/9] / 1=Wunderground ; 2=Ecowitt ; 9=Sainlogic Profi / default: 1 WS_PROTOKOLL=1 #Anzahl der vorhandenen Zusatzsensoren / default: 0 ANZAHL_DP50=0 ANZAHL_DP60=0 ANZAHL_DP70=0 ANZAHL_DP100=0 ANZAHL_DP200=0 #Protokoll (HTTP oder HTTPS) / default: HTTP WEB=HTTP #User-Authentifizierung falls benutzt; sonst leer lassen AUTH_USER= AUTH_PASS= #Port der Wetterstation WS_PORT=9595 #Pollintervall der Wetterstation in Sekunden (minimal 16 Sekunden) WS_POLL=30 #Name/ID der Wetterstation WS_ID=ICOLNR2 #wo sollen die Datenobjekte abgelegt werden PRE_DP=javascript.0.Wetterstation #InfluxDB-Konfiguration / ohne InfluxDB alles leer lassen #IP und Port der API [xxx.xxx.xxx.xxx:xxxxx] INFLUX_API= #Name, User und Passwort der InfluxDB-Datenbank INFLUX_DB= INFLUX_USER= INFLUX_PASSWORD= #letztes Regenereignis als [DATUM], [UNIX]-Timestamp oder [DIFF]erenz ("vor xx Tagen") # DATUM = 28.04.2020 13:12 # UNIX = 1588074964 # DIFF = gerade eben / vor einer Stunde / vor 23 Stunden / vor einem Tag / vor 12 Tagen LAST_RAIN=DIFF #Text-Format für Datenpunkte "Sonnenschein_[Tag|Woche|Monat|Jahr]_Text" # zweistellig wird ggf. mit einer führenden "0" aufgefüllt # d = Tag(e) 0...n ein- und mehrstellig / h = Stunden 0...n ein- oder mehrstellig # hh = Stunden zweistellig (00...23) / mm = Minuten zweistellig (00...59) / ss = Sekunden zweistellig (00...59) # # Beispiel: 68 Stunden, 2 Minuten und 15 Sekunden # # Auswahl | Ausgabe im Datenpunkt # ---------------------------------------------------------------------------- # [0] = h Std. mm Min. ss Sek. | 68 Std. 02 Min. 15 Sek. # [1] = h:mm | 68:02 # [2] = d Tag/e h Std. | 2 Tage 20 Std. # [3] = d Tag/e, h Std, m Min | 2 Tage, 20 Std, 2 Min (Anzeige Tage erst bei >0) SONNENSCHEIN_TXTFORMAT=3 ############################################################################################# ### openSenseMap - Einstellungen (nur nötig falls openSenseMap benutzt werden soll) ### ### ### ### Für die Registrierung muss "openSenseMap" auf "false" eingestellt sein! ### ### Erst wenn auch Sensoren angelegt wurden, darf auf "true" umgestellt werden! ### ############################################################################################# #openSenseMap aktivieren [true/false] / default: false openSenseMap=false #SenseBox-User senseBox_USER= #SenseBox-Password senseBox_PWD= #ID der senseBox (24-stellig) senseBox_ID= #Security-Token der Box BOX_TOKEN= ### Die restlichen Einstellungen für OpenSenseMap werden vom System generiert/benutzt ###### ### Änderungen sind hier nicht nötig, außer man weiß ganz genau was man tut! ############### #Sensor-IDs (wird automatisch anhand der Sensoren erzeugt) SENSEBOX_IDSENSOR=() #Sensor-Bezeichnung (Reihenfolge muss zur Sensor-ID identisch sein!) SENSEBOX_IDNAME=("Temperatur" "Luftfeuchte" "Luftdruck relativ" "Luftdruck absolut" "Taupunkt" "gefühlte Temperatur" "Sonnenstrahlung" "Windgeschwindigkeit" "Windrichtung" "UV-Index" "Regenrate") #Messwertezuordnung (Reihenfolge muss zur Sensor-ID identisch sein!) SENSEBOX_IDMESSWERT=(1 5 10 9 2 3 16 6 8 17 11) #Sensorendefinitionen ICONS=(osem-thermometer osem-humidity osem-barometer osem-barometer osem-thermometer osem-thermometer osem-brightness osem-particulate-matter osem-particulate-matter osem-brightness osem-umbrella) UNITS=('°C' '%H' 'hPa' 'hPa' '°C' '°C' 'W/m²' 'km/h' '°' 'Index' 'mm/h') ############################################################################################# ### openSenseMap - Ende der Einstellungen ############################################# ############################################################################################# ### Ende Usereinstellungen ###EoF
-
@west Hast du bei Station Key nicht eingetragen oder unkenntlich gemacht?
ich meine mich erinnern zu können das da zumindest ein Dummy "123456" rein muss.
-
-
@west Mal was eingetragen?
-
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.