NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@crunchip Wenn du nur "nc" eingibst steht da bei den Parametern [-w timeout] (oder so ähnlich)
-
root@IoBroker:~# nc Cmd line:
-
@Nashra Hmm, er will es als "String" loggen, obwohl er eine Zahl (float) erkannt hat.
Sind die zwei Datenpunkte wirklich als "Zahl" angelegt?
-
@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
root@IoBroker:~# nc Cmd line:
oder auch nicht. Da ist der Fehler. Dein Docker nutzt anscheinend eine ältere Version von "nc". Der kann dann wohl kein "-w"
Versuch malnc --help
-
[v1.10-41+b1] connect to somewhere: nc [-options] hostname port[s] [ports] ... listen for inbound: nc -l -p port [-options] [hostname] [port] options: -c shell commands as `-e'; use /bin/sh to exec [dangerous!!] -e filename program to exec after connect [dangerous!!] -b allow broadcasts -g gateway source-routing hop point[s], up to 8 -G num source-routing pointer: 4, 8, 12, ... -h this cruft -i secs delay interval for lines sent, ports scanned -k set keepalive option on socket -l listen mode, for inbound connects -n numeric-only IP addresses, no DNS -o file hex dump of traffic -p port local port number -r randomize local and remote ports -q secs quit after EOF on stdin and delay of secs -s addr local source address -T tos set Type Of Service -t answer TELNET negotiation -u UDP mode -v verbose [use twice to be more verbose] -w secs timeout for connects and final net reads -C Send CRLF as line-ending -z zero-I/O mode [used for scanning] port numbers can be individual or ranges: lo-hi [inclusive]; hyphens in port names must be backslash escaped (e.g. 'ftp\-data').
-
@crunchip Zumindest hat er "w", aber eine andere Reihenfolge? Sollte zwar IMO egal sein, aber wenn sie es so schreiben...
nc -l -p 55555 -v -w 1
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
nc -l -p 55555 -v -w 1
das gleiche, no connection
-
@crunchip
Erklärt warum es bei dir nur mit "p" läuft. Ev, gibt es noch mehr Unterschiede. Installiere doch mal versuchsweise den netcat-openbsd -
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
netcat-openbsd
hab ich gemacht
mitnc -l -p 55555 -v -w 1
kommen auch nun die werte -
@crunchip Puuuhhh, schwere Geburt
Jetzt müsste dann auch bei dir die V1.0.0 laufen...und Jahresregenmenge funktioniert nun schon den 3. Tag hintereinander. Heute wird es nix werden, strahlender Sonnenschein und 0mm Regen
-
@SBorg
allerdings....aber Dank deiner Hilfe
probiere ich gleich aus, aber ich befürchte, ich hab schon wieder das Problem, das 2mal ausgeführt wird,....hab ich zumindest vorhin gesehen.
aber ich schmeiss jetzt erst mal das neu script drauf und hoffe das jetzt Daten kommenoder liegt mein Fehler im Cron anlegen?
Script liegt ja in /home/iobroker....also user iobroker
den Cron hab ich aber als root angelegt, oder muss ich mich dafür als user iobroker anmelden?Script läuft und auch kein Kommunikationsfehler mehr
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
strahlender Sonnenschein und 0mm Regen
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
@Nashra Hmm, er will es als "String" loggen, obwohl er eine Zahl (float) erkannt hat.
Sind die zwei Datenpunkte wirklich als "Zahl" angelegt?
Ja sind als Zahl.
-
@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
probiere ich gleich aus, aber ich befürchte, ich hab schon wieder das Problem, das 2mal ausgeführt wird,....hab ich zumindest vorhin gesehen.
aber ich schmeiss jetzt erst mal das neu script drauf und hoffe das jetzt Daten kommen
oder liegt mein Fehler im Cron anlegen?
Script liegt ja in /home/iobroker....also user iobroker
den Cron hab ich aber als root angelegt, oder muss ich mich dafür als user iobroker anmelden?Ne du, da war/ist schon alles korrekt, ich habe mich auch zum Teil verguckt
Es gibt quasi ein korrektes 2x laufen und ein doppelt laufen. Hä...?!?
Doppelt laufen im Sinne von zwei mal gestartet, dies wäre falsch. Aber das Skript läuft "scheinbar" trotzdem doppelt.
Einmal das "echte" Skript und dann noch quasi ein Zombie. Das ist aber nichts weiter als die wetterstation.sub, die Funktionen für das Skript bereitstellt. Da hier aber auf das Datenpaket der Station gewartet wird, sieht es fast so aus als würde es dauernd laufen. Dies kann man daran erkennen, dass die sog. VSZ gleich ist (weiß):
Im gelben Rahmen sieht man dann, dass ich am 15.03. das Skript gestartet habe und um 13:16 Uhr denps -aux | grep wetter
, der dann zur gleichen Zeit den "Zombie" erwischt hat.
Würde ich ihn aktuell (13:38 Uhr) erneut ausführen, wäre VSZ mit "11940" gleich, Startzeit des Skriptes wäre immer noch 15.03., aber "grep + Zombie" stünden auf 13:38
Trifft man genau die halbe Sekunde die er zum verarbeiten des empfangenen Datenpakets von der Wetterstation braucht, läuft dann tatsächlich nur das Skript. -
@SBorg hehe, genau das meinte ich hier, auf die Frage...wo kommt die ...Uhrzeit her
vielen Dank, für die ausführliche Erklärung, hätt ich mir das Stundenlange (Suche den Fehler) sparen können
Werte für javascript.0.Wetterstation._Kommunikationsfehler
läuft nun auch wie es soll, außer einmal Nachts 00:17, fehlte einmal ein Wert, so wie ich das sehe
-
@Nashra Da er bei dir eh nix in die Influx geloggt hat, kannst du die beiden Serien auch mal droppen. Die werden dann beim nächsten speichern eines Wertes neu angelegt.
Im Terminal:- influx
- show databases
- use blabla
- show series
- select * from "javascript.0.Wetterstation.Regen_Monat"
5.1 drop series from "javascript.0.Wetterstation.Regen_Monat" - exit
zu 1: kann uU etwas dauern bis was passiert
zu 2: deinen Datenbanknamen merken (ich nehme mal blabla)
zu 4: zeigt nun alle Datenreihen an (ich gehe mal von javascript.0.Wetterstation.Regen_Monat aus)
zu 5: Anführungszeichen müssen wg. der Punkte im Namen sein, zeigt nun die Messreihe an
zu 5.1: Dies löscht nun die kpl. Serie ! -
@crunchip sagte in [Linux Shell-Skript] WLAN-Wetterstation:
außer einmal Nachts 00:17, fehlte einmal ein Wert, so wie ich das sehe
IMO nicht, da steht ja influxdb.0
Ein Komm-Fehler würde ebenfalls als simple-api.0 auftauchen, da ich ja den Wert vom Skript aus in den DP schreibe. Um 0:17 hat er dann false in die Influx-Datenbank geschrieben. Du hast bestimmt eine ähnliche Konfig:
Damit schreibe ich zwar nur jede Änderung in die Influx, bekäme aber wenn es >24h ohne Fehler läuft unter Grafana ein "No data" (bei 24h Zeitraum). Könnte man zwar mit "value to text" ev. um mappen, aber wayne (zumindest mich nicht ) stört es 2 Werte pro 24h zu schreiben. Ich logge den sowieso nur 3 Tage. "Was juckt es die Eiche..." wenn ich einen Fehler vor 3 Wochen hatte... -
@SBorg ja hab es ähnlich, alla 30 min, ist meine Standard Einstellung in Influx, deshalb hatte nen Denkfehler , genau falsch rum gedacht, alles gut
-
so, da mein Geburtstag naht, und ich hoffe überrascht zu werden,
... gibt es hier eigentich schon jemand der mal seine View zur Verfügung stellen will ?Würde ich mir gerne schonmal ansehen.
-
@skokarl 2 sind im ersten Beitrag verlinkt
-