NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@Glasfaser sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ist ja richtig was los hier
Die Version V1.0.0 funktioniert sehr gut ... Danke ....
Wohl wahr, ich muss jetzt auch erst mal gefühlte 100 Posts lesen
Danke für die Rückmeldung. -
-
@crunchip Ich erinnere mich. Die Änderungen waren aber notwendig, denn die Verbindung wird sonst zu früh beendet. Siehst du am besten hier:
...EasyWeatherV1.4.7&action=updateraw&realtime=1&rtfreq=5 Connection: Close
Da kommt normalerweise noch was an Daten und "Connection: Close" hat da mal überhaupt nix zu suchen.
Beende mal das Skript (pkill...) und führe mal nurnc -lv -w 1 -p 55555
aus. Er hatte ja bei dir auch Probleme ohne "-p", ev. will er bei dir einfach kein "-lvw 1". Den Test kannst du auch mit der V0.1.4 machen, denn es ist eher ein nc/Docker Test*EDIT* war gerade noch am lesen
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
nc -lv -w 1 -p 55555
da kommt
no connection : Connection timed out
-
@Nashra sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Gibt es eigentlich eine Gui für Influxdb wo man mal sehen könnte wie die DB aufgebaut ist sowie bei mySQL oder ähnlich.
Ich kenne keine wie bspw. MySQL-Admin bei SQL. Mir ist nur per influx im Terminal bekannt.
-
@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 !