Neues Modul für die WS980WiFi Wetterstation

Begonnen von choenig, 15 Februar 2019, 19:16:29

Vorheriges Thema - Nächstes Thema

choenig

Hi,

wie angekündigt habe ich eine neue Version (v0.9.0) an den ersten Post gehängt.

Hier hab' ich insbesondere die Stabilität verbessert.
Zusätzlich hab' ich die Berechnung des relativen Luftdrucks eingebaut. Hierfür müsst ihr eure Höhe über NN setzen (Attribut altitude). Ansonsten wird pressureRel_calculated mit Höhe '0m' berechnet.

LG
Christian

curt

Zitat von: curt am 20 Februar 2019, 19:39:32
ELV meint, dass meine Station auf dem Wege sei

Also schnell sind sie ja, das riesige Paket ist schon da. Die haben aber schon einen leichten Knall: In dem riesigen Paket sind zwei Pakete und irre viel Stopfpapier. Im größeren inneren Paket ist die Station, im kleineren (und das ist auch noch groß) befindet sich nebst weiterem Stopfpapier ein vierfach gefalteter Prospekt. Also da werde ja selbst ich zum Grünen, das muss nicht sein. - Im Gegenzug ist die Anleitung ... schweigen wir darüber. Online ist die übrigens besser erkennbar:

https://files.elv.com/Assets/Produkte/25/2504/250408/Downloads/250408_ws980wifi_v3_um.pdf

Zitat von: Waldmensch am 20 Februar 2019, 20:49:38
Die Innenstation verbindet sich mit dem WLAN

Ich habe zwar noch nicht ausgepackt - aber kann mir jemand bitte schon mal ganz kurz die Schrittfolge erklären? Ziel ist, dass die Station sich in mein vorhandenes Wlan einbucht. Das wäre hilfreich und freundlich.
RPI 4 - Jeelink HomeMatic Z-Wave

Waldmensch

@choenig:

v0.9.0 rennt problemlos. Relativer Luftdruck wird berechnet und weicht minimal um 0,3 von dem relativen der Station (per offset) ab. Ich weiß nicht, welcher nun richtig ist, aber ich traue Deiner Berechnung mehr, als dem offset, den ich mit 15°C fix berechnet habe.
pressureAbs 1024.2
pressureRel 1031.9
pressureRel_calculated 1032.2


Ich versuche mich übrigens gerade an einem "standalone Relay" Station->MQTT mit einem ESP8266 (ESP01). Deine Protokollanalysen sind dabei eine große Hilfe- Ziel ist es, zum Beispiel den brightness Wert über den MQTT Broker direkt an andere IoT Devices zu publishen, ohne FHEM. Ich habe da ein paar Hoflicht Bewgungsmelder, die ich derzeit über FHEM scharfschalte. Das ist aber gar nicht nötig, wenn sie selbst auf die brightness der Station subscriben können ;)


@curt

Bei mir kam das Paket mit dem Flyer sogar 2 Tage später per extra GLS Lieferung. Die Station kam gleich einen Tag nach der Bestellung. Vermutlich weil ich eine ELV Card habe.

WLAN Setup:
- "Pfeil oben"-Taste und die "SET"-Taste gleichzeitig für ca. 5 sec drücken, um in den Wifi-Mode A zu gelangen
- WS-Tool oder WS-View auf dem Handy installieren (kostenlos im AppStore/Playstore)
- Handy muss vorerst im heimischen Netzwerk sein
- SSID und Kennwort des Heimnetzes in der App eingegeben
- Anweisungen der App folgen. (Auf das WLAN der Station verbinden usw.)

Sollte es nicht funktionieren, das 5GHZ WLAN auf dem Router vorübergehend deaktivieren. Wenn die Station verbunden ist, kann es wieder aktiviert werden.

choenig

Zitat von: Waldmensch am 22 Februar 2019, 07:58:51
@choenig:

v0.9.0 rennt problemlos. Relativer Luftdruck wird berechnet und weicht minimal um 0,3 von dem relativen der Station (per offset) ab. Ich weiß nicht, welcher nun richtig ist, aber ich traue Deiner Berechnung mehr, als dem offset, den ich mit 15°C fix berechnet habe.
pressureAbs 1024.2
pressureRel 1031.9
pressureRel_calculated 1032.2


