NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@sborg
Hallo,
ich erhalte in der Statusübersicht ständig parse errors:● wetterstation.service - Service für ioBroker Wetterstation Loaded: loaded (/etc/systemd/system/wetterstation.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2022-07-11 13:44:26 CEST; 7min ago Main PID: 10991 (wetterstation.s) Tasks: 5 (limit: 4915) Memory: 3.4M CGroup: /system.slice/wetterstation.service ├─10991 /bin/bash /home/iobroker/wetterstation.sh ├─14666 /bin/bash /home/iobroker/wetterstation.sh ├─14667 timeout 66 nc -nlvw 1 -p 1080 ├─14668 tail -1 └─14669 nc -nlvw 1 -p 1080 Jul 11 13:44:26 ioBroker-Pi4 systemd[1]: Started Service für ioBroker Wetterstation. Jul 11 13:44:27 ioBroker-Pi4 wetterstation.sh[10991]: Connection to 192.168.178.43 8087 port [tcp/*] succeeded! Jul 11 13:44:30 ioBroker-Pi4 wetterstation.sh[10991]: parse error: Invalid numeric literal at line 1, column 10 Jul 11 13:44:30 ioBroker-Pi4 wetterstation.sh[10991]: parse error: Invalid numeric literal at line 1, column 10
Worauf bezieht sich hier die Zeile 1 / Spalte 10 - auf den Dateninhalt von der Station, oder auf was Anderes?
Viele Grüße
-
Testrunde...
für die Rest-API, also nur für Leutz die sie eh schon haben oder jetzt damit mal anfangen wollen...
Aktuellews_updater.beta
herunterladen (https://github.com/SBorg2014/WLAN-Wetterstation/blob/master/ws_updater.beta) und "ausführbar" machen mittelschmod +x ./ws_updater.beta
Im Installationsverzeichnis (ist nur für den Test) eine neue Datei wetterstation.conf.temp (zB.nano wetterstation.conf.temp
mit folgendem Inhalt anlegen:RESTAPI_URL=https://192.168.1.3:8093 RESTAPI_USER=apiknecht RESTAPI_PW=geheim PRE_DP=0_userdata.0.Test_RestAPI
- URL dürfte klar sein (ioB + Port der Rest-API
- User und Passwort kann man auch den "admin" nehmen, ich empfehle allerdings eher sich einen neuen User mit entsprechenden Rechten im ioB dafür anzulegen. Zum Test kann man ausnahmsweise auch mal den "admin" nutzen
- PRE_DP könnt ihr so lassen, ist ein reiner Testdatenpunkt der nachher sowieso wieder gelöscht werden kann/muss
Test #1:
./ws_updater.beta --test
dann sollte hoffentlich im IoB unter "0_userdata.0." auftauchen:
Test #2:
do_it_again...
./ws_updater.beta --test
Dann hat alles funktioniert und kann in die zukünftigen Updater-Versionen
Kpl. Objectbaum und "wetterstation.conf.temp" können gelöscht werden.
-
@omnedon sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Worauf bezieht sich hier die Zeile 1 / Spalte 10
Zumindest auf das Skript, aber das ist leider nonsens von der bash (mit Zeile 1 / Spalte 10)....
Wenn du den Status jetzt noch mal prüfst, wirst du feststellen, dass es bei den beiden Fehlermeldungen geblieben ist (+ auch bleiben wird, außer es kommen neue, andere hinzu).
Du hast mit dem Start einen "ungünstigen" Augenblick erwischt. Das kann gelegentlich passieren, dann sind einfach (noch) nicht alle Daten vorhanden und er versucht mit 0-Werten zu rechnen. Daraus resultiert der Fehler. Mit dem nächsten Datenpaket ist dann alles wieder in Ordnung.
Mir ist leider dazu noch keine Lösung eingefallen dies abzufangen. Ist so ein bisschen wie ich steh unter einem Eimer mit Wasser und will wissen ob der voll ist. Also dreh ich den um. Jetzt weiß ich es... -
@sborg said in [Linux Shell-Skript] WLAN-Wetterstation:
@viper4iob Ich habe jetzt mal die beiden 10min-Werte eingebaut, in der Simulation funktioniert es auch.
Wenn ich es schaffe lade ich es noch heute zum testen auf GitHub hoch
...spätestens (hoffentlich) dann morgen...Vielen Dank für die schnelle Umsetzung.
Dann hätte ich doch noch mal eine Idee. Ich habe mir mal die 10 min Durchschnittswerte angeschaut.
Und gerade bei der Windrichtung bügelt das das extreme Schwanken der Fahne durch verwirbelte Luft oder vielleicht schlechtes Design ganz gut aus. In einem Graphen sieht es auf jeden Fall deutlich besser aus.
Die Frage wäre jetzt, ob man eine Option in die config einbauen könnte, dass zu den externen Diensten wie wetter.com oder OpensenseMap ... statt dem normalen Wert der 10 min Wert übertragen wird. Für die Windrichtung würde das Sinn machen, denke ich. Bei der Wind-Geschwindigkeit bin ich mir nicht so sicher. Eventuell macht es Sinn für beide Werte eine getrennte Option zu haben. Dann kann das jeder selbst entscheiden.
Ich sammle jetzt mal bis morgen die Daten, dann kann ich vielleicht mal Screenshots von Graphen aus iobroker im Vergleich zeigen. -
Wie so oft im Leben sitzt das Problem vor dem Computer!
Hab den Fehler gefunden - soweit alles gut.Nachdem ich den Service in meiner Proxmox7 VM gestoppt habe und im simple adapter immer noch alle 15 Minuten die "Leereinträge" der Wetterdaten und Drucktendenz kamen mußten die auf jeden Fall von einem anderen System kommen.
Ja ich hätte im Testsystem (hab ich vor kurzem wieder angeworfen und alle nicht relevanten Adapter gestoppt) auch das Wetterscript ändern sollen. Aus diesem kamen die Daten. Nachdem ich dort in Proxmox6 Testsystem Service und Files/Folders
der Wetterstation gelöscht, und dann wieder im Livesystem das Script aktiviert habe, kommen die Wetterdaten alle 15 Minuten nur 1x und alles geht soweit ich das im Log gesehen habe seinen gewohnten Gang.Also sollte so ein Fehler nochmals vorkommen, dann ist wahrscheinlich ein altes oder ein Testsystem noch aktiv.
-
@sborg
Hallo,
die Erklärung kling einleuchtend, aber der Fehler kommt regelmäßig:Jul 11 16:45:01 ioBroker-Pi4 wetterstation.sh[19672]: parse error: Invalid numeric literal at line 1, column 10 Jul 11 17:00:18 ioBroker-Pi4 wetterstation.sh[19672]: parse error: Invalid numeric literal at line 1, column 10 Jul 11 17:00:18 ioBroker-Pi4 wetterstation.sh[19672]: parse error: Invalid numeric literal at line 1, column 10 Jul 11 17:00:19 ioBroker-Pi4 wetterstation.sh[19672]: parse error: Invalid numeric literal at line 1, column 10 Jul 11 17:00:19 ioBroker-Pi4 wetterstation.sh[19672]: parse error: Invalid numeric literal at line 1, column 10 Jul 11 17:15:30 ioBroker-Pi4 wetterstation.sh[19672]: parse error: Invalid numeric literal at line 1, column 10 Jul 11 17:15:30 ioBroker-Pi4 wetterstation.sh[19672]: parse error: Invalid numeric literal at line 1, column 10 Jul 11 17:15:30 ioBroker-Pi4 wetterstation.sh[19672]: parse error: Invalid numeric literal at line 1, column 10 Jul 11 17:15:30 ioBroker-Pi4 wetterstation.sh[19672]: (23) Failed writing body Jul 11 17:15:30 ioBroker-Pi4 wetterstation.sh[19672]: parse error: Invalid numeric literal at line 1, column 10
-
@omnedon Ist genau im 15 Minuten-Raster, dürfte also Influx sein...
- Influx V2.x? Aktuell geht nur V1.x
- bei V1.x: User, Passwort, Datenbankname etc. stimmen für Influx alle? Entsprechende Datenpunkte werden geloggt?
-
@sborg
Danke für den Hinweis!
Ich werde prüfen. -
@sborg
Ja, das war Influx.
Danke nochmal! -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
oder jetzt damit mal anfangen wollen...
irgendwas passt bei mir noch nicht
kannst du mal drübetschaun?dietpi@DietPi:/$ ./ws_updater.beta --test -bash: ./ws_updater.beta: Datei oder Verzeichnis nicht gefunden dietpi@DietPi:/$
-
@negalein leider wieder was vergessen, oben schon geändert.
...und "ausführbar" machen mittels
chmod +x ./ws_updater.beta
Beim http(s) der Rest-API URL bin ich mir gerade nicht sicher. Müsste eigentlich mittels "https" laufen.
-
@tritor sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Wie so oft im Leben sitzt das Problem vor dem Computer!
Hauptdache läuft
Da lag ich (steht irgendwo weiter oben) sogar richtig, dass irgend was anderes noch laufen muss, denn zu den Zeitpunkten kann das Skript selbst nichts machen. Das 2. hat dann munter auf das folgende Paket reagiertTrotzdem kommt man immer selbst ins grübeln...
-
@viper4iob Ich überlege jetzt schon einige Zeit. Parameter in der conf wäre zwar am flexibelsten, aber es sind eigentlich auch schon genügend vorhanden (für die Rest-API kommen ja auch wieder neue hinzu).
Ich denke weiter, was meint denn der Rest?
Ich könnte die letzten 10 Minuten (bzw. zB 20 Werte) im RAM halten (paar kB und der Adapter kommt eh mit <10MB RAM aus) und daraus immer einen Mittelwert bilden für die Stationen die es nicht selbst ermitteln.
Ich sehe mein Windfähnchen immer "propellern", da ist alle 30 Sekunden ein Momentanwert auch eher nichtssagend. -
@sborg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Beim http(s) der Rest-API URL bin ich mir gerade nicht sicher. Müsste eigentlich mittels "https" laufen.
mit
http
ist die Meldung gekommen, dass es angelegt wurde.
In0.userdata
war es aber nicht da.mit
https
funktioniert es perfekt.Lege neues Object im ioBroker an: 0_userdata.0.Test_RestAPI.Info.Meldungen dietpi@DietPi:/home/iobroker$ ./ws_updater.beta --test ┌────────────────────────┐ │ │ │ WS-Updater V2.15.0 │ │ │ └────────────────────────┘ Lege neues Object im ioBroker an: 0_userdata.0.Test_RestAPI.Info.Meldungen Fehlermeldung beim Anlegen des Datenpunktes: {"error":"Object already exists","id":"0_userdata.0.Test_RestAPI.Info.Meldungen"} dietpi@DietPi:/home/iobroker$
-
Hallo,
Zur Info:
ich konnte heute meine Froggit WH6000Pro erfolgreich einbinden.Gruß
Mugel80 -
@negalein Supi, danke für das testen. Dann können sich zukünftig Rest-API Nutzer freuen (für die kommende V2.15.0 ist es dafür leider schon zu spät)
Bei falschem Protokoll kommt leider keinerlei Fehlermeldung zurück, dafür aber überhaupt nix. Auf "nix" kann ich aber reagieren:
-
@mugel80 Danke für die Rückmeldung und kommt gleich mit in die Liste
Willkommen bei den Wetterfröschen
-
Vis & Kompass:
Bei der Neugestaltung meiner Wetterdaten Vis, benutue ich das Compass Widget.
Leider wir das nach einigen Minuten fehkerhaft und zeigt eine Verschiebung:Tritt beim Firefox 102.0.1 (64-Bit) unter MacOS auf, der der aktuelle Safari 15.15 am MBPro hat kein Problem damit auch beim MS Edge 103.0.1264.51 unter OSX habe ich kein Problem festgestellt.
Ist also definitiev ein browserabhängiges Problem. Leider hab ich im Moment keinen Wondowsrechner zur Verfügung und kann das mit dem FF leider nicht testen.
-
@tritor
Ich setzte dieses Widget ein, welches bisher ohne Probleme funktioniert:[{"tpl":"tplCGCompas","data":{"g_fixed":true,"g_visibility":false,"g_css_font_text":false,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"g_last_change":false,"visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","minValue":"0","maxValue":"360","factor":"1","valueOffset":"0","hCount":"1","majorTicks":"N,NO,O,SO,S,SW,W,NW,N","minorTicks":"22","strokeTicks":"false","animation":"true","animationDuration":"1000","colorPlate":"#222","colorMajorTicks":"#f5f5f5","colorMinorTicks":"#ddd","colorNumbers":"#ccc","colorNeedle":"rgba(240,128,128,1)","colorNeedleEnd":"rgba(255,160,122,.9)","colorBorderOuter":"#ccc","colorBorderOuterEnd":"#ccc","colorNeedleShadowDown":"#222","needleType":"line","needleStart":"75","needleEnd":"99","needleWidth":"3","borders":"true","borderOuterWidth":"4","borderMiddleWidth":"0","borderInnerWidth":"0","borderShadowWidth":"0","valueBox":true,"valueTextShadow":"false","ticksAngle":"360","startAngle":"180","colorNeedleCircleOuter":"#ccc","needleCircleSize":"15","needleCircleOuter":"false","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis.0/Weatherman/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis.0/Weatherman/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis.0/Weatherman/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"oid":"0_userdata.0.Wetterstation.Windrichtung","units":"°","title":"Wind","valueDec":"0","name":"Windrichtung"},"style":{"left":"245px","top":"34px"},"widgetSet":"canvas-gauges"}]
-
hättest du die Windrose als gesamten Widgetcode zur Verfügung?
Auf welchem Wideget basiert es? Ich hätte versucht mit dem Kompass-Widget zu arbeiten, bekomme aber keine Grafik rein.