SBorg2014 / WLAN-Wetterstation

schafft eine Verbindung von einer WLAN-Wetterstation zum ioBroker
MIT License
97 stars 16 forks source link

Zeile 536: [: : Ganzzahliger Ausdruck erwartet. #6

Closed Hubobel closed 4 years ago

Hubobel commented 4 years ago

Ich bekomme das Script nicht zum laufen.....die Ports scheinen zu passen, IPs auch, 2 bis 3 mal habe ich nach zig Fehlermeldungen auch die korrekten Werte übermittelt bekommen, aber in der Regel habe ich den folgenden Output 👍

root@debHubobel:[/home/carsten/Scripts]:./wetterstation.sh --debug debhubobel [10.0.1.59] 9087 (?) open (standard_in) 1: syntax error (standard_in) 1: syntax error /home/carsten/Scripts/wetterstation.sub: Zeile 536: [: : Ganzzahliger Ausdruck erwartet. listening on [any] 8876 ... no connection : Connection timed out

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:

Debug VAR: Installationsverzeichnis: /home/carsten/Scripts IPP: 10.0.1.59:9087 WS_PORT: 8876 WS_POLL: 35 PRE_DP: javascript.0.Wetterstation Script-Version: V1.3.1 Config-Version: V1.3.0 Sub-Version: V1.3.0

Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?

Vielen Dank für Hilfe!

SBorg2014 commented 4 years ago

Hi, debhubobel [10.0.1.59] 9087 (?) open bedeutet, dass er keine Verbindung zum ioBroker mit der IP 10.0.1.59 und dem SimpleAPI-Adapter unter Port 9087 herstellen kann. Standardmäßig läuft der SimpleAPI auf Port 8087. Deswegen zuerst die Frage: IP des ioB ist korrekt und der Adapter läuft wirklich auf Port 9087? Die Zeile sollte eigentlich in etwa lauten: Connection to x.x.x.x 9087 port [tcp/*] succeeded! Verbindungstest zum ioB per Terminal: nc -v -z 10.0.1.59 9087

Hubobel commented 4 years ago

IP und Port stimmen, nc bringt folgendes:

[10.0.1.59] 9087 (?) open

Bin ein wenig ratlos....

SBorg2014 commented 4 years ago

Ok, ist zumindest mal ein rudimentäres Netzwerkproblem. Könnte aber auch einfach am netcat "nc" liegen. Den gibt es je nach Distri in der "traditional"-Version (der bereitet stellenweise Probleme bei der Kommunikation) und in der "openbsd"-Version (die ist getestet und läuft bei bisher allen Usern problemlos. Installiere mal versuchsweise netcat-openbsd, der läuft dann wieder unter "nc".

Hubobel commented 4 years ago

Genau das war’s..... wäre ich im Leben nicht drauf gekommen. Beste Dank für den super Support.

SBorg2014 commented 4 years ago

Füge ich noch der Wiki hinzu, da noch Andere das Problem aktuell hatten. Ich mach dann mal zu, Problem ist ja gelöst. Bei (hoffentlich nicht) neuem Problem wieder ein Issue öffnen ;-)

EDWIN9000 commented 4 years ago

Hallo Ich habe die Fehlermeldung mit pi@raspberrypi:/home/iobroker $ ./wetterstation.sh --debug Connection to xxx.x.x.7 8087 port [tcp/*] succeeded! Listening on [0.0.0.0] (family 2, port 45000) Messwerteblock: Temperatur Innen : °C Temperatur Aussen : °C Taupunkt : °C ... ... Datenstring für ioBroker: DATA von Wetterstation: Debug VAR: Installationsverzeichnis: /home/iobroker IPP:xxx.x.x.7:8087 WS_PORT: 45000 WS_POLL: 30 PRE_DP: javascript.0.Wetterstation Script-Version: V1.3.0 Config-Version: V1.3.0 Sub-Version: V1.3.0

Kommunikationsfehler! Stimmt die WS_ID in der Konfiguration mit der der WS View-App überein?

Ich habe die anschauliche Anleitung im WIKI mehrmals nachvollzogen: Station-Id, Ports usw. stimmen in wetterstation.conf , iobroker simple-api und WS view überein.

auch ausgeführt: sudo apt-get install netcat-openbsd

pi@raspberrypi:/home/iobroker $ : nc -v -z xxx.x.x.7 8087 Connection to xxx.x.x.7 8087 port [tcp/*] succeeded! (Adresse hier nur teilweise durch x ersetzt, funktioniert aber)

Ich habe die Sainlogic pro 7 in 1 angeschafft. Liegt es an der Station (ecowitt und Wunderground laufen ohne Probleme und "customized" in WS view wie in Anleitung eingerichtet. Irgendein Tipp ? Wäre für jeden Hinweis dankbar.

SBorg2014 commented 4 years ago

Hi, bis auf dass keine Daten kommen sieht es eigentlich gut aus. Dein zweiter Test mittels "nc" sollte unabhängig von den sonstigen Einstellungen den Roh-Datenstring zeigen. Allerdings hast du einen kleinen (Denk-)Fehler begangen. Der nc läuft nicht gegen den ioBroker/Simple-API-Adapter, sondern "lauscht" einfach auf dem Auswerterechner an Port xxxxx auf eingehende (=zB. von dem Display der Wetterstation) Datenpakete. Versuche also mal ein ./wetterstation.sh --data ob da etwas kommt. Firmware ist recht aktuell (ab 1.5.x gehen alle, bei 1.4.x weiß ich nicht mehr die genaue Version ab wo wir angefangen hatten und die funktionieren/getestet sind)?

EDWIN9000 commented 4 years ago

Besten Dank für die schnelle Reaktion und Erklärung. Leider kommt da nichts: pi@raspberrypi:/home/iobroker $ ./wetterstation.sh --data Connection to xxx.x.x.7 8087 port [tcp/*] succeeded! Warte maximal 66 Sekunden auf Datenpaket der Wetterstation... Listening on [0.0.0.0] (family 2, port 45000) pi@raspberrypi:/home/iobroker $

SBorg2014 commented 4 years ago

Da die Sainlogic 7 in 1 getestet ist, liegt es zumindest nicht daran. Da keinerlei Daten kommen obwohl die Verbindung augenscheinlich steht, bleibt leider nur eine Schlussfolgerung, auch wenn ich die nur ungern äußere, gerade weil du es schon zig mal kontrolliert hast: du hast entweder einen Konfigurationsfehler oder dein Display ist defekt und baut keine WLAN-Verbindung auf (dann dürften aber auch ecowitt/wunderground keine Daten erhalten; kann man also ausklammern). Du hast in der WS-View wirklich bei "customized" wunderground ausgewählt, Port 45000 eingestellt und die IP des Auswerterechners (also die auf dem Rechner wo auch das Skript läuft) korrekt eingetragen und die Firmware der Station ist aktuell? --> dann muss bei ./wetterstation.sh --data zumindest mal was kommen. Ansonsten schickt das Display schon mal keine Daten und da kann das Skript dann natürlich auch nichts machen.

EDWIN9000 commented 4 years ago

Danke für Deine Hinweise ja, ich habe Ports 45000, ID (IWERNB13) , IP des Iobroker-Raspi xxx.x.x.7 usw. in wetterstion.conf und WS view und zigmal überprüft. Port in simple-api 8087 stimmt auch mit xxxx.x.x.7:8087 in wetterstation.conf überein. WS-View bei "customized" wunderground, enable, ausgewählt, Port 45000, IP xxx.x.x.7 des Raspis stimmt überein, Station-ID IWERNB13. Auch keine Verwechslung mit klein-L ider gross-I. Update der Firmware der Wetterstation auch gemacht: In Ws view steht EasyWetherV1.5.2 . Irgend etwas stimmt mit dem Wlan nicht. Die Station kann ja zu Wunderground senden und ich sehe die richtigen Daten in WS view und Wunderground-App. Auf https://at.elv.com/forum/verbindung-mit-router-6438 hatte ich für eine ähnliche Wetterstation gelesen: Wifi auf Wetterstation mit mode-A statt mode-B installieren. Die Tastenkombination funktioniert aber nicht bei mir und ich konnte nur (wie in Installationsanleitung der Sainlogic angegeben) mit mode-B installieren. Die Wetterstation kann also per Wifi senden, aber eventuell kann ich vom Wifi-Netz trotzdem nicht zugreifen ? In der Fritzbox meines Wifi-Netzes sehe ich die IP der Wetterstation xxx.x.x.70 . Hat nichts mit iobroker Raspi xxx.x.x.7 zu tun, also keine Verwechslung der Zahlen 7 oder 70). Gibt es eine Möglichkeit vom Windows10-PC die Wetterstation anzusprechen ? Wenn ich in Chrome die IP der Wetterstation angebe (xxx.x.x.70 (fix in Fritzbox eingestellt) oder xxx.x.x.70:45000) , kommt nur: Verbindung abgelehnt. Grübel ...

SBorg2014 commented 4 years ago

Ok, dann vergiss mal die ganze Konfiguration. Wichtig ist zuerst nur der Port (45000) und die IP des Auswerterechners (bei dir x.x.x.7 worauf auch der ioB läuft [ist auch OK, kann beides auf dem selben Rechner sein]). Solange dann mittels "--data" nix kommt, schickt auch die Station nix. Leider läuft auf dem Display kein Webserver oder ähnliches, dh. egal mit was du dort anfragen willst, die Verbindung wird abgelehnt (auch unter Windows). Mit den Einstellungen von Port + IP funkt das Display per WLAN das Datenpaket genau an die eingegebene IP und den Port. Genau auf dieses Paket lauscht er dann mittels "--data". Da hier schon bei dir nix ankommt, schickt auch das Display nix. Nachdem ich jetzt bei ELV gelesen habe bin ich nur verwirrter als vorher. Gelegentlich widersprechen sie sich, der eine meint "A", der andere nur "B" funktioniert... Wenn du sie aber unter "70" im WiFi auf der FB siehst, müsste sie eigentlich korrekt im Netzwerk sein. Reagiert sie auf einen ping x.x.x.70 ? Die Notlösung wäre noch sich im ioB-Forum anzumelden und mal bei den Nutzern der Sainlogic nachzufragen wie sie sie installiert bekommen haben. Mir ist da ad hoc nichts mehr in Erinnerung, dass das besonders schwer war (Probleme bei der Konfiguration im Skript mal ausgenommen, wäre aber schön wenn wir so weit schon wären... ;-) )

EDWIN9000 commented 4 years ago

Danke für Dein Engagement und die Erklärungen. ping x.x.x.70 funtioniert tadellos vom Raspi und im Netz von Windows aus. Den Sainlogic-Adapter unter iobroker habe ich auch schon vergeblich versucht. Da wird zwar bei Objekten unter sainlogic info der Zeitstempel für die Software EasyWetherV1.5.2 dauernd geupdated (also irgend ein Teil funktioniert bei der Verbindung ?), aber die Wetterdaten werden nicht aktualisiert (nur einmalige alte Werte von der Erstinstallation sind noch drin). Sehr ominös.

EDWIN9000 commented 4 years ago

Jetzt habe ich zum tausendstel mal alles neu eingestellt und Fritzbox-Wlan nochmal runter/hochgefahren und Port mal wieder auf 1080 eingestellt und plötzlich: pi@raspberrypi:/home/iobroker $ ./wetterstation.sh --data Connection to x.x.x.7 8087 port [tcp/*] succeeded! Warte maximal 66 Sekunden auf Datenpaket der Wetterstation... Listening on [0.0.0.0] (family 2, port 1080) Connection from ESP-986EB9.fritz.box 5448 received! GET /weatherstation/updateweatherstation.php?ID=IWERNB13&PASSWORD=(BLABLABLA)&indoortempf=63.0&tempf=61.2&dewptf=58.8&windchillf=61.2&indoorhumidity=75&humidity=92&windspeedmph=0.0&windgustmph=0.0&winddir=43&absbaromin=28.196&baromin=29.794&rainin=0.000&dailyrainin=0.008&weeklyrainin=0.150&monthlyrainin=0.669&solarradiation=0.00&UV=0&dateutc=2020-08-18%2019:49:45&softwaretype=EasyWeatherV1.5.2&action=updateraw&realtime=1&rtfreq=5 HTTP/1.0 pi@raspberrypi:/home/iobroker $ Danke Deiner hartnäckigen Nachfrage jetzt kann ich weiterschauen.

SBorg2014 commented 4 years ago

Supi, wollte gerade eben schreiben... :-) Waren bei ELV auch nicht Einige dabei die es erst zig mal versuchen mussten...? btw: der String sieht gut aus.

EDWIN9000 commented 4 years ago

Ja , wirklich besten Dank nochmal. Hättest Du mich nicht supportet, ich war dabei jetzt aufzugeben.