Einbindung Wetterstation BRESSER 6-in-1 WLAN Profi Wetterstation in FHEM

Begonnen von michisa86888, 20 November 2018, 10:32:06

Vorheriges Thema - Nächstes Thema

michisa86888

Hallo zusammen,
hat schon jemand diese Wetterstation in FHEM eingebunden? Ist es möglich/machbar?

Vielleicht auch nur über den Umweg Weatherundergrund?

Viele Grüße

michisa86888

Okay, hab bei meiner Recherche jetzt herausgefunden das das mit dem Wunderground - Modul wg. kostenpflichtigen API-Key nicht mehr zu klappen scheint. Sind die auch dann kostenpflichtig für mich wenn es die eigene Station ist?

Eventuell ist openweathermap.org eine Alternative? Nur hier die Frage funktioniert dies mit dem Modul OPENWEATHER ?

Vielleicht kann mir jemand weiter helfen?

Akkarin

Habe soeben diese Wetterstation (Bresser 6in1) in FHEM einbinden können, dafür:
- Ein HP1000 Device in FHEM anlegen (mit Passwort und ID)
- Auf dem Raspberry eine Portweiterleitung einstellen (Port aus dem HP1000 Device entnehmen), in meinem Fall musste Port 80 auf 8086 umgeleitet werden.
- In Bresser Web-Konfig als URL die DNS des Raspberry eintragen, z.B. rasberry.fritz.box, ID und Passwort wie oben bei HP1000 angelegt
- im FHEM Modul 50_HP1000.pm muss im Quellcode die Prüfung der "Softwaretype" entfernt werden, da Bresser die Info anscheinend nicht mitliefert:
Von   
if (   !defined( $webArgs->{softwaretype} )
            || !defined( $webArgs->{dateutc} )
            || !defined( $webArgs->{ID} )
            || !defined( $webArgs->{PASSWORD} )
            || !defined( $webArgs->{action} ) )

Zu
        if (   !defined( $webArgs->{dateutc} )
            || !defined( $webArgs->{ID} )
            || !defined( $webArgs->{PASSWORD} )
            || !defined( $webArgs->{action} ) )


Hoffe das hilft weiter.


alen

Hallo zusammen

Ok, das heisst dass die Bresser WLAN Stationen problemlos in FHEM integriert werden können?

