NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Als "schnelles" Regenereignis ist das sowieso unbrauchbar, dafür werde ich, wie bereits erwähnt, einen Regensensor nutzen.
Aber auch die Profistationen können das nicht besser, außer die hätten einen Flux-Kompensator
Du kannst einfach nur eine Zeit x die Regenmenge erfassen und nur für die Zeit x gilt dann auch die Regenaussage. Die Stationen messen idR 10 Minuten lang und multiplizieren dann als Hochrechnung mit 6 = erwartete Regenmenge innerhalb einer Stunde. Das wäre dann Regenschauer, Starkregen etc. pp.
Hört es aber bereits nach 13 Minuten zu regnen auf, ist die kpl. Vorhersage für die Füße...Deswegen nur eine grobe Vorhersage zum aktuellen Geschehen, was oder wofür dann jeder was daraus macht/braucht...
"Mein" Plan: Regensensor für aktuelle Situation Regen - löst nach ein paar Tropfen aus --> Markise einfahren...
grobe Vorhersage der Station: bspw. Starkregen --> Fallrohr vom Gartenteichzulauf abklemmen... -
@ilovegym said in [Linux Shell-Skript] WLAN-Wetterstation:
Xiaomi
Hi Bernd,
nutzt Du so einen "Xiaomi Mijia Aqara Wasser Wasser Leck Detektor" ? und wenn ja, hast du den über ein Gateway angebunden oder kann man ihn mit Tasmota in WLAN hängen?
Viele Grüße,
Kay -
@kaybau sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@ilovegym said in [Linux Shell-Skript] WLAN-Wetterstation:
Xiaomi
nutzt Du so einen "Xiaomi Mijia Aqara Wasser Wasser Leck Detektor" ? und wenn ja, hast du den über ein Gateway angebunden oder kann man ihn mit Tasmota in WLAN hängen?
Hallo Kay,
über Gateway, ist ein Zigbee Device. Du kannst dir natürlich auch relativ einfach einen Wemos/NodeMCU nehmen und den Sensor daran klemmen, mit Tasmota oder ESPEasy sollte das dann auch funktionieren.
Ich hab 9 Xiaomi Gateways und ca. 150 Zigbee-Sensoren verbaut... da kommts auf eins mehr oder weniger nicht mehr an
schau mal hier ist der Thread:
https://forum.iobroker.net/topic/26358/xiaomi-mijia-aqara-wassersensor-als-regensensor -
Guten Abend Allerseits
Erstmal top was hier wieder auf die Beine gestellt wurde - echt klasse!
Hatte mir nun auch ne WH4000SE geordert und auch schon so weit Alles vorbereitet - aber nun hängts und ich komme leider nicht weiter...root@DietPi:/opt/iobroker# ./wetterstation.sh --debug:
Meine wetterstation.conf:
Wenn ich auf Port 9999 umstelle:
Mein IObroker läuft auf ner DS718+ in einer Dietpi-VM (Debian).
Ich schnall das gerade nicht, warum ich nichts empfange, bzw. wo das problem liegt
Habt Ihr noch eine Idee?
-
@lemuba sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Wenn ich auf Port 9999 umstelle:
Auch in der App umgestellt !?
-
@Glasfaser Ja, hatte ich jeweils gemacht...
-
Ist die Wetterstation auch erreichbar , zb. per Ping in deiner VM !?
und was zeigt das an ?
nc -lv -p 9999
-
@Glasfaser Ich schau nun gerade nochmal in Ruhe... das Problem sitzt wahrscheinlich gerade vor dem Monitor
Ich schwimme gerade mit den IPs...
root@DietPi:~# nc -lv -p 9999
listening on [any] 9999 ...ietPi v6.28.0 : 21:08 - Sa 28.03.2020
─────────────────────────────────────────────────────- Device model : Virtual Machine (x86_64)
- CPU temp : N/A
- LAN IP : 192.168.12.127 (eth0)
- MOTD : Folding@home takes up the fight against 2019 Corona virus:
-> https://foldingathome.org/2020/02/27/
On x86_64 system you can install it via dietpi-software and contribute.
─────────────────────────────────────────────────────
DietPi Team : MichaIng (lead), Daniel Knight (founder)
Web : https://DietPi.com | https://twitter.com/dietpi_
Patreon Legends : Bryce
Donate : https://DietPi.com/#donate
DietPi Hosting : Powered by https://MyVirtualServer.comdietpi-launcher : All the DietPi programs in one place.
dietpi-config : Feature rich configuration tool for your device.
dietpi-software : Select optimized software for installation.
htop : Resource monitor.
cpu : Shows CPU information and stats.root@DietPi:~# nc -lv -p 9999
listening on [any] 9999 ... -
@lemuba sagte in [Linux Shell-Skript] WLAN-Wetterstation:
root@DietPi:~# nc -lv -p 9999
listening on [any] 9999 ..Kann auch mal bei 2 .. 3.. Anlauf angezeigt werden ......
Hast du sie mal angepingt !??
"root@DietPi:~# ping ...
-
@lemuba Also...
Port: 80 kannst du vergessen, da läuft schon was anderes bei dir drauf.
Port: 9999 wäre bspw. Ok, aber dein Problem wird sein, dass deine Distri einen anderen netcat nutzt.Installiere mal netcat-openbsd, dann sollte es auch funktionieren
btw: deine Station-ID ist wirklich ZuHause (lt.conf; muss dann auch so in der App hinterlegt sein)?
-
@SBorg said in [Linux Shell-Skript] WLAN-Wetterstation:
@lemuba Also...
Port: 80 kannst du vergessen, da läuft schon was anderes bei dir drauf.
Port: 9999 wäre bspw. Ok, aber dein Problem wird sein, dass deine Distri einen anderen netcat nutzt.Installiere mal netcat-openbsd, dann sollte es auch funktionieren
Lese mich da mal durch und mache ich...btw: deine Station-ID ist wirklich ZuHause (lt.conf; muss dann auch so in der App hinterlegt sein)?
War bei Test alles identisch, habe ich aber mittlerweile auch mal geändert...und ping auf die WH-4000-SE:
root@DietPi:~# ping 192.168.12.184
PING 192.168.12.184 (192.168.12.184) 56(84) bytes of data.
64 bytes from 192.168.12.184: icmp_seq=1 ttl=128 time=87.7 ms
64 bytes from 192.168.12.184: icmp_seq=2 ttl=128 time=109 ms
64 bytes from 192.168.12.184: icmp_seq=3 ttl=128 time=28.5 ms -
-
Neee ... du hast Punkt 4 der WIKI verändert bzw. nicht beachtet !!!
/weatherstation/updateweatherstation.php?
-
-
Brauche mal ein Tip von dir , habe schon alles versucht komme nicht weiter .
Habe gesehen das du VMM mit DietPi hast , wäre eine gute Lösung für meine extra Raspberry wo eigentlich nur dieses Script läuft !
Habe alles installiert ...
.... und dann noch : apt-get install netcat-openbsdLeider bekomme ich keine Ausgabe sie bleibt stehen mit " nc -lv -p 9999 " so wie bei dir , obwohl ich netcat-openbsd installiert habe !???
-
Ich sehe da gerade Dein Problem nicht - verstehe zu wenig von Linux als Solches.
Hatte gestern nach dieser Anleitung "netcat-openbsd" installiert:
https://www.howtoinstall.co/en/debian/stretch/netcat-openbsdsudo apt-get update
sudo apt-get install netcat-openbsdBei mir schaut die Ausgabe zur Zeit so aus:
oder so:
Habe jetzt nur noch Probleme mit diesem Teil des Wikis:
Das funktioniert unter Dietpi so nicht - Dietpi händelt crontabs anders und habe noch keinen Weg gefunden das entsprechend umzusetzen. Schaue aber heute weiter.
Was aber schon bei mir läuft ist influxdb, Grafana und der tolle Grafana View hier aus dem Thread.
Edit/Dietpi - so weit rausgefunden:
"pkill -9 wetterstation.sh" killt das Script nicht, gibt aber auch keine Fehlermeldung.
Dagegen funktioniert aber ein "killall wetterstation.sh" -
@Glasfaser Mach mal ein
which nc
--> /bin/nc
ls -al /bin/nc
--> ... /bin/nc -> /etc/alternatives/nc
ls -al /etc/alternatives/nc
--> ... /etc/alternatives/nc -> /bin/nc.openbsdSteht da .../nc.openbsd, ist es zumindest schon mal der "richtige" netcat
Dann könnte es uU sein, dass dein Port 9999 gar nicht durch die VM durch gereicht wird (Firewall etc.). -
@lemuba Läuft denn der Cron-Service? DietPi nutzt den üblichen cron, müsste also soweit auch laufen...
service cron status
falls nicht,service cron start
, dass wird aber nur bis zum nächsten reboot funktionieren.
Mittelssystemctl enable cron
aktivierst du dann den "Autostart" auch beim booten dauerhaft.Wenn es mittels "pkill" nicht funktioniert, kannst du auch "killall" nutzen, nur würde ich noch "-9" hinzufügen. Dies würgt den Prozess nicht brutal ab, sondern schickt ihm eine Mitteilung "los, beende dich gefälligst", und gibt ihm Zeit, noch Daten zu schreiben oder was er sonst gerade tut noch ordnungsgemäß zu beenden
-
@SBorg
Erstmal vielen Dank für Deinen 1A Support und Geduld!Ja der Cron Service läuft nach einem Reboot, aber wenn ich den Cron nach Wiki anlege, kümmerts meine Dietpi Instanz nicht was da drinne steht. Im welchem Verzeichnis muss das Teil denn drinne liegen, damit es eventuell nach eine Reboot abgearbeitet wird...?
Rufe die Wetterstation.sh nun als Postboot Script auf - das funktioniert auch und es kommen im Iobroker die Werte an.
Nur wenn ich dann ein Terminal Fenster aufmache, muss ich jedes mal CTRL + C eingeben um diese Ausgabe im Terminafenster zu beeenden:INFO ] Waiting for DietPi-Postboot to finish... (Press CTRL+C to abort)
Und noch eine Frage... Warum sollte Wetterstation.sh einmal am Tag um 0:02 Uhr beendet und neu gestartet werden? Kann das irgendwelche Nachteile haben wenn mans nicht einrichtet?
-
@lemuba Eigentlich unter /etc/crontab für die systemweite. Dann gibt es aber noch die User eigenen und "root" ist auch ein User
Irgendwo habe ich aber gelesen, dass bei DietPi nur "root" abgearbeitet wird. Deswegen würde ich die Einträge mal so probierencrontab -u root -e
bzw. -l für die Ausgabe.
Dann bliebe notfalls noch /etc/crontab direkt bearbeiten oder per rc.local (ist wie bei Windows der Autostart)@lemuba sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Warum sollte Wetterstation.sh einmal am Tag um 0:02 Uhr beendet
Kannst du auch testweise mal weglassen. Das Ganze ist ja über einen längeren Zeitraum gewachsen. Dabei stellte sich heraus, dass uU der nc nach einer längeren Laufzeit (meist ~3-4 Tage) einfach "hängen bleibt". Deswegen der tägliche "reboot" des Skriptes und damit auch des netcat