NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
Wird sich zukünftig auch überprüfen lassen:
-
Hallo,
vielleicht stand es hier schon irgendwo.
aber die Innentemperatur wird bei mit mit 2 nachkommastellen angezeigt, kann ich das umstellen? -
@eviltrooper Hi, nö, aber je nach dem was du mit dem Datenpunkt anstellst bzw. anstellen willst, kannst du es ja in NodeRED, Blockly, JS, VIS, Grafana etc. abstellen.
-
@SBorg
ja ist mir auch gerade eingefallen.. ich dummbeutel.. im VIS kann ich das ja auch einstellen..
Sorry für die dumme Frage -
@eviltrooper sagte in [Linux Shell-Skript] WLAN-Wetterstation:
ich dummbeutel.. im VIS kann ich das ja auch einstellen..
Sorry für die dumme FrageVeto, es gibt hier keine Dummbeutel oder dumme Fragen. Ich vergesse auch mal was oder sehe den Wald vor lauter Bäumen nicht immer
Die Materie ist ja auch ziemlich komplex und vielen fremd -
Hallo,
kann mir jemand sagen was die Fehlermeldung "nc: getnameinfo: Temporary failure in name resolution" bedeutet?
Mit "nc -lv -p 1080" bekomme ich die selbe Ausgabe.
Dankeschön!
Edit: Habs gelöst.
In der Datei /etc/resolv.conf
Nameserver auf 8.8.8.8Edit2: Mhm.. Dat hat zwar temporär funktioniert aber nach einem Neustart ist diese Änderung wieder überschrieben und das Script funktioniert wieder nicht.
Hat dann doch jemand eine Idee? -
@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:
aber nach einem Neustart ist diese Änderung wieder überschrieben
Das ist auch normal, denn /etc/resolv.conf ist ein SymLink. Mach mal ein
ls -al /etc/resolv.conf
dann siehst du es. Notiere dir mal das Ziel (zB. /etc/run/resolve/stub-resolv.conf), dann löscht du den Symlink und legst eine "echte" Datei an mittelsrm -iv /etc/resolv.conf && touch /etc/resolv.conf
Jetzt kannst du sie normal editieren + einfach nameserver 8.8.8.8 eintragen. Das überlebt dann auch einen Systemneustart.Funktioniert nun etwas anderes nicht, kannst du den SymLink wieder herstellen. Die Originaldatei blieb erhalten
-
Vielen Dank für die Hilfe. Habe die Datei gelöscht und eine neue erstellt.
Die Datei /etc/resolv.conf sieht nun so aus:# Generated by NetworkManager search fritz.box nameserver 8.8.8.8
Damit funktioniert auch alles.
Nach einem Neustart des Systems steht in der Datei allerdings folgendes:# Generated by NetworkManager search fritz.box nameserver 127.0.0.53
Damit geht nichts.
Habe auch schon meinen "richtigen" DNS server dort eingetragen, auch dieser wird mit jedem Neustart überschrieben.
-
@sonystar Was aber komisch ist, denn 127.0.0.53 ist eigentlich korrekt.
# Generated by NetworkManager
Der läuft bei dir. Den brauchst du aber nicht wenn du unter /etc/resolv.conf den Server händisch angibst:
sudo systemctl stop systemd-resolved
zum Anhalten- dann
sudo systemctl disable systemd-resolved
zum Abschalten beim booten - jetzt kannst du die resolv.conf (s.o.) nochmals anlegen (falls es noch immer ein SymLink sein sollte)
-
Also das scheint erstmal nicht funktioniert zu haben, aktuell ist der Rechner für mich nicht mehr erreichbar. Muss dazu sagen dass die Technik im Garten steht und so für mich nicht greifbar ist. Kann den Rechner zwar noch anpingen und iobroker erreiche ich auch, Teamviewer und das Script laufen allerdings nicht. Werd mich morgen mal ins Auto setzen und vorort schauen was los ist. Hatte die Fritzbox eingetragen als DNS, morgen probier ich mal den Google-dns und werd ssh einrichten.
-
Also mit deaktiviertem NetworkManager funktioniert es nicht, dann hat der Rechner kein Internet mehr. Auf die ioBroker-Oberfläche komme ich wegen bestehender VPN noch drauf aber sonstige Dienste gehen nicht. Das komische war dass in der resolv.conf trotzdem wieder die 127.0.0.53 drin stand. Das hatte ich nach deaktivierung des NetworkManager geändert auf die IP der Fritzbox.
Es bleibt dabei, mit aktiviertem NetworkManager und Reboot des Rechners läuft der Script nicht mit der Fehlermeldung:
wetter@Desktop-Wetter:~/WLAN-Wetterstation-1.4.0$ ./wetterstation.sh --debug Connection to xxx.xxx.xxx.xxx xxxx port [tcp/*] succeeded! nc: getnameinfo: Temporary failure in name resolution
Erst wenn ich in der Datei resolv.conf die IP ändere auf Google oder Fritzbox läuft das Script.
Hast du noch eine Idee?
-
@sonystar Welche Distri nutzt du denn?
Grundsätzlich ist erst mal die 127.0.0.53 richtig. Hier schaut der Rechner dann auf den Nameserver und löst dann den Namen in die IP auf.
Aktuell wird zur Konfiguration des Netzwerkes eigentlich "netplan" benutzt. Dann sollte eine *.yaml unter /etc/netplan liegen:# This file describes the network interfaces available on your system # For more information, see netplan(5). network: version: 2 renderer: networkd ethernets: ens18: dhcp4: no dhcp6: yes addresses: [192.168.112.3/24] gateway4: 192.168.112.1 nameservers: addresses: [192.168.112.1]
Wie bei yaml üblich sind auch hier die Einrückungen wichtig,
Versuche zuerst aber mal ein
nc -nlvw 1 -p 1080
mit den "falschen" Netzwerkeinstellungen. Funktioniert das? -
@SBorg Ich nutze Ubuntu 20.04.
nc -nlvw 1 -p 1080 scheint zu funktionieren
Die Datei /etc/netplan/*.yaml sieht bei mir so aus
-
@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:
renderer: NetworkManager
da bin ich leider raus. Würdest du direkt am Rechner sitzen ev. ja, so aber bei einem Fehler ab ins Auto... Ne, ohne mich
Wenn es aber mittels "n" beim netcat funktioniert, nehmen wir doch das einfach.
Im Installationsverzeichnis vom Skriptnano wetterstation.sub
CTRL+W drücken, get_data eingeben und [ENTER]
2 Zeilen unter dem Cursor siehst du dann "... nc -lvw 1 -p ..." dort fügst du ein "n" ein: "... nc -nlvw 1 -p ..."~12 Zeilen tiefer beginnt dann "ws_data", dort das selbe. Speichern und es sollte funktionieren.
Nehme ich dann für die V1.6.0 auf, da wir sowieso nur mit IP arbeiten und nicht zwangsläufig die Namensauflösung brauchen. -
@SBorg Mein Held des Tages! Vielen Dank, es läuft nun nach einem Restart sauber los!
-
@SBorg sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Wenn es aber mittels "n" beim netcat funktioniert, nehmen wir doch das einfach.
Im Installationsverzeichnis vom Skriptnano wetterstation.sub
CTRL+W drücken, get_data eingeben und [ENTER]
2 Zeilen unter dem Cursor siehst du dann "... nc -lvw 1 -p ..." dort fügst du ein "n" ein: "... nc -nlvw 1 -p ..."~12 Zeilen tiefer beginnt dann "ws_data", dort das selbe. Speichern und es sollte funktionieren.
Ich wollte mich nur auch mal melden, weil ich in einer virtuellen Maschine mit Ubuntu 20.04.1 unter Proxmox ebenso ein Problem mit
nc: getnameinfo: Temporary failure in name resolution
hatte.Das händische Eingreifen mit
nc -nlvw 1 -p 1080
in der .sub (v1.4) an beiden Stellen hat mir weitergeholfen. Danke dafür -
Hallo Freunde der Nacht.
Ich habe Heute das Script installiert, erstmal Danke für die Arbeit
Ich habe eine Sainlogy WS3500.Soweit klappt alles. Aber ein:
./wetterstation.sh --debug
zeigt bei mir seltsames an? Der Datenblock ist doch da, oder irre ich mich?
pi@ioBrokerMaster:/home/iobroker $ ./wetterstation.sh --debug Connection to 192.168.1.236 8087 port [tcp/*] succeeded! Connection from 192.168.1.69 6977 received! Listening on [0.0.0.0] (family 2, port 1080) Connection from 192.168.1.69 49214 received! Messwerteblock: Temperatur Innen : °C Temperatur Aussen : °C Taupunkt : °C Chill-Faktor : °C Luftfeuchte Innen : % Luftfeuchte Aussen : % Windgeschwindkeit : km/h max. Windgeschwindkeit : km/h Windrichtung : ° Windrichtung : Luftdruck absolut : hPa Luftdruck relativ : hPa Regenrate : mm/h Regenstatus : Regen Tag : mm Regen Woche : mm Regen Monat : mm Regen Jahr : mm Sonnenstrahlung : W/m² UV-Index : Zeitstempel : Firmware : Datenstring für ioBroker: DATA von Wetterstation: GET /weatherstation/updateweatherstation.phpID=Home&PASSWORD=xxxxxx&indoortempf=69.6&tempf=38.7&dewptf=37.2&windchillf=38.7&indoorhumidity=54&humidity=95&windspeedmph=1.6&windgustmph=2.2&winddir=333&absbaromin=29.430&baromin=29.430&rainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.484&yearlyrainin=0&solarradiation=0.00&UV=0&dateutc=2020-12-06%2015:28:14&softwaretype=EasyWeatherV1.5.2&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0 Debug VAR: Installationsverzeichnis: /home/iobroker IPP: 192.168.1.236:8087 WS_PORT: 1080 WS_POLL: 30 PRE_DP: javascript.0.Wetterstation Script-Version: V1.4.0 Config-Version: V1.4.0 Sub-Version: V1.4.0 Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?
Herzlichen Dank
EDIT: Au man, grad als ich es hier eingestellt habe, hab ich den Fehler gesehen, es muss ein "?" in den Pfad der Wetterstation in der APP unter Coustom Server eingetragen werden.
Also ein:/weatherstation/updatewetherstation.php?
-
@SBorg Habe mir die letzten 2 Tage nun alle 1700 Beiträge durchgelesen. Großen Lob und vielen vielen Dank! Genau sowas habe ich schon lange gesucht und nun gefunden. Script super - wiki super - Support super! Dafür gibts von mir auch eine Spende. War super umzusetzten mit mäßigen Linux-Kenntnissen.
Nutze übrigens die ELV WS980WiFi, die kannst du im ersten Post noch ergänzen. Ich bin gespannt wie der Langzeittest läuft. Eine Frage noch: wie macht ihr eine Datensicherung der Datenpunkte? Falls der Rechner mal krachen geht.
-
@sonystar Mit dem Adapter BackItUp
Der sichert seit kurzer Zeit auch meine Influx Datenbank. Derzeit ist das Backup ca. 100 MB groß, bei 28 Instanzen und 24k Datenpunkten.
-
Hallo und Guten Morgen.
Ich habe soweit die Anleitung befolgt. (Ich hoffe ich habe keine Fehler gemacht.
Leider bekomme ich keine Verbindung hin.Betriebssystem Ubuntu 20.04
root@ubuntu-20:/home/iobroker# ./wetterstation.sh --debug
nc: connect to 192.168.10.113 port 8087 (tcp) failed: No route to hostKönnte mir hier jemand weiter helfen, bzw. mir einen Ansatz zur Fehlersuche geben?
Merci