Ich habe die Berechnung aus https://www.symcon.de/forum/threads/6480-Relativen-Luftdruck-aus-absoluten-Luftdruck-errechnen, und die basiert auf der Berechnung, die bei Wikipedia angegeben ist :). Da wir die humidity haben, benutze ich die QFF-Formel.

Zitat von: Waldmensch am 22 Februar 2019, 07:58:51
Ich versuche mich übrigens gerade an einem "standalone Relay" Station->MQTT mit einem ESP8266 (ESP01). Deine Protokollanalysen sind dabei eine große Hilfe- Ziel ist es, zum Beispiel den brightness Wert über den MQTT Broker direkt an andere IoT Devices zu publishen, ohne FHEM. Ich habe da ein paar Hoflicht Bewgungsmelder, die ich derzeit über FHEM scharfschalte. Das ist aber gar nicht nötig, wenn sie selbst auf die brightness der Station subscriben können ;)

Das finde ich sehr interessant!

Nachdem herausgefunden hatte, dass man direkt mit der Station sprechen kann, habe ich überlegt, was ich jetzt tun soll, bzw. in welcher Sprache ich jetzt ein Model/Interface schreiben soll. Ich setze zuhause auch NodeRed und MQTT ein. Ich hab' mich dann letztendlich für ein FHEM-Modul entschieden, weil man da alle Daten schön einsehen kann und ich sie auch so zu MQTT publishen kann.

Wenn du Ergebnisse mit dem standalone-Relay hast, berichte bitte darüber (aber besser, in einem eigenen Thread).

LG
Christian

Waldmensch

Irgendwie hat das Plugin Probleme mit der Verbindung. Das kann allerdings auch durch meine Spielchen mit dem ESP verursacht sein. Von dort sende ich auch ab und zu den current befehl zur Station und horche die Pakete mit. Das wird eventuell bei niemand anderem auftreten, aber vielleicht kannst du es mit netcat o.ä. nachstellen. Ansonsten kann ich Dir auch den Codeschnipsel für den ESP schicken, das Du zum debuggen in die Verbindung mal "von der Seite mal reingrätschen" kannst.

verbose = 5

Das Plugin zeigt irgendwann nur noch das
2019.02.22 14:29:20 3 : WS980 (Wetterstation) - activeRquests: current
2019.02.22 14:29:20 3 : WS980 (Wetterstation) - Sending new request for 'current'...
2019.02.22 14:29:20 4 : WS980 (Wetterstation) - WriteFn called
2019.02.22 14:29:20 4 : WS980 (Wetterstation) - sending ffff0b0006040419


ein reload des Plugin ist wirkungslos. Erst ein shutdown restart löst das Problem:

