SBorg2014 / WLAN-Wetterstation

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

Bresser 7 in 1 Zusätzliche Sensoren #53

Closed hakelgg closed 1 year ago

hakelgg commented 1 year ago

Für die Bresser 7 in 1 lassen sich bis zu 6 zusätzliche Sensoren (Temperatur + Luftfeuchtigkeit) installieren. An Wunderground werden diese Daten mit übertragen. Code Auszug: soiltemp2f=34.8&soilmoisture2=99&soiltemp3f=45.1&soilmoisture3=60&soiltemp4f=25.8&soilmoisture4=96. Stellt man in wetterstation.conf Zusatzsensor DP100 auf aktiv (1,2.... ,8) wird von diesen Sensoren nur die Luftfeuchtigkeit ausgelesen. Eine Abfrage auf "soiltemp(X)" erfolgt nicht, sicher auch nicht beabsichtigt. Meine Bitte wäre diese Zusatzsensoren der Bresser Wetterstation mit auszuwerten.

SBorg2014 commented 1 year ago

Falscher Sensortyp? Der DP100/WH51 hat lt. Frogitt/Ecowitt keine Temperatur (nur Bodenfeuchte und Batterie):

Specifications: 
Moisture Range:0~100%; Resolution: 1% 
0%AD setting range:70~200; Initial value:70 
100%AD setting range:0%AD+10~1000; Initial value:500 
Update Rate: 70 seconds 
Power: 1 x AA battery(not included)
hakelgg commented 1 year ago

Das ist richtig. Ist nur eine Frage/Bitte. Ich hatte mich leider für eine Bresser Wetterstation entschieden. Aus jetziger Sicht ein Fehler. Bei Einstellung DP100 wird die Feuchtigkeit bei den Bresser-Sensoren mit ausgelesen, so wie von dir für die DP100/WH51 programmiert. Da dachte ich der Schritt die Temperatur mit auszulesen ist nicht mehr groß. (soiltemp)

hakelgg commented 1 year ago

Bresser Thermo-Hygro-7Ch -Sensor 868MHz Art-Nr 7009999 wie gesagt die Station wertet die Werte von dem Sensor mit aus und übergibt sie an Wunderground. Unbenannt

SBorg2014 commented 1 year ago

Da dachte ich der Schritt die Temperatur mit auszulesen ist nicht mehr groß. (soiltemp)

Das denkt lustigerweise immer jeder, dem ist aber leider nicht so. "Einfach" dazu basteln ist nicht, weil dann jeder User die Werte probiert abzufragen, aber 99,99% der Nutzer dann wohl keinen Bresser Zusatzsensor haben. Einzige praktikable Möglichkeit sehe ich nur in einer neuen Sensorrubrik "Bresser". Dann tangiert es User ohne passende Sensoren überhaupt nicht, und die (oder den ^^) Nutzer mit dem/n Sensor/en haben dann alle Werte. Was mich bei Bresser wirklich stört, dass sie keine Modellbezeichnungen haben. Mit "Thermo-Hygro-7Ch-Sensor" kann ich wenig anfangen, es wird dann wohl eher etwas kryptisch unter der Artikelnummer "7009999" laufen müssen. Mal sehen... Für die kommende V2.21.0 ist das aber eh schon zu spät.

hakelgg commented 1 year ago

Versteh ich je strukturierter, je sicherer ist es das Projekt zu beherrschen. Als ich mich für Bresser entschieden hatte, habe ich das Iobroker-Projekt noch gar nicht gekannt. Über das Auslesen der Wetterdaten mittels Netcat bin ich erst auf die Idee gekommen, die zusätzlichen Sensoren auszulesen.

Beispiel: (ist für dich sicher überflüssig, nur um darzustellen wie ich drauf gekommen bin) nc -lv 80 Connection received on XXXXXXXXXXXXXXXX GET /weatherstation/updateweatherstation.php?ID=XXXXXXX&PASSWORD=XXXXXX&action=updateraww&realtime=1&rtfreq=5&dateutc=now&baromin=29.78&tempf=28.5&dewptf=26.6&humidity=91&windspeedmph=0.0&windgustmph=0.0&winddir=119&rainin=0.0&dailyrainin=0.0&solarradiation=0.0&UV=0.0&indoortempf=73.4&indoorhumidity=40&soiltemp2f=34.8&soilmoisture2=99&soiltemp3f=45.1&soilmoisture3=60&soiltemp4f=25.8&soilmoisture4=96 HTTP/1.1 Host: rtupdate.wunderground.com Connection: keep-alive

SBorg2014 commented 1 year ago

Och "nerven" tut hier keiner. Ich habe auch kein Problem damit den Sensor so einzubauen, ev. gibt es ja auch mehr Nutzer davon. Das hält sich auch zeitlich im Rahmen einen kpl. Sensor einzufügen. Den Datenstring 1:1 wieder zur Verfügung zu stellen hatte ich mir schon mal überlegt, aber mangels Einsatz wieder verworfen. Das würde wohl 99% der Nutzer überfordern und aktuell wird alles ausgewertet was im String steht (den Sensor jetzt mal ausgenommen). ...und der String ist gar nicht verkehrt, so kann ich wenigstens testen ;)

Kannst du bei der Bresser auch "Ecowitt" bei Custom einstellen oder musst du den WU auf Port 80 nutzen? Beim Ecowitt würde noch der Batterielevel/-spannung übertragen werden. Falls ja, hätte ich den auch gerne.

hakelgg commented 1 year ago

mir (guenter-) ist es jetzt mit deiner Anleitung gelungen den Port 80 auf 1080 umzuleiten.

SBorg2014 commented 1 year ago

