NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@SBorg
Sieht nicht so aus...pi@raspberrypi:/home/iobroker $ ./wetterstation.sh --data Connection to 192.168.1.27 8087 port [tcp/*] succeeded! Warte maximal 126 Sekunden auf Datenpaket der Wetterstation... Listening on [0.0.0.0] (family 2, port 1080) pi@raspberrypi:/home/iobroker $
-
@Ken-Popper Nö, da kommt nix. Auf x.x.x.27 läuft dein ioB. Läuft auch auf dem das Script? Falls ja, hast du die x.x.x.27 dann auch in der WS-View APP eingetragen, genauso wie den Port 1080 ?
-
@SBorg In der App stimmten alle Daten. Habe eben die Wetterstation vom Strom genommen und wieder angesteckt und siehe da, auf einmal kommen die Daten. Danke für deine Hilfe!
-
Liebe Wetter-Freunde,
habt bitte Nachsicht, dass ich die 1900 Beiträge noch nicht durch habe... aber ich habe schon ein Anfangs-Problem:
Ich habe mir eine Sainlogic FT0300 gegönnt und bin davon ausgegangen, dass ich diese mit dem ioBroker verwenden kann. Ich habe die Station wie im Handbuch beschrieben über mein Laptop ins WLAN gebracht, die Verbindungen mit Weatherunderground hergestellt und kann auch Daten sehen. Jetzt wollte ich das Wetterskript installieren, scheitere aber bei der WS View App. Wenn ich ein Device hinzufügen möchte, dann findet die App die Station nicht. Wenn ich das Gerät in den WLAN AP Modus bringe zeigt er "No Device found". Ich kann mein Handy mit dem WLAN des Devices verbinden, aber auch dann zeigt er "No Device found". Geht das jetzt nicht mit dieser Station? Auf dem Handbuch steht, es sei für eine WS 3500, FT0850, FT0852, FT0300 und FT0835. Zumindest erstere war aber doch kompatibel, oder?Vielen Dan k für Eure Hinweise!
-
@XxJooO sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich habe mir eine Sainlogic FT0300 gegönnt und bin davon ausgegangen, dass ich diese mit dem ioBroker verwenden kann.
...Auf dem Handbuch steht, es sei für eine WS 3500, FT0850, FT0852, FT0300 und FT0835. Zumindest erstere war aber doch kompatibel, oder?Leider ein (behebbarer) Irrtum. Bei Stationen mit der WS View App funktioniert es recht einfach, bei Stationen die per Web-Interface konfiguriert werden nur mit Mehraufwand. Das liegt am Funktionsprinzip. Per App kann man einen eigenen Server angeben, an den die Daten geschickt werden sollen. Diese Möglichkeit fehlt leider (noch?) bei der Konfiguration per Web-If.
Grob ausgedrückt "gauckle" ich der Wetterstation vor, ich sei ein Server und nehme die Daten entgegen, bereite sie auf und schicke sie an den ioB.Mittels "Trick 17 von Hinten durch die Brust ins Auge" lässt sich aber jede Station überreden. Mangels Zeit und Hardware habe ich dies aber noch nicht dokumentiert (steht in den letzten ~100 Posts drin).
Die Station muss den DNS-Dienst nutzen, um ihre Daten bspw. an Wunderground zu schicken. Normalerweise hat man einfach einen DNS-Eintrag im Router stehen der auf den/die DNS-Server des eigenen Internetproviders verweisen. Man kann aber einen eigenen DNS-Server aufsetzen (zB. Pi-Hole unter Proxmox, Docker, auf einem Raspberry Pi usw.) und sagt im Router nun, dass der DNS-Server der eigene im Heimnetz ist. Soweit funktioniert erst mal alles wie gehabt.
Ich kann aber nun gezielt Anfragen auch "umbiegen/umleiten". Genau das machen wir nun mit Anfragen an Wunderground. Möchte die Station nun ihre Daten an xyz.wunderground.com (xyz = mir fällt gerade nicht die korrekt URL ein ) schicken, leiten wir diese (und nur diese) nun an den Rechner um auf dem unser Skript läuft. Schon haben wir unsere DatenDie wohl einfachste Lösung ist Pi-Hole zu nutzen. Bringt eh einen Mehrwert, kann man unter Proxmox/Docker laufen lassen, oder wie der Name vermuten lässt auf einem Raspberry Pi, ist relativ schnell und unkompliziert installiert und benötigt dann nur noch einen Eintrag in der "hosts"-Datei.
-
Gleich zwei Abschiedsgeschenke zum alten Jahr :
Neue Version des Wetterstation-Statistik-Addons auf GitHub V0.1.5
- +Summe "kalte Tage" und "warme Tage" für das gesamte Jahr
Wie immer zu finden im GitHub (wetterstation-statistik.js)
Als Test ob es so mit den Gradtagen funktioniert (was es tut )
Update zum Shell-Skript auf GitHub V2.0.0
- ~ Fix für Reset Solarenergie Tag
Wie immer zu finden im GitHub
Behebt fehlerhafte Nullstellung um Mitternacht der Solarenergie Tag (steht sonst anstelle von "0" auf "0.174 Wh/m²".
Einfach nur die wetterstation.sub austauschen und mittelssudo systemctl restart wetterstation
den Service neu starten. -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Die wohl einfachste Lösung ist Pi-Hole zu nutzen. Bringt eh einen Mehrwert, kann man unter Proxmox/Docker laufen lassen, oder wie der Name vermuten lässt auf einem Raspberry Pi, ist relativ schnell und unkompliziert installiert und benötigt dann nur noch einen Eintrag in der "hosts"-Datei.
Vielen Dank für diese Hinweise, PiHole läuft schon bei mir unter Proxmox. Dann werde ich mich mal belesen.
Grüße
-
@XxJooO Dann zum nächsten Schritt!
- schau dir mal in PiHole an welchen host von wunderground deine WS die Daten senden will.
- diesen Hostname musst du in deinem DNS (hier pihole) auf eine interne Adresse wo dein Skript laufen soll, umleiten. Siehe hier.
- jetzt sollte deine WS die Daten anstatt zu wunderground an deine Linux-Liste senden.
- Skript konfigurieren und starten.
- freuen.
-
@a200 und @Legoracer70,
vielen Dank für die Unterstützung. Da ich exakt die Sainlogic FT 0300 wie @Legoracer70 habe sollte das exakt ja so funktionieren. Es kommt aber immer ein Kommunikationsfehler. Ich zeige Euch mal kurz, was ich eingestellt habe:
-
hosts-Datei von PiHole:
-
Port von PiHole auf 85 umgestellt, wie vorgeschlagen
-
ping wird auf die .6 meines iobrokers umgeleitet
-
simple-api.0 hat diese Einstellungen
-
bc und jq sind installiert
iobroker@ioBrokerDebian10VM:/$ which bc /usr/bin/bc iobroker@ioBrokerDebian10VM:/$ which jq /usr/bin/jq iobroker@ioBrokerDebian10VM:/$
- Die Dateien liegen auf dem ioBroker-Rechner:
iobroker@ioBrokerDebian10VM:/home/Wetterstation$ ls -a . .. wetterstation.conf wetterstation.sh wetterstation.sub iobroker@ioBrokerDebian10VM:/home/Wetterstation$
-
Die Datenpunkte sind angelegt unter 0_userdata.Wetterstation
-
Die Datei wetterstation.conf wurde wie folgt angepasst (relevanter Ausschnitt):
Soweit sollten die Anpassungen doch korrekt sein, @Legoracer70 siehst Du irgendwo entscheidende Unterschiede?
Interessant dann jetzt die Ausgabe:
iobroker@ioBrokerDebian10VM:/home/Wetterstation$ ./wetterstation.sh --debug rtupdate.wunderground.com [192.168.178.6] 8087 (?) open Can't grab 0.0.0.0:80 with bind : Permission denied 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: Debug VAR: Installationsverzeichnis: /home/Wetterstation IPP: 192.168.178.6:8087 WS_PORT: 80 WS_POLL: 30 PRE_DP: 0_userdata.0.Wetterstation Script-Version: V1.6.0 Config-Version: V1.6.0 Sub-Version: V1.6.0 Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein? iobroker@ioBrokerDebian10VM:/home/Wetterstation$
Habt Ihr irgendeinen Hinweis für mich? Insbesondere die ersten beiden Zeilen irritieren mich und sind anders wie bei @Legoracer70 .
Vielen Dank für Eure Unterstützung!
-
-
@XxJooO sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Port von PiHole auf 85 umgestellt, wie vorgeschlagen
Das wäre/ist nur notwendig wenn das Skript auf dem Pi-Hole läuft.
Dein Problem ist hier:iobroker@ioBrokerDebian10VM:/home/Wetterstation$ ./wetterstation.sh --debug rtupdate.wunderground.com [192.168.178.6] 8087 (?) open Can't grab 0.0.0.0:80 with bind : Permission denied
#3: Permission denied
Das kommt stellenweise von #1 (Debian), da hier ggf. auch ein Apache (oder ein anderer Web-Server) läuft. Da kommst du aus Sicherheitsgründen als "Popel-User" nicht dran, das darf nur root (bei Debian IMHO gültig für alle Ports bis 1024)
...und beim Port bist du nicht wahlfrei, da die Station ihre Daten brav an einen "normalen Server unter Port 80" schickt.
Testweise kannst du mal ein "sudo" voranstellen:sudo ./wetterstation.sh --data
("--data" um einfach mal zu sehen ob ein Datenpaket kommt)
Wahrscheinlich wirst du mit dem Skript aber eh in die Pi-Hole-VM umziehen müssen. Hat keinerlei Performance oder sonstige Nachteile.
Falls du dann hoffentlich Daten bekommst, werden die wahrscheinlich noch nicht korrekt auswertbar sein. Dafür habe ich schon ein Update geschrieben, brauche da aber dann noch einen Tester mit passender Hardware
...aber zuerst muss wenigstens mal ein Datenpaket ankommen. -
Nun aber wirklich das letzte Abschiedsgeschenk zum alten Jahr (noch schnell fertig gemacht, damit dann ab dem 01.01. auch fleißig Daten sammeln angesagt ist) :
Neue Version des Wetterstation-Statistik-Addons auf GitHub V0.1.6
- +Summe "Sommertage", "heiße Tage", "Frosttage", "Eistage" und "sehr kalte Tage" für das gesamte Jahr
Wie immer zu finden im GitHub (wetterstation-statistik.js)
btw: sichert (zB. Hardcopy) heute noch mal alle relevanten Daten, denn ich weiß nicht ob zum Jahreswechsel alles so hinhaut wie erwartet. Vieles nur im Kopf erdacht, einiges nur simuliert und etliches wegen der Fülle an Funktionen (und ich alleine dran hänge + mir da auch die Zeit ausgeht) gänzlich ungetestet, könnte ev. das ein oder andere im Datennirwana verschwinden...
Eigentlich sollte alles korrekt verschoben/angelegt werden und bei den Rekordwerten die Jahresdurchschnittstemperatur-Min/Max auf +/- 99.99° gesetzt werden (weil wir jetzt wirklich aussagekräftig mal für 1 Jahr Daten sammeln müssen). -
Vielen Dank. Drücken wir mal die Daumen das alles passt. Bei mir beginnt eh erst ab morgen das tatsächliche Datensammeln.
Rutscht gut rein alle miteinander.
-
Zum Jahresabschluss noch vielen Dank für deine unermüdliche und tolle Arbeit!
Btw: Es ist echt klasse dass bei jedem Release der GitHub Link aufgeführt ist. So mache ich jedes noch so kleine Update mit was ich sonst wohl ehr in die Warteschlange schieben würde. -
@SBorg Dankeschön und n guten Rutsch und viel Glück, Gesundheit und Erfolg im neuen Jahr!
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Testweise kannst du mal ein "sudo" voranstellen:
sudo ./wetterstation.sh --data
("--data" um einfach mal zu sehen ob ein Datenpaket kommt)Mit sudo kommt folgendes:
iobroker@ioBrokerDebian10VM:/home/Wetterstation$ sudo ./wetterstation.sh --debug [sudo] Passwort für iobroker: rtupdate.wunderground.com [192.168.178.6] 8087 (?) open listening on [any] 80 ... no connection : Connection timed out 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: Debug VAR: Installationsverzeichnis: /home/Wetterstation IPP: 192.168.178.6:8087 WS_PORT: 80 WS_POLL: 30 PRE_DP: 0_userdata.0.Wetterstation Script-Version: V1.6.0 Config-Version: V1.6.0 Sub-Version: V1.6.0 Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?
Ich werde nun mal den Umzug auf den PiHole Server machen. Sollte ja relativ einfach vonstatten gehen. Möglicherweise folgt aber erst morgen eine Rückmeldung. Ich wünschte, ich würde auch so viel davon verstehen...
In die große Runde wünsche ich Euch Allen jetzt schon mal einen guten Rutsch, verbunden mit einem fetten Dank für Eure Arbeit!!!
-
leider keine Besserung. Der PiHole Server läuft unter Ubuntu 18.04.5 LTS
Habe die Dateien ebenfalls inroot@PiHole:/home/Wetterstation# ls -a . .. wetterstation.conf wetterstation.sh wetterstation.sub
mit --data bricht es einfach ab
root@PiHole:/home/Wetterstation# ./wetterstation.sh --data Connection to 192.168.178.6 8087 port [tcp/*] succeeded! Warte maximal 66 Sekunden auf Datenpaket der Wetterstation...
mit --debug kommt
root@PiHole:/home/Wetterstation# ./wetterstation.sh --debug Connection to 192.168.178.6 8087 port [tcp/*] succeeded! Listening on [0.0.0.0] (family 0, port 80) 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: Debug VAR: Installationsverzeichnis: /home/Wetterstation IPP: 192.168.178.6:8087 WS_PORT: 80 WS_POLL: 30 PRE_DP: 0_userdata.0.Wetterstation Script-Version: V1.6.0 Config-Version: V1.6.0 Sub-Version: V1.6.0 Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?
Die angemahnte WS_ID stimmt sicher... Kann ich noch irgendetwas versuchen?
Lieben Dank!
-
- nimm die aktuelle Version! Mit der v.2.0 sieht man etwas mehr.
- du hast noch kein service wetterstation laufen, oder?
- versuche folgendes:
nc -nlvw 1 -p 80
und poste die Ausgabe hier. ggf. Passwort & co aus-x-sen.
-
@XxJooO sagte in [Linux Shell-Skript] WLAN-Wetterstation:
leider keine Besserung. Der PiHole Server läuft unter Ubuntu 18.04.5 LTS
mit --debug kommtroot@PiHole:/home/Wetterstation# ./wetterstation.sh --debug Connection to 192.168.178.6 8087 port [tcp/*] succeeded! Listening on [0.0.0.0] (family 0, port 80)
Doch
Er "hört" jetzt korrekt auf Port 80, bekommt aber keine Daten. Hast du beim Pi-Hole in der hosts-Datei auch die IP geändert?
Die darf jetzt für rtupdate.wunderground.com nicht mehr auf deinen ioB-Rechner zeigen, sondern muss jetzt auf den Pi-Hole zeigen. Je nach Netzwerkkonfiguration (DHCP und -Leases) kann es auch dauern bis das Display nun korrekt die Daten an den Pi-Hole schickt. Ev. genügt auch schon einpihole restartdns reload
auf dem Pi-Hole. -
@All: Frohes Neues
Hat mit zwei kleinen Fehllerchen perfekt funktioniert
- beim Statistik-Addon wurden nicht alle Gradtage für 2020 archiviert. Leider hat hier der "Speicher-Bug" beim JS-Controller bei mir zugeschlagen und nicht alle Änderungen wurden im JS gespeichert. Ist mir nicht aufgefallen, erst jetzt durch den Fehler. Aber verschmerzbar, die Gradtage wurden sowieso erst seit einem Tag gesammelt. Extra Fix gibt es keinen, da es erst wieder in einem Jahr auftritt + es bis dahin eh ein neues Release gibt --> fixed in V0.1.7
- beim WLAN-Skript wurde die kumulierte Jahresregenmenge nicht genullt. Bitte den DP per Hand auf "0" setzen. Habe ich schlichtweg einfach vergessen und auch hier: extra Fix gibt es keinen, da es erst wieder in einem Jahr auftritt + es bis dahin eh ein neues Release gibt --> fixed in V2.1.0
-
Frohes Neues Jahr!
Bei mir scheint etwas mit der Trockenperiode nicht zu stimmen. Die Trockenperiode im Jahr wurde auf "2" gesetzt und unter Rekordwerte wurde diese bei mir noch nie beschrieben. Ist das bei euch auch so?