Z.B. auch diese hier (https://www.amazon.de/Bresser-5-in-1-Farbwettercenter-Wetterstation-schwarz/dp/B07JMVG1WC) ?

Gruss
Alen
Raspberry Pi Model Model 2 SD 32GB
Jeelink
FHEM 5.6, 2x TX 29DTH-IT

Wolfo

Hallo,
ich habe gerade eine Bresser 7-in-1 Wetterstation in fhem eingebunden. Dafür war eine zusätzliche Modifikation im Modul 50_HP1000.pm erforderlich. Die Station sendet .. action=updateraww... Dies führt zur Fehlermeldung "HP1000: action updateraww is not implemented". Änderung von 50_HP1000.pm Zeile 477:  if ( $webArgs->{action} ne "updateraw" ) {                 ->             if ( $webArgs->{action} ne "updateraww" ) {
Danach funktioniert es.

Silvio12

Hallo alle,

ich habe eine EXPLORE SCIENTIFIC PROFI W-LAN WETTER CENTER 7IN1 WSX3001 von Bresser.
Ich habe wie beschrieben define Wetterstation HP1000 Benutzer Passwort  Web und Station angelegt. In der Wetterstation die IP vom Rasp,ID, PW eingegeben. Eine Umleitung auf 8084 in der Fritzbox für den Rasp eingerichtet sowie  pm wie oben beschrieben abgeändert.

Leider ist Activity dead und Readings Fragezeichen.

Ich bin für jede Anregung dankbar.

Gruß Silvio

Wolfo

Hallo Silvio,
ich habe die gleiche Station. Dort muß die url des raspi eingetragen werden (bei mir: raspberry.fritz.box), die IP tut es angeblich nicht. Wenn du attr WEBweatherstation verbose 5 setzt kannst du im log-file die Rohdaten sehen. Wenn die nicht kommen liegt der Fehler im Übertragungsweg. Die Portredirection habe ich auf dem raspi mit sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8086 gemacht.
Gruß
Wolfo

Silvio12

Vielen Dank für die Hilfe, das war die Lösung. Auf das frit.box wäre ich nie gekommen.

Gruß Silvio

thburkhart

Zitat von: alen am 11 Februar 2019, 17:48:18
Hallo zusammen

Ok, das heisst dass die Bresser WLAN Stationen problemlos in FHEM integriert werden können?

Z.B. auch diese hier (https://www.amazon.de/Bresser-5-in-1-Farbwettercenter-Wetterstation-schwarz/dp/B07JMVG1WC) ?

Gruss
Alen

Das würde mich auch brennend interessieren.
Gibt es eine genauere Step-by-Step-Anleitung?

VG und vielen Dank

Thomas
1 RASPI4B, 1 RASPI3B, 2 CUL, 2 Jeelink, 60 Tuya-Devices (Schalter, Dimmer, Sensoren, Cameras), 30 HUE-Lampen, 5 MAX! WTs, 16 MAX! HTs, 12 MAX! FKs, 1 Bresser 5in1, 1 OilFox, 8 ALEXA Echos und Dots, FHEM, 5 Tasmota-Devices, SonOff -Bridge, PowerFox, Buderus KM200

Cruiser79

Ich habe es soeben geschafft eine Bresser 6-in-1 mit WLAN-Modul (https://www.amazon.de/gp/product/B079Y7N418/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1) erfolgreich einzubinden.
Vorgehensweise hier noch einmal bei mir (geklaut und angepasst aus allen vorherigen Posts):

1. Schritt
Ein HP1000 Device in FHEM anlegen (WICHTIG: Mit Passwort und ID)
define Wetterstation HP1000 ID Passwort

2. Schritt
Auf dem FHEM Rechner eine Portweiterleitung einstellen (Port aus der vom HP Device angelegten WEBweatherstation entnehmen, zu finden unter DEF), in meinem Fall musste Port 80 auf 8084 umgeleitet werden.
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8084

3. Schritt
In Bresser Web-Konfig als URL die DNS des Raspberry eintragen, z.B. fhem.fritz.box, ID und Passwort wie oben beim Anlegen des HP1000 Device

4. Schritt
Im FHEM Modul 50_HP1000.pm muss im Quellcode die Prüfung der "Softwaretype" entfernt werden, da Bresser die Info anscheinend nicht mitliefert:
Aus
        if (   !defined( $webArgs->{softwaretype} )
            || !defined( $webArgs->{dateutc} )
            || !defined( $webArgs->{action} ) )
        {
            Log3 $name, 5,
              "HP1000: received insufficient data:\n" . Dumper($webArgs);

            return ( "text/plain; charset=utf-8", "Insufficient data" );
        }

wird
        if (!defined( $webArgs->{dateutc} )
            || !defined( $webArgs->{action} ) )
        {
            Log3 $name, 5,
              "HP1000: received insufficient data:\n" . Dumper($webArgs);

            return ( "text/plain; charset=utf-8", "Insufficient data" );
        }


5. Schritt
Im FHEM Modul 50_HP1000.pm muss im Quellcode die action (updateraw) geändert werden da diese bei Bresser anders lautet (updateraww). Diese ist gleich die nächste IF-Bedingung im Code von Schritt 4
Aus
        if ( $webArgs->{action} ne "updateraw" ) {
            Log3 $name, 5,
              "HP1000: action $webArgs->{action} is not implemented:\n"
              . Dumper($webArgs);

            return ( "text/plain; charset=utf-8",
                "Action $webArgs->{action} was not implemented" );
        }

wird
        if ( $webArgs->{action} ne "updateraww" ) {
            Log3 $name, 5,
              "HP1000: action $webArgs->{action} is not implemented:\n"
              . Dumper($webArgs);

            return ( "text/plain; charset=utf-8",
                "Action $webArgs->{action} was not implemented" );
        }


6. Schritt
Am Ende ein reload 50_HP1000 um das Modul neu zu laden und die Daten sollten kommen
FHEM auf Raspberry Pi
HM-CFG-LAN mit HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-WDS10-TH-O, HM-LC-SW1-FM, HM-LC-Bl1-FM
Signalduino mit Elro AB440, LOGILINK WS0002, IT CMR-1000

Uwe-Kaditz

Ich habe jetzt auch so eine Bresser Wetterstation 5 in 1 Sensor (Art.Nr. 7002580).
(https://www.bresser.de/Wetter-Zeit/Wettercenter/BRESSER-5-in-1-Comfort-Wetter-Center-mit-Farbdisplay.html)
Leider ist mit der ausgelieferten Firmware PWS_WiFi_v1.30 keine Eingabe der URLs für Wunderground bzw. Weathercloud mehr möglich.
Damit kann ich die URL meiner FHEM-Installation nicht eintragen.

Gibt es noch eine andere Möglichkeit, die Daten in FHEM zu übertragen,
oder hat jemand eine ältere WiFi-Firmware, mit der die URLs noch änderbar sind?

Uwe-Kaditz

#11
Ich habe inzwischen eine Möglichkeit gefunden, wieder eine eigene URL in der aktuellen Bresser-Firmware PWS_WiFi_v1.3x einzutragen.
Dazu muss allerdings die Firmware-Datei PWS_WiFi_v1.3x.bin gepatcht werden.

Hier die Änderungen für den 3.Schritt der oben beschriebenen Vorgehensweise:

3.a Schritt
Im Router die DNS der FHEM-Installation nach folgenden Kriterien ändern:
Die DNS muss genau 25 Zeichen lang sein, wenn sie anstatt der Wunderground-URL verwendet werden soll.
Die DNS muss genau 20 Zeichen lang sein, wenn sie anstatt der Weathercloud-URL verwendet werden soll.

3.b Schritt
Die Firmware-Datei PWS_WiFi_v1.3x.bin mit dem Programm ChangeURL.exe bzw. ChangeURL-EN.exe (Englische Version) patchen.
Dabei die DNS aus dem Schritt 3.a eintragen.
Das Programm ist ansonsten selbsterklärend.

3.c Schritt
Die Bresser-Basisstation mit dem RESET-Knopf (Rückseite) zurück setzen.

3.d Schritt
Mit einem PC mit dem AP der Basisstation (die SSID ist 'PWS-XXXXXXXX') verbinden.
Danach im Browser die Adresse 192.168.1.1 aufrufen.
Achtung:
Bei mir hat nur der Edge-Browser das Firmware-Update erfolgreich durchgeführt.
Firefox lieferte nach dem Firmware-Upload eine 'File error'-Meldung.

3.e Schritt
In der Bresser Web-Konfig in 'My station 1' bzw. 'My station 2' die ID und Passwort aus dem 1.Schritt (Anlegen des HP1000 Device) eintragen.
Vor dem Speichern der Konfiguration noch einmal die Offset-Einstellungen auf der Seite 'Advanced' kontrollieren, bei mir hatte sich eine Offset von 20°C eingeschlichen!
Danach die Konfiguration speichern

Hawkmoon

Hallo zusammen,
danke erst mal für Eure Mühen. Ich habe so nun meine Bresser 5 in 1 Wetterstation in FHEM einbinden können.
Allerdings habe ich auf die Codeänderungen verzichtet. Da ich einen Apache2 Webserver in meinem Netz betreibe, ging das mit MOD_REWRITE sehr gut.
Hier mein vorgehen:

1. Bresser WIFI_Firmware patchen wie unter 3.a Schritt beschrieben
Den Servernamen lasst Ihr auf Euren lokalen Apache2 Server zeigen

2. Einen neuen vhost in Apache einrichten

<VirtualHost *:80>
        ServerName <servername_wie_in_firmware_patch>

        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        ProxyPreserveHost On

        RewriteEngine  on

        RewriteCond %{QUERY_STRING} ^(([^&]*&)*)action=updateraww(&.*)?$
        RewriteRule    "^/(.*)"  "http://<euer_fhem_server>:8084/$1?%1action=updateraw&softwaretype=1%3"  [P]
        ProxyPassReverse "/" "http://<euer_fhem_server>:8084/"
</VirtualHost>


Ersetzt bitte <servername_wie_in_firmware_patch> und <euer_fhem_server> durch die richtigen Servernamen

Erläuterung:
Die Apache config oben sorgt dafür, dass alle Anfragen der Wetterstation gegen Port 80 Eures Apache Servers gesendet werden. Die Proxy-Regel sendet diese nun an Port 8084 Eures FHEM Servers. Außerdem wird updateww durch updatew ersetzt  und der fehlende URL Parameter softwaretype ergänzt.

Wenn Ihr also zufällig auch einen Apache2 betriebt, könnt Ihr Euch so die Schritte 2. 4. und 5. sparen.

Viele Grüße,
Hawk.

Cruiser79

Zitat von: Uwe-Kaditz am 23 Dezember 2020, 16:00:29
Ich habe inzwischen eine Möglichkeit gefunden, wieder eine eigene URL in der aktuellen Bresser-Firmware PWS_WiFi_v1.3x einzutragen.
Dazu muss allerdings die Firmware-Datei PWS_WiFi_v1.3x.bin gepatcht werden.
Woher hast du denn die Patch-Exe? Gibt es da nähere Informationen zu der Firmware, oder ist das nur ein String-Replace in der Firmware Version?
Frage daher, da meine Bresser 6-in-1 mit WLAN-Modul abgekündigt wurde und ich somit davon ausgehe, das es auch keine Firmwareupdates mehr geben wird. Bin somit an allen Informationen über Firmwares für Bresser interessiert.

Gruß,
Tim
FHEM auf Raspberry Pi
HM-CFG-LAN mit HM-TC-IT-WM-W-EU, HM-CC-RT-DN, HM-WDS10-TH-O, HM-LC-SW1-FM, HM-LC-Bl1-FM
Signalduino mit Elro AB440, LOGILINK WS0002, IT CMR-1000

Uwe-Kaditz

Die Patch-Exe habe ich selber geschrieben.
Mit ihr wird nur der originale URL-String ausgetauscht und eine neue Prüfsumme berechnet.

Ich habe keine weitergehenden Informationen über die Firmware.