So sieht man sich wieder ^^ Habe soweit fertig. War doch etwas tricky, da er sich dann mit dem DP100-Sensor "gekabbelt" hat. Wenn es bis zum Mittag stabil läuft kannst du, wenn nichts dazwischen kommt, heute Nachmittag dann testen.

btw: wie nennt sich denn deine Station genau, würde sie noch gerne mit in die Liste der getesteten aufnehmen

hakelgg commented 1 year ago

Meine Station macht gerade Pause, die Batterien sind nach kurzer Zeit leer. Tausche den Bresser-Außensensor 5 in1 in der nächsten Stunde aus. IBRDEH4

hakelgg commented 1 year ago

Ergebnis, sieht gut aus denke ich putty.txt

Iobroker teste ich heute Abend.

SBorg2014 commented 1 year ago

Jupp, sieht wie erwartet aus. Musst halt bei der Anzahl mit der höchsten Sensor-ID wg. der Kanal-IDs arbeiten. Die auf "1,2,3" umzusetzen wäre nicht so trivial gewesen. "1" ist dann halt bei dir im ioB ohne Werte.

hakelgg commented 1 year ago

Da muß ich noch etwas austesten. Habe den Kanal 1 bei den Sensoren nicht belegt. ( er wird manchmal auch als Innensensor verwendet) Bresser verwendet Konsolen mit Temperatur-Innensenor und ohne Temperatur-Innensenor. Ohne Temperatursensor in der Konsole ist dann der externe Temperatursensor vom Kanal 1 der Innensensor........... Teste ich heute noch.................. Die Maximale Anzahl der externen Sensoren ist bestimmt soiltemp4= f .88 soilmoisture=4 99

hakelgg commented 1 year ago

Ab Kanal 5 wird an Wunderground nicht mehr übertragen

SBorg2014 commented 1 year ago

Ok, dann ändere ich beides noch ab. Wäre ja auch zu einfach wenn der erste "soiltemp1f" hieße...

hakelgg commented 1 year ago

Was gleich funktioniert taugt nichts. Habe die wetterstation.sub getauscht. Irgendetwas ist noch nicht berücksichtigt. Putty_20230125.txt

SBorg2014 commented 1 year ago

Hmm, ich sehe so nichts was falsch wäre. Er meldet brav "200 OK" zurück. Ev. schmeckt ihm der Zeitstempel da nicht, allerdings kommt der so von der Station. Kannst du mal die kpl. https-URL im Browser aufrufen und das "now" bei "dateutc" durch den aktuellen Zeitstempel (bspw. 2023-01-25T10:27:23Z) ersetzen bzw. auch mal die Zusatzsensoren aus der URL löschen ob das funktioniert?

hakelgg commented 1 year ago

Meinte die fehlenden .BR7009999.1.Temperatur ......... Einträge im DEBUG. Zum Iobroker wird auch .BR7009999.1.Temperatur ......... nicht übertragen.

Bei dateutc = now ---> succes bei dateutc = 2023-01-25T12:14:23Z ---> bad request

SBorg2014 commented 1 year ago

Ah, jetzt ja. Ich dachte alles Ok, 2,3 + 4 sind da. Deswegen kam ich gar nicht auf die Idee das Nr1 fehlt ;)

hakelgg commented 1 year ago

läuft.

Die externen Sensoren werden als Bodensensoren --- > Temperatur Bodenfeuchtigkeit Sensor 2 (Channel 2) Temperatursensoren ---> Temperatur Luftfeuchtigkeit Sensor 1,3,4 (Channel 1, 3,4) angeboten. Aus diesem Grund ist Sensor 2 bei diesem Wetter immer bei 99% Feuchtigkeit. Danke

SBorg2014 commented 1 year ago

😁 Deswegen bin ich bei "schnell mal" oder "einfach" immer skeptisch. Im Grunde war bisher nie etwas "schnell" oder nur "einfach" ;-) Ich musste noch eine extra Abfrage für den 1. Sensor einbauen, nur weil sie ihn eben nicht "soiltemp1f" nannten...

Wie nennt sich denn deine Station genau? Bresser 7 in 1.... Ich würde sie gerne noch zur Liste der getesteten/funktionsfähigen Stationen hinzufügen.

hakelgg commented 1 year ago

Ich hatte in den Quellcode reingeschaut und sah das nur einige zusätzliche Zeilen zum Ergebnis führen.

Die Bezeichnung der Basisstation Wifi Comfort Weather Center 7-in-1 (Art.Nr 7003300) Außensensor: 7-in-1 Außensensor für WSX3001 (ArtNr. 9910100) Externer Temperatur/Hygrosensor (ArtNr. 7009999) EXPLORE SCIENTIFIC Bodensensor (ArtNr. SM60020LC2000)

hakelgg commented 1 year ago

@SBorg2014 @SBorg Moin vielen Dank für deine aktive Begleitung bei meinen Ideen als Rentner. Habe viel dazu gelernt. Konnte viel, aus dem sehr umfangreich und gut Beschriebenen Block mitnehmen. Übrigens die Bemerkung "nur einige Zeilen" war ein Lob, Kurze übersichtliche Programme schreiben können nicht viele. VG Günter

SBorg2014 commented 1 year ago

Immer gerne und als etwas anderes habe ich es auch nicht aufgefasst. Ich bin auch ein Freund guter Dokumentation, denn auch ich lerne bei Anderen weil ich mir dort auch anschaue wie er/sie das Problem gelöst hat. Wäre ja nicht so, dass wir hier Raketenwissenschaften für den Flug zum Mars entwickeln, oder ich dadurch finanzielle Einbußen erleiden würde ;) Was daraus seit den Anfängen in den mittlerweile vier Jahren geworden ist erstaunt mich auch jedes mal wieder neu. Alles began mit "...das geht auch mit einem simplen Einzeiler direkt in der bash unter Linux..."