2019.02.22 14:35:00 4 : WS980 (Wetterstation) - Creating socket connection to 192.168.178.139
2019.02.22 14:35:00 4 : WS980 (Wetterstation) - Socket Connected
2019.02.22 14:35:00 3 : WS980 (Wetterstation) - activeRquests: current
2019.02.22 14:35:00 3 : WS980 (Wetterstation) - Sending new request for 'current'...
2019.02.22 14:35:00 4 : WS980 (Wetterstation) - WriteFn called
2019.02.22 14:35:00 4 : WS980 (Wetterstation) - sending ffff0b0006040419
2019.02.22 14:35:00 4 : WS980 (Wetterstation) - ReadFn started
2019.02.22 14:35:00 5 : WS980 (Wetterstation) - received reply: [ff ff 0b 00 50 04 01 00 e1 02 00 20 03 ff fd 04 00 20 05 00 20 06 2a 07 4e 08 28 50 09 28 9d 0a 00 30 0b 00 0c 0c 00 14 0e 00 00 00 00 10 00 00 00 03 11 00 00 00 08 12 00 00 00 08 13 00 00 00 08 14 00 00 00 08 15 00 01 84 16 16 00 4e 17 00 4a ef]
2019.02.22 14:35:00 5 : WS980 (Wetterstation) - decoding block: [01 00 e1 02 00 20 03 ff fd 04 00 20 05 00 20 06 2a 07 4e 08 28 50 09 28 9d 0a 00 30 0b 00 0c 0c 00 14 0e 00 00 00 00 10 00 00 00 03 11 00 00 00 08 12 00 00 00 08 13 00 00 00 08 14 00 00 00 08 15 00 01 84 16 16 00 4e 17 00]
2019-02-22 14:35:00 WS980 Wetterstation temperatureInside: 22.5
2019-02-22 14:35:00 WS980 Wetterstation temperature: 3.2
2019-02-22 14:35:00 WS980 Wetterstation dewPoint: -0.3
2019-02-22 14:35:00 WS980 Wetterstation windChill: 3.2
2019-02-22 14:35:00 WS980 Wetterstation heatIndex: 3.2
2019-02-22 14:35:00 WS980 Wetterstation humidityInside: 42.0
2019-02-22 14:35:00 WS980 Wetterstation humidity: 78.0
2019-02-22 14:35:00 WS980 Wetterstation pressureAbs: 1032.0
2019-02-22 14:35:00 WS980 Wetterstation pressureRel: 1039.7
2019-02-22 14:35:00 WS980 Wetterstation windDirection: 48
2019-02-22 14:35:00 WS980 Wetterstation wind: 1.2
2019-02-22 14:35:00 WS980 Wetterstation windGusts: 2.0
2019-02-22 14:35:00 WS980 Wetterstation brightness: 9935
2019-02-22 14:35:00 WS980 Wetterstation uv: 78.0
2019-02-22 14:35:00 WS980 Wetterstation pressureRel_calculated: 1040.2
2019.02.22 14:35:00 3 : WS980 (Wetterstation) - activeRquests:


list:
Internals:
   CHANGED   
   DEF        192.168.178.139
   FD         23
   INTERVAL   60
   IP         192.168.178.139
   NAME       Wetterstation
   NR         327
   STATE      connected
   TYPE       WS980
   VERSION    0.9.0
   Helper:
     DBLOG:
       brightness:
         logdb:
           TIME       1550842920.14913
           VALUE      15825
       dewPoint:
         logdb:
           TIME       1550842860.12359
           VALUE      -0.4
       heatIndex:
         logdb:
           TIME       1550842560.22424
           VALUE      3.1
       humidity:
         logdb:
           TIME       1550842860.13
           VALUE      78.0
       humidityInside:
         logdb:
           TIME       1550842500.13377
           VALUE      42.0
       pressureAbs:
         logdb:
           TIME       1550842920.13268
           VALUE      1032.1
       pressureRel:
         logdb:
           TIME       1550842920.13637
           VALUE      1039.8
       pressureRel_calculated:
         logdb:
           TIME       1550842920.15576
           VALUE      1040.3
       temperature:
         logdb:
           TIME       1550842560.21397
           VALUE      3.1
       temperatureInside:
         logdb:
           TIME       1550842860.11953
           VALUE      22.5
       uv:
         logdb:
           TIME       1550842920.1523
           VALUE      205.0
       uvIndex:
         logdb:
           TIME       1550842800.15513
           VALUE      1
       wind:
         logdb:
           TIME       1550842920.1415
           VALUE      0.6
       windChill:
         logdb:
           TIME       1550842860.12653
           VALUE      3.1
       windDirection:
         logdb:
           TIME       1550842920.13902
           VALUE      75
       windGusts:
         logdb:
           TIME       1550842920.14397
           VALUE      1.0
   READINGS:
     2019-02-22 14:42:00   brightness      15825
     2019-02-20 21:45:30   brightness_historyMax 71889
     2019-02-20 13:32:00   brightness_todayMax 44950
     2019-02-22 14:42:00   dewPoint        -0.4
     2019-02-20 21:45:29   dewPoint_historyMax 16.2
     2019-02-20 21:45:30   dewPoint_historyMin 0.3
     2019-02-20 12:14:00   dewPoint_todayMax 3.2
     2019-02-20 04:11:00   dewPoint_todayMin 0.3
     2019-02-20 21:45:30   firmware        EasyWeatherV1.3.1
     2019-02-22 14:42:00   heatIndex       3.1
     2019-02-20 21:45:29   heatIndex_historyMax 26.2
     2019-02-20 15:23:00   heatIndex_todayMax 11.3
     2019-02-22 14:42:00   humidity        78.0
     2019-02-22 14:42:00   humidityInside  42.0
     2019-02-20 21:45:29   humidityInside_historyMax 71.0
     2019-02-20 21:45:30   humidityInside_historyMin 39.0
     2019-02-20 06:54:00   humidityInside_todayMax 45.0
     2019-02-20 16:05:00   humidityInside_todayMin 39.0
     2019-02-20 21:45:29   humidity_historyMax 82.0
     2019-02-20 21:45:30   humidity_historyMin 35.0
     2019-02-20 01:35:00   humidity_todayMax 80.0
     2019-02-20 15:17:00   humidity_todayMin 52.0
     2019-02-20 21:14:20   lastError       WS980_createRequest failed to create request
     2019-02-22 14:42:00   lastUpdate      2019-02-22 14:42:00
     2019-02-22 14:42:00   pressureAbs     1032.1
     2019-02-20 21:45:29   pressureAbs_historyMax 1018.1
     2019-02-20 21:45:30   pressureAbs_historyMin 1008.6
     2019-02-20 21:04:00   pressureAbs_todayMax 1017.2
     2019-02-20 00:02:00   pressureAbs_todayMin 1011.5
     2019-02-22 14:42:00   pressureRel     1039.8
     2019-02-22 14:42:00   pressureRel_calculated 1040.3
     2019-02-20 21:45:29   pressureRel_historyMax 1024.9
     2019-02-20 21:45:30   pressureRel_historyMin 1008.6
     2019-02-20 21:04:00   pressureRel_todayMax 1024.9
     2019-02-20 00:02:00   pressureRel_todayMin 1019.2
     2019-02-22 14:42:00   rainPerDay      0.3
     2019-02-20 21:45:30   rainPerDay_historyMax 0.5
     2019-02-22 14:42:00   rainPerMonth    0.8
     2019-02-20 21:45:30   rainPerMonth_historyMax 0.5
     2019-02-22 14:42:00   rainPerWeek     0.8
     2019-02-20 21:45:30   rainPerWeek_historyMax 0.5
     2019-02-22 14:42:00   rainPerYear     0.8
     2019-02-20 21:45:30   rainPerYear_historyMax 0.5
     2019-02-22 14:42:00   rainRate        0.0
     2019-02-20 21:45:29   rainRate_historyMax 3.0
     2019-02-20 00:00:00   rainRate_todayMax 0.0
     2019-02-22 14:42:00   rainTotal       0.8
     2019-02-22 14:35:00   state           connected
     2019-02-22 14:42:00   temperature     3.1
     2019-02-22 14:42:00   temperatureInside 22.5
     2019-02-20 21:45:29   temperatureInside_historyMax 26.6
     2019-02-20 21:45:30   temperatureInside_historyMin 14.0
     2019-02-20 16:04:00   temperatureInside_todayMax 24.6
     2019-02-20 04:14:00   temperatureInside_todayMin 21.8
     2019-02-20 21:45:29   temperature_historyMax 26.2
     2019-02-20 21:45:30   temperature_historyMin 4.7
     2019-02-20 15:23:00   temperature_todayMax 11.3
     2019-02-20 05:14:00   temperature_todayMin 4.7
     2019-02-22 14:42:00   uv              205.0
     2019-02-22 14:42:00   uvIndex         1
     2019-02-20 21:45:30   uvIndex_historyMax 5
     2019-02-20 13:30:00   uvIndex_todayMax 3
     2019-02-20 21:45:30   uv_historyMax   n/a
     2019-02-20 13:30:00   uv_todayMax     2.0
     2019-02-22 14:42:00   wind            0.6
     2019-02-22 14:42:00   windChill       3.1
     2019-02-20 21:45:30   windChill_historyMin 2.5
     2019-02-20 05:40:00   windChill_todayMin 2.5
     2019-02-22 14:42:00   windDirection   75
     2019-02-22 14:42:00   windGusts       1.0
     2019-02-20 21:45:29   windGusts_historyMax 9.7
     2019-02-20 10:40:00   windGusts_todayMax 6.1
     2019-02-20 21:45:29   wind_historyMax 7.7
     2019-02-20 13:35:00   wind_todayMax   5.1
