NEWS
[Linux Shell-Skript] WLAN-Wetterstation
-
@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 -
@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Habe mir die letzten 2 Tage nun alle 1700 Beiträge durchgelesen.
Wow, da steht ja so einiges...
@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Script super - wiki super - Support super! Dafür gibts von mir auch eine Spende. War super umzusetzten mit mäßigen Linux-Kenntnissen.
Freut mich natürlich, genauso ein Feedback zu bekommen. Das Skript nutze ich natürlich selbst, aber die WiKi ist rein für euch. Da ist es schön zu lesen, dass ich es so verfassen konnte, dass nicht nur der Halb-/Voll-Profi damit zu Rande kommt.
...und über die Unterstützung sowieso, danke dafür@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Nutze übrigens die ELV WS980WiFi, die kannst du im ersten Post noch ergänzen.
...und auch das mache ich gerne
@sonystar sagte in [Linux Shell-Skript] WLAN-Wetterstation:
Ich bin gespannt wie der Langzeittest läuft. Eine Frage noch: wie macht ihr eine Datensicherung der Datenpunkte?
Läuft seit einem dreiviertel Jahr problemlos rund um die Uhr, außer ich mach mal einen Fehler beim entwickeln
...und ebenso wie @Lucifor1976 mittels BackItUp (früher per CronJob und Kommandozeilen-Parameter) -
@Tomate sagte in [Linux Shell-Skript] WLAN-Wetterstation:
nc: connect to 192.168.10.113 port 8087 (tcp) failed: No route to host
Hi, unter der Prämisse dass dein ioBroker unter der IP 192.168.10.113 läuft und der Simple-RESTful auf Port 8087 erreicht er diesen nicht:
- stimmt die IP des ioBroker-Rechners
- läuft der Simple-RESTful wirklich ("grün")
- läuft der Simple-RESTful auch unter Port 8087
- falls alles ja, was gibt dann ein
sudo nmap -sS -p- 192.168.10.113 | grep "8087/tcp"
aus? (sollte dann "8087/tcp open simplifymedia" lauten)
-
Eine Frage zur Statistik.
Da steht man braucht den "InfluxDB"
ich nutze jetzt für FLOT mit dem History Adapter..
Ich denke ich muss das dann umstellen? oder geht die Statistik auch mit History?
-
@eviltrooper sagte in [Linux Shell-Skript] WLAN-Wetterstation:
oder geht die Statistik auch mit History?
Kurzes und schmerzloses Nein, geht nur mit InfluxDB
Du kannst aber auch beides parallel nutzen. Die drei Werte in einer InfluxDB zu loggen sind nur paar MB (ohne InfluxDB an sich).