NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@Latzi sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Grafana funktioniert ohne eine InfluxDB nicht
Wirklich? Ich hab Grafana mit einer mySQL-DB laufen
Nein
Ganz korrekt müsste es lauten mit einer Datenbank (sieht man bei Grafana anhand der Data-Plugins). Für Messwerte eignet sich aber InfluxDB am besten, da hier auf eine zeitliche Abfolge Wert gelegt wurde, wie es halt bei Messwerten so ist (linear).Mangels Hardware kann ich leider nicht debuggen und nur einen Schuss ins Blaue abgeben. Ich vermute, dass die Station zu dem Zeitpunkt keine Daten liefert (bspw. sucht sie nach einem Firmwareupgrade, berechnet die Tages-, Wochen-, Monatswerte oä.) und sich der "nc weghängt" oder unplausible Werte liefert.
Eine Möglichkeit wäre, wenn es bspw. immer um 23:59, 0:00 oder 0:01 auftritt (also regelmäßig), dass Skript anzuhalten und neu zu starten:
crontab -e unter "@reboot /home/iobroker/wetterstation.sh &" noch eine weiteren cronjob anfügen: 2 0 * * * pkill -9 wetterstation.* && /home/iobroker/wetterstation.sh & (wieder darauf achten, dass noch eine Leerzeile folgt!) speichern --> fertig
also etwa so:
@reboot /home/iobroker/wetterstation.sh & 2 0 * * * pkill -9 wetterstation.* && /home/iobroker/wetterstation.sh &
/home/iobroker natürlich anpassen, 2 0 * * * ggf. anpassen, bedeutet "jeden Tag um 0:02 Uhr"
Falls das geht, müsste jemand mal eine Log mitschreiben lassen. Erkläre ich dann wie es geht, sollte nach Möglichkeit aber kein PI sein, da dann dass viele schreiben der SD-Karte nicht unbedingt gut tut
-
@SBorg DANKE!
Ich hab´s mal umgestellt, üblicherweise passiert´s alle 3-4 Tage, beobachte mal und meld mich nächste Woche -
@CiroCool welche Wetterstation verwendest du eigentlich (Für die Doku, falls es ein bisher noch nicht getestetes Modell ist)?
-
@Latzi ich habe die Ventus W830
-
@CiroCool sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ventus W830
Vielen Dank! Station ist in Doku aufgenommen.
Hast du den zusätzlichen crontab Eintrag auch in Verwendung? -
@ToxSox said in [Linux Shell-Skript] WLAN-Wetterstation:
Vorab vielen Dank für die Arbeit. Gerade soweit alles laut Anleitung durchgeführt und klappt auch schon.
Wetterstation Froggit WH3000SEEinzige Sache, in der Anleitung hast du geschrieben, dass beide Dateien ausführbar sein müssen. Aber wofür braucht die .conf Ausführungsrechte?
Hallo mal eine Frage braucht man dazu auch das Display oder geht es auch on
-
@tom2964 Geht auch ohne Display (zumindest das Skript, ob die Station auf Dauer ohne Display läuft...? Weiß ev. jemand anderes). Die Außenstation muss die Daten halt nur per WLAN im "Wunderground-Format" senden, was die Froggit zB. macht
-
@tom2964
Bei meiner Wetterstation braucht man das Display schon, da die Basisstation per Funk ans Display überträgt und das Display über WLAN den Zugang zum Internet herstellt. -
Welches Model wäre es denn genau was one display geht
-
Ich glaube nicht, dass hier jemand eine Wetterstation ohne Display betreibt. Deswegen wird das mE. keiner beantworten können. Für das Skript ist kein Display erforderlich, dass wertet lediglich die "gefunkten" Daten der Wetterstation aus. Ob aber auf Dauer die Wetterstation an sich ohne Display läuft...? Wäre wohl eine Frage an den/die Hersteller.
-
Hallo, bin jetzt endlich hier beim Script dabei nachdem ich Probleme Hatte den Custom Server zu aktivieren.
Jetz klappt bei mir der erste Test mit folgender Ausgabe nicht:
pi@Servazamba:~/ioBroker $ ./wetterstation.sh --debug nc: Permission denied (standard_in) 1: syntax error (standard_in) 1: syntax error (standard_in) 1: syntax error (standard_in) 1: syntax error (standard_in) 1: syntax error (standard_in) 1: syntax error (standard_in) 1: syntax error (standard_in) 1: syntax error (standard_in) 1: syntax error (standard_in) 1: syntax error [ { "id": "javascript.0.Wetterstation.Innentemperatur", "val": -17.77 }, { "id": "javascript.0.Wetterstation.Aussentemperatur", "val": -17.77 }, { "id": "javascript.0.Wetterstation.Taupunkt", "val": -17.77 }, { "id": "javascript.0.Wetterstation.Chillfaktor", "val": -17.77 }, { "id": "javascript.0.Wetterstation.Innenfeuchtigkeit", "val": "" }, { "id": "javascript.0.Wetterstation.Aussenfeuchtigkeit", "val": "" }, { "id": "javascript.0.Wetterstation.Wind", "val": "" }, { "id": "javascript.0.Wetterstation.Wind_max", "val": "" }, { "id": "javascript.0.Wetterstation.Windrichtung", "val": "" }, { "id": "javascript.0.Wetterstation.Druck_absolut", "val": "" }, { "id": "javascript.0.Wetterstation.Druck_relativ", "val": "" }, { "id": "javascript.0.Wetterstation.Regen_aktuell", "val": "" }, { "id": "javascript.0.Wetterstation.Regen_Tag", "val": "" }, { "id": "javascript.0.Wetterstation.Regen_Woche", "val": "" }, { "id": "javascript.0.Wetterstation.Regen_Monat", "val": "" }, { "id": "javascript.0.Wetterstation.Sonnenstrahlung", "val": "" }, { "id": "javascript.0.Wetterstation.UV_Index", "val": "" }, { "id": "javascript.0.Wetterstation.Zeitstempel", "val": "19.01.2020 01:00:00" } ] Messwerteblock: Temperatur Innen : -17.77 °C Temperatur Aussen : -17.77 °C Taupunkt : -17.77 °C Chill-Faktor : -17.77 °C Luftfeuchte Innen : % Luftfeuchte Aussen : % Windgeschwindkeit : km/h max. Windgeschwindkeit : km/h Windrichtung : ° Luftdruck absolut : hPa Luftdruck relativ : hPa Regen aktuell : mm Regen Tag : mm Regen Woche : mm Regen Monat : mm Sonnenstrahlung : W/m² UV-Index : Zeitstempel : 19.01.2020 01:00:00 Datenstring für ioBroker: javascript.0.Wetterstation.Innentemperatur=-17.77&javascript.0.Wetterstation.Aussentemperatur=-17.77&javascript.0.Wetterstation.Taupunkt=-17.77&javascript.0.Wetterstation.Chillfaktor=-17.77&javascript.0.Wetterstation.Innenfeuchtigkeit=&javascript.0.Wetterstation.Aussenfeuchtigkeit=&javascript.0.Wetterstation.Wind=&javascript.0.Wetterstation.Wind_max=&javascript.0.Wetterstation.Windrichtung=&javascript.0.Wetterstation.Druck_absolut=&javascript.0.Wetterstation.Druck_relativ=&javascript.0.Wetterstation.Regen_aktuell=&javascript.0.Wetterstation.Regen_Tag=&javascript.0.Wetterstation.Regen_Woche=&javascript.0.Wetterstation.Regen_Monat=&javascript.0.Wetterstation.Sonnenstrahlung=&javascript.0.Wetterstation.UV_Index=&javascript.0.Wetterstation.Zeitstempel=19.01.2020 01:00:00 Debug VAR: Installationsverzeichnis: /home/pi/ioBroker IPP: 192.168.178.20:8087 WS_PORT: 80 WS_POLL: 16 PRE_DP: javascript.0.Wetterstation Script-Version: V0.1.1 Config-Version: V0.1.1
Was bedeutet "nc: Permission denied"?
Die Berechtigungen der .sh habe ich mit: "chmod +x wetterstation.sh" im Order per Putty vergeben.Wenn ich "sudo ./wetterstation.sh --debug" starte werden die korrekten Werte angezeigt.
-
@Rushmed
Ok, hat sich erledigt, auf Port 9999 gehts ohne sudo. -
Ich habe die WiKi angepasst, leider einfach vergessen
Einige Linux-Distris verlangen bei Ports kleiner als 1025 root-Rechte. -
So jetzt laüft erstmal alles im ioBroker.
Vielen Dank für das tolle Script und die ausführliche und gut verständliche Anleitung.Zwei Fragen hab ich aber noch.
-
Ist es normal dass Werte der Datenpunkte im Object view nicht bestätigt werden un daher rot bleiben?
-
Ich habe sowohl in WS View als auch in der Scriptconfig 16 s Pollzeit eingestellt, bekomme die Werte aber stets alle 32 s.
Ist nicht tragisch aber ich hätte Aktualisierung alle 16 s erwartet.
-
-
@Rushmed, das ist sehr erfreulich!
@Rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ist es normal dass Werte der Datenpunkte im Object view nicht bestätigt werden un daher rot bleiben?
Ja bei mir auch
@Rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich habe sowohl in WS View als auch in der Scriptconfig 16 s Pollzeit eingestellt, bekomme die Werte aber stets alle 32 s.
Ist nicht tragisch aber ich hätte Aktualisierung alle 16 s erwartet.Ist mir auch schon aufgefallen, unter 30 s geht nichts
Die verwendbaren Wetterdienste aus WS View bekommen die Daten alle 60 s übermittelt - da haben wir zumindest einen Vorteil -
@Latzi sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ist mir auch schon aufgefallen, unter 30 s geht nichts
Die verwendbaren Wetterdienste aus WS View bekommen die Daten alle 60 s übermittelt - da haben wir zumindest einen Vorteil
Ja und vor allem ist der Weg der Daten viel kürzer und die Protokollierung ausfallsicherer. -
@Rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ja und vor allem ist der Weg der Daten viel kürzer und die Protokollierung ausfallsicherer.
ABSOLUT !!!
-
@Rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ist es normal dass Werte der Datenpunkte im Object view nicht bestätigt werden un daher rot bleiben?
Ja. Der Simple-RESTful-Adapter kann beim Bulk-Update kein Ack=true setzen, dass geht nur beim Schreiben einzelner Datenpunkte. 15 Werte schreiben mit Sicherheitsverzögerung = 20 Sekunden ... nicht gerade prickelnd.
@Rushmed sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ist nicht tragisch aber ich hätte Aktualisierung alle 16 s erwartet.
Ich ehrlich gesagt auch. Anscheinend kann man zwar 16 Sekunden einstellen, sie schickt aber wohl nur im 30 Sekundentakt. Ich ziehe vom Poll-Intervall 5 Sekunden ab = das Skript macht 11 Sekunden gar nix, dann startet der "nc" und wartet auf ein Datenpaket welches nun nach 5 Sekunden eintrudeln müsste.
Könnt es mal auf 16 Sekunden stehen lassen, Skript stoppen (pkill -9 wetterstation.*), nc mittels nc -lv xxxx (xxxx=Port) starten. Wenn ein Paket angekommen ist Sekundenanzeige auf der Uhr merken, sofort nc wieder starten --> kommt nächstes Paket nun nach ~ 16 oder 30 Sekunden? -
-
@Rushmed Na supi
Dann ist es wie ich es mir schon dachte. Im 30 Sekunden-Takt genügt ja auch (Batterielebensdauer), aber trotzdem blöd, dass man dann in der APP auch bis zu 16 Sekunden runter stellen kann. Ich ändere dann mal das Mindestintervall auf 30 Sekunden ab.