Attributes:
   altitude   64
   event-on-change-reading brightness,dewPoint,heatIndex,humidity,humidityInside,pressureAbs,pressureRel,pressureRel_calculated,rainPerDay,rainPerMonth,rainPerWeek,rainPerYear,rainRate,rainTotal,temperature,temperatureInside,uv,uvIndex,wind,windChill,windDirection,windGusts
   requests   current
   room       Wetter
   verbose    5

choenig

Hi Waldmensch,

das gleiche Problem habe ich auch gerade, und: Ich habe auch seit heute morgen zwei Clients laufen - mein Test-FHEM und mein produktives FHEM.

Ich komme vermutlich erst morgen dazu, das weiter zu debuggen. Vielleicht kannst Du ja auf die 0.8.0 zurück und testen, ob die das selbe Verhalten zeigt.

LG
Christian

Waldmensch

ZitatVielleicht kannst Du ja auf die 0.8.0
Die habe ich leider nicht mehr, habe immer überschrieben  :(

choenig

Im Anhang an diesen Post hab ich die 0.10.0 angehängt.

Hier hab' ich es erstmal wieder deaktiviert, dass die Verbindung bestehen bleibt. Zusätzlich hab ich noch weiteres errorhandling eingebaut.

Wenn Du magst, kannst du sie mal ausprobieren, bei mir gehts jetzt wieder besser, ich hab das WS980-Modul aber auch wieder aus meinem produktiven Setup entfernt, was bedeutet, dass jetzt nur noch ein client auf die WS980Wifi zugreift.

LG
Christian

Waldmensch

Die 10 bügle ich gleich mal drauf. Habe Dir per PN mal den Code für den ESP geschickt, falls Du noch einen rumliegen hast und einen "Störenfried" brauchst ;)

doesel

Also bei mir funktioniert die 0.10.0 nicht! Steht durchgehend auf "diconected" (inkl. Schreibfehler) und die angezeigte Firmware zeigt nur kryptische Zeichen. Habe wieder 0.9.0 installiert und läuft.
(FHEM auf Cubietruck mit Igor-Image, 64GB SSD), seit März 19 FHEM auf NUC im Proxmox-Container, 240GB SSD, div. Homematic, Max Fensterkontakte, Onewire über Firmata und FHEM2FHEM auf Raspberrys, MySensors, Jeelink-Clone mit GSD-Modul, CUL, SDM220Modbus, Logo!8, WS980WiFi

curt

Zitat von: doesel am 22 Februar 2019, 17:35:15
Habe wieder 0.9.0 installiert und läuft.

Ich bin gerade beim Einrichten, daher: Kannst Du bitte die 0.9 in den Anhang packen?
RPI 4 - Jeelink HomeMatic Z-Wave

choenig

Zitat von: doesel am 22 Februar 2019, 17:35:15
Also bei mir funktioniert die 0.10.0 nicht! Steht durchgehend auf "diconected" (inkl. Schreibfehler) und die angezeigte Firmware zeigt nur kryptische Zeichen. Habe wieder 0.9.0 installiert und läuft.

Hi, das 'disconnected' ist richtig, da die Verbindung ja nicht mehr aufrechterhalten wird, sondern für jeden Request neu verbunden wird. Bekommst Du denn auch keine Daten?

"diconected" kommt aber im Quellcode gar nicht vor, nur "disconected" ;-). Danke für den Hinweis, werde ich fixen.

Zitat von: curt am 22 Februar 2019, 17:39:04
Kannst Du bitte die 0.9 in den Anhang packen?

Die 0.9.0 findest Du im ersten Post.

LG
Christian

Waldmensch

Bei mir läuft die 10 seit 16:30 einwandfrei. "Seitenstörung" habe ich noch nicht getestet.

choenig


doesel

Hatte die 0.1.0 nur etwa 10 Minuten im Einsatz. Während dieser Zeit kamen keine aktuellen Daten. Lediglich die Firmware mit den kryptischen Zeichen und die Version.
(FHEM auf Cubietruck mit Igor-Image, 64GB SSD), seit März 19 FHEM auf NUC im Proxmox-Container, 240GB SSD, div. Homematic, Max Fensterkontakte, Onewire über Firmata und FHEM2FHEM auf Raspberrys, MySensors, Jeelink-Clone mit GSD-Modul, CUL, SDM220Modbus, Logo!8, WS980WiFi