NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@sborg kann ich ja noch machen wenn ich weis wie.
hab jetzt laut wiki:woody@ioBroker:~$ sudo nano /etc/systemd/system/wetterstation.service woody@ioBroker:~$ sudo chmod +x /etc/systemd/system/wetterstation.service woody@ioBroker:~$ sudo systemctl daemon-reload woody@ioBroker:~$ sudo systemctl enable wetterstation.service Created symlink /etc/systemd/system/multi-user.target.wants/wetterstation.service → /etc/systemd/system/wetterstation.service. woody@ioBroker:~$ sudo systemctl status wetterstation ● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: inactive (dead) woody@ioBroker:~$
pfad angepasst. was heisst Active: inactive (dead)?
oops, jetzt is was gekommen...
woody@ioBroker:~$ sudo systemctl status wetterstation ● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-04-14 15:07:54 CEST; 18s ago Main PID: 31460 (wetterstation.s) Tasks: 5 (limit: 4915) Memory: 3.1M CGroup: /system.slice/wetterstation.service ├─31460 /bin/bash /home/woody/wetterstation.sh ├─31785 /bin/bash /home/woody/wetterstation.sh ├─31786 timeout 46 nc -nlvw 1 -p 6969 ├─31787 sed -n 1 p └─31788 nc -nlvw 1 -p 6969 Apr 14 15:07:54 ioBroker systemd[1]: Started Service für ioBroker Wetterstation. Apr 14 15:07:54 ioBroker wetterstation.sh[31460]: Connection to 192.168.0.250 8087 port [tcp/*] succeeded! Apr 14 15:07:54 ioBroker wetterstation.sh[31460]: Listening on [0.0.0.0] (family 2, port 6969) Apr 14 15:08:06 ioBroker wetterstation.sh[31460]: Connection from 192.168.0.99 27799 received! Apr 14 15:08:07 ioBroker wetterstation.sh[31460]: /home/woody/wetterstation.sub: Zeile 551: printf: `%d Std, %d Min': Apr 14 15:08:07 ioBroker wetterstation.sh[31460]: /home/woody/wetterstation.sub: Zeile 551: printf: `%d Std, %d Min': Apr 14 15:08:07 ioBroker wetterstation.sh[31460]: /home/woody/wetterstation.sub: Zeile 551: printf: `%d Std, %d Min': Apr 14 15:08:07 ioBroker wetterstation.sh[31460]: /home/woody/wetterstation.sub: Zeile 551: printf: `%d Std, %d Min': Apr 14 15:08:08 ioBroker wetterstation.sh[31460]: Listening on [0.0.0.0] (family 2, port 6969)
-
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@protheus sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich hatte daran auch nicht gedacht. Ich bin zuversichtlich, das es heut Nacht dann tut
Ich kam auch schon auf die Idee, sieht halt "netter" aus. Am nächsten Tag habe ich dann etliche Zeit gesucht warum in Grafana der Wert nicht mehr angezeigt wird...
Ich werde es aber noch mal ausdrücklich mit Hinweis auf Influx-Aliase ins Skript aufnehmen.Mittlerweile gibt es so viele Berührungspunkte, dass man auch den Überblick verliert, bash, Influx, Javascript, ioB...
iobroker ist halt keine Lösung für "nur mal eben schnell".
Falls man eine Click and Run Automatisierungslösung will ist man bei iobroker falsch (oder man nimmt nur die Standardadapter).Sobald man aber mit solchen Skriptlösungen arbeitet, muss man sich halt mit den "Berührungspunkten" zwangsläufig beschäftigen.
Da die Entwickler und die Community echt klasse sind, ist das Ganze auch nicht so schwer (Ich lerne auch ständig neues durch die Automatisierung dazu - und es macht Spaß).Und wenn ich mit meinen "Sonderwünschen/-konfigurationen" Entwicklern helfen kann, um so besser
Viele Grüße
Protheus -
@sborg Hi,
mir wurde heute das Update auf Firmware 1.5.8 angeboten, habs gemacht, läuft.
Bugfixes bei custom setup (stabilität) etc..Bis jetzt keine Auffälligkeiten.
Der Datenpunkt "new firmware" ist jetzt noch true, obwohl das update drauf ist, wann geht der wieder auf false??
-
@ilovegym sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@sborg Hi,
mir wurde heute das Update auf Firmware 1.5.8 angeboten, habs gemacht, läuft.
Bugfixes bei custom setup (stabilität) etc..Wo gibt es eine Beschreibung zu dem Update?
-
@da_woody sagte in [Linux Shell-Skript] WLAN-Wetterstation:
kann ich ja noch machen wenn ich weis wie.
Einfach wieder mittels
sudo update-alternatives --config nc
und dann den "openbsd im 'manual mode'" auswählen (bzw. dann die entsprechende Nummer eingeben).@ilovegym sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Der Datenpunkt "new firmware" ist jetzt noch true, obwohl das update drauf ist, wann geht der wieder auf false??
Vom Skript aus bei den Mitternachtsjobs gegen 23:58 Uhr. Mehr als einmal täglich prüfen gibt IMO kaum Sinn, da bspw. die 1.5.7 zwei Monate alt war
Man kann auch den DP per Hand auf false setzen, der wird je nach Status dann um Mitternacht bei false belassen, oder falls es wieder ein Update gibt auf true gesetzt.@a200 ich trage es immer nochmals auf GitHub bei der Versionsnummer ein. Mehr als was die APP an Infos anbietet habe ich aber auch nicht.
-
@sborg Bei mir in der App steht:
New Firmware GW1000V1.6.6:
- increase the receiving of data from WH35 devices.
-
@a200 Beim Gateway muss ich passen, habe keines
...und die WH35-Strings kommen auch erst noch.In der nächsten Version kann man nun auch komfortabel die Abhängigkeiten (speziell netcat) prüfen lassen:
Dafür lohnt aber aktuell kein neues Release.
-
@sborg wäre das hier nicht was für dich?
http://download.ecowitt.net/down/filewave?v=FirwaveReadme.txt&usg=AOvVaw0NF3KkHjIVKQmyLmlNZD2T
-
@a200 Ja
Genau danach habe ich gesucht. Dann kann ich einen kleinen Parser schreiben und muss nicht alle paar Tage von Hand prüfen ob es ein neues Release gibt.
Gilt allerdings dann nur für EasyWeather, wobei ich Gateway eh noch nie im Angebot hatte. -
@sborg freut mich zu hören. Habe nach Infos für 1.6.6. gesucht und die Datei gefunden. Damit könnte man aber für alle Typen die aktuelle Version parsen. Vielleicht kann ich helfen, aber im Moment sieht es bei mir sehr eng aus.
-
@a200 Der Parser ist mittlerweile seit paar Tagen im Einsatz und scheint zu funktionieren (warte auf ein Update ). Ich habe ihn extra "offen" gehalten, man könnte also bspw. das Gateway abfragen oder auch Infos über die Version ziehen.
Ich weiß gar nicht mehr, aber ist das Gateway mit Versionsnummer im String mit drin? -
@sborg Hut ab von mir.
Die Versionsnummer wird über stationtyp übertragen.
stationtype=GW1000A_V1.6.6
sieht bei mir in debug so aus:
Firmware : GW1000A_V1.6.6 Batteriestand: : 1 Gateway-Modell : GW1000_Pro
Ich hoffe du kannst damit was anfangen.
-
Hallo
Ich hab gesehn, dass der DP
javascript.0.Wetterstation._Kommunikationsfehler
immer auftrue
steht.
Zeitstempel: 12. 4. 2021
Letzte Änderung: 24. 3. 2021Es war schonmal hier im Thread das Thema. Aber da wurde er (glaub bei @crunchip) wieder
false
.
Ging damals glaube darum, dass er wieder beim Scriptstart auffalse
gehen sollte. Das wäre doch 1x am Tag wenn ich mich nicht irre.Was könnt ich kontrollieren, testen, ..., warum er dauernd auf
true
steht? -
@negalein da war, soweit ich mich erinnere, da es bei mir doppelt lief, und zum anderen, hing das mit meinem Unifi Netzwerk zusammen, wenn die Wetterstation von einem auf den anderen AP gewechselt hatte.
-
@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@negalein da war, soweit ich mich erinnere, da es bei mir doppelt lief, und zum anderen, hing das mit meinem Unifi Netzwerk zusammen, wenn die Wetterstation von einem auf den anderen AP gewechselt hatte.
Hast du eine bewegliche Wetterstation oder trägst du deine APs spazieren? (Kein Sarkasmus...interessiert mich wirklich, warum deine W die APs wechselt)
Viele Grüße
Protheus -
@protheus die Verbindung wechselt, wenn man z.b etwas an seiner Netzwerkeinstellung ändert und sich der AP neu provisioniert,
-
@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@protheus die Verbindung wechselt, wenn man z.b etwas an seiner Netzwerkeinstellung ändert und sich der AP neu provisioniert,
Ah verstehe. Hab ich mit minimal-Bandbreite und Zuweisung zu einem AP gelöst.
-
@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
da war, soweit ich mich erinnere, da es bei mir doppelt lief, und zum anderen, hing das mit meinem Unifi Netzwerk zusammen, wenn die Wetterstation von einem auf den anderen AP gewechselt hatte.
Ok, da trifft nichts bei mir zu.
Mal abwarten was @SBorg meint.
-
@a200 sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Die Versionsnummer wird über stationtyp übertragen.
stationtype=GW1000A_V1.6.6
Ich hoffe du kannst damit was anfangen.
Ist zumindest der selbe String wie in der Datei, lässt sich also gut abgleichen. Damit könnte man auch bei FW-Updates des Gateways darauf hinweisen. Nur halt wieder einbauen...
Wenn Ecowitt schon keine Samples bereit stellt, so haben sie wohl mitgelesen und ein neues FW-Upgrade veröffentlicht. Parser lüppt für EasyWeather 1a
-
@negalein sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ging damals glaube darum, dass er wieder beim Scriptstart auf false gehen sollte. Das wäre doch 1x am Tag wenn ich mich nicht irre.
Was könnt ich kontrollieren, testen, ..., warum er dauernd auf true steht?Ne, du irrst
Mal zur (aktuellen) Funktionsweise:
Immer wenn 2 aufeinander folgende Datenpakete invalid (gar keines oder verstümmelt) waren wird intern ein Fehlerzähler erhöht. Kommt wieder ein valides Datenpaket wird der Zähler wieder um 1 verringert.
Erreicht er aber einen Zählerstand von 10 oder mehr wird der DP "_Kommunikationsfehler" auf true gesetzt und verbleibt so bis nun entweder- man den DP von Hand (oder zB. per VIS) auf false setzt
- oder man den Rechner bootet (das Skript beim Cronjob von Hand killt + neu startet, oder bei systemd mittels "sudo systemctl restart wetterstation" den Service neu startet)
Das ist extra so, denn der "Kommunikationsfehler" ist ein echter Fehler, da er anscheinend kaum/keine Verbindung zum WLAN/Rechner etc. bekommt. Häufig sitzt aber der Fehler 60cm vor dem Bildschirm (ja, ich auch schon ) und man startet bei laufendem Service zB. das Skript nochmals von Hand. Da sich dann beide gleichzeitig um einen Port "kloppen", geht zumindest eins leer aus und meldet den "Kommunikationsfehler".
Ich habe dafür eine Anzeige in der VIS, über die ich den DP auch gleich auf false setzen kann. Tritt es dann gleich wieder auf ist wirklich was faul.
Setze ihn also einfach mal per Hand auf false und beobachte. Wahrscheinlich ist damit schon alles gelöst und es war vor paar Tagen irgendein temporäres Problem. Kann zumindest nix schlimmes sein, sonst würden auch keine Daten kommen