weewx-fhem - Erfahrungen?

Begonnen von maddinthebrain, 28 Februar 2020, 14:55:43

Vorheriges Thema - Nächstes Thema

maddinthebrain

Hallo,

ich bin gerade dabei meine Wetterstation aus verschiedenen Gründen von CumulusMX auf weewx umzustellen. Im Moment nutze ich die angenehme Funktion von Cumulus ein txt-File wo hin zu schreiben wo FHEM sie lesen kann.

Bei weewx ist das schwieriger. Es hat sich aber mal jemand dazu Gedanken gemacht und ein Plugin für weewx geschrieben. https://github.com/matthewwall/weewx-fhem

Nun meine Frage: Hat das jemand im Einsatz? Oder gibt es eine andere Lösung? Ich habe bisher nicht viel finden können, außer dass man mit viel Mühe die Weewx HTML Seite parsen kann, was wohl auch nicht so einfach ist. https://forum.fhem.de/index.php?topic=56271.0

Viele Grüße

Martin

Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

regenbieger

Hi, meine Wetterstation ist zwar nur noch ein Trümmerhaufen, aber Temperatur, Lufdruck und Humidity überträgt die immer noch brav seit Jahren. Das alles per WeeWx und dem MQTT-Plugin.
https://github.com/weewx/weewx/wiki/mqtt
War vor 5 Jahren der einfachste Weg, ist er evtl. immer noch.

Viel Spaß und gutes Wetter
regenbieger
FHEM und WEEWX auf Raspberry

maddinthebrain

Das ist ja toll! Das wusste ich gar nicht, dass es das gibt. Wie hast du das in Fhem eingebunden? Ich hätte das jetzt mit FileRead und regex versucht...

Wie sieht dein Device aus?
Bei mir ist Fhem selbst der MQTT Broker, das ist aber ein Mqtt2 Server.

Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

regenbieger

Moin.
ich habe MQTT und WeeWx auf dem gleichen Raspi laufen mit dem ich auch Fhem betreibe. MQTT2 hab ich keine Erfahrung, sollte aber nicht viel anders sein.
Das ist meine Wetterstation:
defmod Wetterstation MQTT_DEVICE
attr Wetterstation DbLogInclude inHumidity:300,inTemp_C:300,barometer_mbar:300,temperature:300,humidity:300
attr Wetterstation IODev mqtt
attr Wetterstation event-on-change-reading inHumidity:1,inTemp_C:0.1,outHumidity:1,outTemp_C:0.1,pressure_mbar:1,temperature:0.1,humidity:1
attr Wetterstation group Umwelt
attr Wetterstation room Wetter
attr Wetterstation stateFormat WZ:inTemp_C°C inHumidity% \
Balkon:outTemp_C°C outHumidity%  \
Luftdruck: barometer_mbar mbar
attr Wetterstation subscribeReading_altimeter_mbar WS23XX/altimeter_mbar
attr Wetterstation subscribeReading_barometer_mbar WS23XX/barometer_mbar
attr Wetterstation subscribeReading_cloudbase_meter WS23XX/cloudbase_meter
attr Wetterstation subscribeReading_dewpoint_C WS23XX/dewpoint_C
attr Wetterstation subscribeReading_heatindex_C WS23XX/heatindex_C
attr Wetterstation subscribeReading_inDewpoint WS23XX/inDewpoint
attr Wetterstation subscribeReading_inHumidity WS23XX/inHumidity
attr Wetterstation subscribeReading_inTemp_C WS23XX/inTemp_C
attr Wetterstation subscribeReading_maxSolarRad WS23XX/maxSolarRad
attr Wetterstation subscribeReading_outHumidity WS23XX/outHumidity
attr Wetterstation subscribeReading_outTemp_C WS23XX/outTemp_C
attr Wetterstation subscribeReading_pressure_mbar WS23XX/pressure_mbar
attr Wetterstation userReadings msgOut {"G ".sprintf('%.1f',ReadingsVal('Wetterstation','outTemp_C',''))."°C ".sprintf('%.1f',ReadingsVal('Wetterstation','outHumidity',''))."%" },msgIn {"W ".sprintf('%.1f',ReadingsVal('Wetterstation','inTemp_C',''))."°C ".sprintf('%.1f',ReadingsVal('Wetterstation','inHumidity',''))."%" },humidity {sprintf('%.1f',ReadingsVal('Wetterstation','outHumidity','')) },temperature {sprintf('%.2f',ReadingsVal('Wetterstation','outTemp_C','')) }

setstate Wetterstation WZ:23.50°C 48.00% \
Balkon:9.50°C 63.00%  \
Luftdruck: 993.95 mbar
setstate Wetterstation 2020-03-01 11:09:00 altimeter_mbar 993.46
setstate Wetterstation 2020-03-01 11:09:00 barometer_mbar 993.95
setstate Wetterstation 2020-03-01 11:09:00 cloudbase_meter 945.38
setstate Wetterstation 2020-03-01 11:09:00 dewpoint_C 2.79
setstate Wetterstation 2020-03-01 11:09:00 heatindex_C 9.50
setstate Wetterstation 2020-03-01 11:09:49 humidity 63.0
setstate Wetterstation 2020-03-01 11:09:00 inHumidity 48.00
setstate Wetterstation 2020-03-01 11:09:00 inTemp_C 23.50
setstate Wetterstation 2020-03-01 11:09:49 msgIn W 23.5°C 48.0%
setstate Wetterstation 2020-03-01 11:09:49 msgOut G 9.5°C 63.0%
setstate Wetterstation 2020-03-01 11:09:00 outHumidity 63.00
setstate Wetterstation 2020-03-01 11:09:00 outTemp_C 9.50
setstate Wetterstation 2020-03-01 11:09:00 pressure_mbar 980.70
setstate Wetterstation 2020-03-01 11:09:49 temperature 9.50
setstate Wetterstation 2020-03-01 11:09:49 transmission-state subscription acknowledged


und das ist der Teil in der WeeWx Config:

[StdRESTful]
....... 
    [[MQTT]]
        server_url = mqtt://WS23XX:empty@localhost:1883/
        topic = WS23XX
        unit_system = METRIC
        obs_to_upload = none
        binding = loop
        [[[inputs]]]
            [[[[altimeter]]]]
                format = %.2f
            [[[[barometer]]]]
                format = %.2f
            [[[[cloudbase]]]]
                format = %.2f
            [[[[dewpoint]]]]
                format = %.2f
            [[[[heatindex]]]]
                format = %.2f
            [[[[humidex]]]]
                format = %.2f
            [[[[inDewpoint]]]]
                format = %.2f
            [[[[inHumidity]]]]
                format = %.2f
            [[[[inTemp]]]]
                format = %.2f
            [[[[maxSolarRad]]]]
                format = %.2f
            [[[[outHumidity]]]]
                format = %.2f
            [[[[outTemp]]]]
                format = %.2f
            [[[[pressure]]]]
                format = %.2f

nur noch in der WeeWx config im Block Engine/Service user.mqtt.MQTT eintragen:
[Engine]
   
    [[Services]]
        # This section specifies the services that should be run. They are
        # grouped by type, and the order of services within each group
        # determines the order in which the services will be run.
        prep_services = weewx.engine.StdTimeSynch
        data_services = ,
        process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate
        archive_services = weewx.engine.StdArchive
        restful_services = weewx.restx.StdStationRegistry, ......, user.mqtt.MQTT
        report_services = weewx.engine.StdPrint, weewx.engine.StdReport


Bitte behalte dabei im Hinterkopf das ich nur ein klicki klacki Friemler und Lötheinz bin der kaum weiß was er da tut. Aber es klappt so für mich. Wenn es Dir Hilft um so besser  ;)

Schönen Sonntag noch
regenbieger
FHEM und WEEWX auf Raspberry

maddinthebrain

Hallo,

ZitatBitte behalte dabei im Hinterkopf das ich nur ein klicki klacki Friemler und Lötheinz bin der kaum weiß was er da tut. Aber es klappt so für mich. Wenn es Dir Hilft um so besser
willkommen im Club. Ich bin auf froh, wenn ich zu nem Thema ein schönes Tutorial finde, das auch funktioniert.

Der MQTT report wird schon erzeugt und gepublished. Jetzt muss der Fhem nur subscribe und noch was damit machen.

Ich werde mich melden.

Erst mal danke! Schönen Abend noch.

Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

maddinthebrain

So, und funzt das auch. Das Attribut readingList mit folgendem Inhalt befüllen und dann geht's los:

weather/outTemp_C:.* temperature
weather/cloudbase_meter:.* cloudbase
weather/outHumidity:.* humidity
weather/pressure_mbar:.* pressure
weather/rain_cm:.* rainfall
weather/barometer_mbar:.* barometer
weather/dewpoint_C:.* dewpoint
weather/rainTotal:.* rainTotal
weather/heatindex_C:.* heatindex
weather/dayRain_cm:.* day_rain
weather/inDewpoint:.* in_dewpoint
weather/altimeter_mbar:.* altimeter
weather/appTemp_C:.* appTemp
weather/windGust_kph:.* wind_gust
weather/rain24_cm:.* rain_24h
weather/hourRain_cm:.* rain_1h
weather/windSpeed_kph:.* wind
weather/rainRate_cm_per_hour:.* rainrate
weather/windDir:.* winddir
weather/inHumidity:.* in_humidity

Die Werte sind nen für mich sinnvolle Auswahl.
Das war echt einfach, als was mit regex aus ner Text-Datei ziehen. Das ist eigentlich einen Wiki - Eintrag wert. Mal sehen, wenn mich mal die Muße habe, werde ich das tun. Nochmals Dankeschön für diesen tollen Hinweis!

Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

maddinthebrain

Noch eine Ergänzung:

ich habe in der weewx.conf das unit_system auf METRICWX gestellt, da mir das mit den cm und km/h nicht gefallen hat.

Es waren dann noch Änderungen am readingList nötig:

weather/outTemp_C:.* temperature
weather/cloudbase_meter:.* cloudbase
weather/outHumidity:.* humidity
weather/pressure_mbar:.* pressure
weather/rain_mm:.* rainfall
weather/barometer_mbar:.* barometer
weather/dewpoint_C:.* dewpoint
weather/rainTotal:.* rainTotal
weather/heatindex_C:.* heatindex
weather/dayRain_mm:.* day_rain
weather/inDewpoint:.* in_dewpoint
weather/altimeter_mbar:.* altimeter
weather/appTemp_C:.* appTemp
weather/windGust_mps:.* wind_gust
weather/rain24_mm:.* rain_24h
weather/hourRain_mm:.* rain_1h
weather/windSpeed_mps:.* wind
weather/rainRate_mm_per_hour:.* rainrate
weather/windDir:.* winddir
weather/inHumidity:.* in_humidity


Viele Grüße

Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

regenbieger

Super das ich Dir damit helfen konnte, METRICWX war für meine Werte nicht mehr erforderlich, ist aber ein guter Punkt. Das A und O ist die Formatierung in der weewx.config, wenn man da ein bischen Zeit investiert hat man nachher viel weniger Schaff.

mfg regenbieger
FHEM und WEEWX auf Raspberry

Beta-User

Zitat von: maddinthebrain am 01 März 2020, 23:29:18
Das ist eigentlich einen Wiki - Eintrag wert. Mal sehen, wenn mich mal die Muße habe, werde ich das tun.
Du kannst gerne eine RAW-Def hier einstellen, dann könnte man das in die attrTemplate-Liste für MQTT2_DEVICE übernehmen...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

maddinthebrain

Zitat von: Beta-User am 03 März 2020, 08:04:48
Du kannst gerne eine RAW-Def hier einstellen, dann könnte man das in die attrTemplate-Liste für MQTT2_DEVICE übernehmen...
Sehr gerne, was ist dafür nötig? Wie muss das aussehen?

Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Beta-User

Benötigt wird erst mal nur und einfach der output von "list <device> -R", mehr Details: https://wiki.fhem.de/wiki/Import_von_Code_Snippets oder - wenn du das attrTemplate vollständig selbst entwickeln willst bzw. weitere Infos brauchst im MQTT-Bereich im "contributing..."-Thread.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

maddinthebrain

Zitat von: Beta-User am 03 März 2020, 11:10:10
Benötigt wird erst mal nur und einfach der output von "list <device> -R"
Das funzt bei mir nicht. Da wird nur wieder die Fhem Startseite angezeigt. Ohne -R kommt dieses Ergebnis:Internals:
   DEVICETOPIC Wetterstation
   FUUID      5e5b6f17-f33f-ab72-91e1-4c4d14c61476bf93
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 30964
   MQTT2_FHEM_Server_TIME 2020-03-03 22:36:10
   MSGCNT     30964
   NAME       Wetterstation
   NR         314
   STATE      ???
   TYPE       MQTT2_DEVICE
   Helper:
     DBLOG:
       altimeter:
         logmysql:
           TIME       1583271370.3829
           VALUE      1008.0
       appTemp:
         logmysql:
           TIME       1583271370.39772
           VALUE      -2.80191936591
       barometer:
         logmysql:
           TIME       1583271370.29744
           VALUE      1010.2
       cloudbase:
         logmysql:
           TIME       1583271370.26192
           VALUE      762.5
       day_rain:
         logmysql:
           TIME       1583271370.36846
           VALUE      4.2
       dewpoint:
         logmysql:
           TIME       1583271370.31826
           VALUE      -4.0
       heatindex:
         logmysql:
           TIME       1583271370.3456
           VALUE      -0.3
       humidity:
         logmysql:
           TIME       1583271370.27236
           VALUE      76.0
       in_humidity:
         logmysql:
           TIME       1583271370.49591
           VALUE      43.0
       pressure:
         logmysql:
           TIME       1583271370.28271
           VALUE      972.9
       rainTotal:
         logmysql:
           TIME       1583271370.32862
           VALUE      36.03
       rain_1h:
         logmysql:
           TIME       1583271370.42703
           VALUE      0.0
       rain_24h:
         logmysql:
           TIME       1583271370.47071
           VALUE      4.2
       rainfall:
         logmysql:
           TIME       1583271370.46035
           VALUE      0.0
       rainrate:
         logmysql:
           TIME       1583271370.30792
           VALUE      0.0
       temperature:
         logmysql:
           TIME       1583271370.40822
           VALUE      -0.3
       wind:
         logmysql:
           TIME       1583271370.48541
           VALUE      0.0
       wind_gust:
         logmysql:
           TIME       1583271370.43738
           VALUE      0.0
       winddir:
         logmysql:
           TIME       1583268942.60196
           VALUE      270.0
   OLDREADINGS:
   READINGS:
     2020-03-03 22:36:10   altimeter       1008.0
     2020-03-03 22:36:10   appTemp         -2.80191936591
     2020-03-03 22:36:10   barometer       1010.2
     2020-03-03 22:36:10   cloudbase       762.5
     2020-03-03 22:36:10   day_rain        4.2
     2020-03-03 22:36:10   dewpoint        -4.0
     2020-03-03 22:36:10   heatindex       -0.3
     2020-03-03 22:36:10   humidity        76.0
     2020-03-03 22:36:10   in_humidity     43.0
     2020-03-03 22:36:10   pressure        972.9
     2020-03-03 22:36:10   rainTotal       36.03
     2020-03-03 22:36:10   rain_1h         0.0
     2020-03-03 22:36:10   rain_24h        4.2
     2020-03-03 22:36:10   rainfall        0.0
     2020-03-03 22:36:10   rainrate        0.0
     2020-03-03 22:36:10   temperature     -0.3
     2020-03-03 22:36:10   wind            0.0
     2020-03-03 22:36:10   wind_gust       0.0
     2020-03-03 21:55:42   winddir         270.0
Attributes:
   IODev      MQTT2_FHEM_Server
   readingList weather/outTemp_C:.* temperature
weather/cloudbase_meter:.* cloudbase
weather/outHumidity:.* humidity
weather/pressure_mbar:.* pressure
weather/rain_mm:.* rainfall
weather/barometer_mbar:.* barometer
weather/dewpoint_C:.* dewpoint
weather/rainTotal:.* rainTotal
weather/heatindex_C:.* heatindex
weather/dayRain_mm:.* day_rain
weather/inDewpoint:.* in_dewpoint
weather/altimeter_mbar:.* altimeter
weather/appTemp_C:.* appTemp
weather/windGust_mps:.* wind_gust
weather/rain24_mm:.* rain_24h
weather/hourRain_mm:.* rain_1h
weather/windSpeed_mps:.* wind
weather/rainRate_mm_per_hour:.* rainrate
weather/windDir:.* winddir
weather/inHumidity:.* in_humidity
   room       Wetter


So wie ich das verstanden habe, fehlt fürs Template noch etwas Formalkram. Wäre für Tipps dankbar.

Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Beta-User

Sorry, hatte wohl auf die Schnelle die Reihenfolge vertauscht. "list -r <device>" wäre wohl zielführender gewesen...

Egal, vielleicht kannst/magst du das mal mit einer Kopie deines Devices testen (Anleitung steht im "contributing"-Thread im ersten Beitrag bzw. im wiki zu AttrTemplate):name:weewx_weather_station
filter:TYPE=MQTT2_DEVICE
desc:See source post: https://forum.fhem.de/index.php/topic,108815.msg1027867.html#msg1027867 for details. For setting up weewx for MQTT use see https://github.com/weewx/weewx/wiki/mqtt
order:X_20
par:BASE_ID;BASE_ID typically is weather;{ AttrVal("DEVICE","readingList","") =~ m,(weather)[/][^/]+[/].*:, ? $1 : undef }
par:ICON;ICON as set, defaults to weather_station;{ AttrVal("DEVICE","icon","weather_station") }
attr DEVICE icon ICON
attr DEVICE event-on-change-reading .*
attr DEVICE readingList BASE_ID/outTemp_C:.* temperature\
  BASE_ID/cloudbase_meter:.* cloudbase\
  BASE_ID/outHumidity:.* humidity\
  BASE_ID/pressure_mbar:.* pressure\
  BASE_ID/rain_mm:.* rainfall\
  BASE_ID/barometer_mbar:.* barometer\
  BASE_ID/dewpoint_C:.* dewpoint\
  BASE_ID/rainTotal:.* rainTotal\
  BASE_ID/heatindex_C:.* heatindex\
  BASE_ID/dayRain_mm:.* day_rain\
  BASE_ID/inDewpoint:.* in_dewpoint\
  BASE_ID/altimeter_mbar:.* altimeter\
  BASE_ID/appTemp_C:.* appTemp\
  BASE_ID/windGust_mps:.* wind_gust\
  BASE_ID/rain24_mm:.* rain_24h\
  BASE_ID/hourRain_mm:.* rain_1h\
  BASE_ID/windSpeed_mps:.* wind\
  BASE_ID/rainRate_mm_per_hour:.* rainrate\
  BASE_ID/windDir:.* winddir\
  BASE_ID/inHumidity:.* in_humidity
attr DEVICE stateFormat T: temperature°C, H: humidity%rH, P: barometer hPa
deletereading -q DEVICE (?!associatedWith).*
attr DEVICE model weewx_weather_station


Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

maddinthebrain

Ich hatte es über den beschriebenen Weg versucht, aber aus irgendeinem Grund taucht weewx_weather_station nicht in der attrTemplate Liste auf. Ich habe deinen Code in weewx.template File kopiert und im Ordner wo die anderen Templates sind abgelegt. { AttrTemplate_Initialize() } ausgeführt. Aber es taucht nicht auf. Fhem Neustart bringt auch nix...

Was passt da nicht?

Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Beta-User

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

maddinthebrain

Wenn ich die Zeile mit filter:TYPE=MQTT2_DEVICE weglösche, dann taucht der Eintrag weewx_weather_station auf. Wenn ich dann set WetterstationTest attrTemplate weewx_weather_station ausführen will kommt die Fehlermeldung
Unknown template_entry_name weewx_weather_station
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Beta-User

Hmm, schräg...

Kann im Moment nicht sagen, woran es hängt. Vorschlag: Ich packe das beim nächsten update allgemein mit rein, und wir schauen dann, ob es erwartungsgemäß läuft oder was zu verbessern gibt?
Dazu bitte die file einfach wieder löschen, sonst kommen Warnungen wegen doppelter Einträge.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Beta-User

...ist jetzt im svn, ab morgen via update...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

maddinthebrain

Alles klar, ich werde es mal checken, so schwer kann das ja nicht sein.
Ich weiß auch nicht was da los war, das mit den Rechten war OK, lesen konnte er es auch...

Grüße Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

maddinthebrain

Hallo Beta-User,

sieht gut aus! Alles so wie gewünscht. Ich werde es auf mein Produktivdevice auch anwenden.

Nur ein zwei Details:

- im Status zwischen der Temperatur bzw. rel. Feucht und der jeweiligen Einheit noch ein Leerzeichen so wie beim Luftdruck
- Für Hilfe werde ich noch etwas zusammenstellen und hier posten.

Vielen Dank und viele Grüße

Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Jens_B

Falls es jemand interessiert, ich nutze seit jahren folgendes weewxskin
https://github.com/matthewwall/weewx-fhem


das erzeugt ein Textfile, was man einfach per httpmod aus fhem auslesen kann.
defmod WEATHERSTATION HTTPMOD http://192.168.178.14/weewx/fhem/fhem.txt 300
attr WEATHERSTATION userattr enableControlSet reading01Name reading01OExpr reading01Regex reading02Name reading02OExpr reading02Regex reading03Name reading03OExpr reading03Regex reading04Name reading04OExpr reading04Regex reading05Name reading05OExpr reading05Regex reading06Name reading06OExpr reading06Regex reading07Name reading07OExpr reading07Regex reading08Name reading08OExpr reading08Regex reading09Name reading09OExpr reading09Regex reading10Name reading10OExpr reading10Regex reading11Name reading11OExpr reading11Regex reading12Name reading12OExpr reading12Regex reading13Name reading13OExpr reading13Regex
attr WEATHERSTATION enableControlSet 1
attr WEATHERSTATION homebridgeMapping CurrentTemperature=Aussentemperatur
attr WEATHERSTATION reading01Name Innentemperatur
attr WEATHERSTATION reading01OExpr {sprintf("%.1f", $val)}
attr WEATHERSTATION reading01Regex inTemp: ([\d\.-]+)
attr WEATHERSTATION reading02Name Aussentemperatur
attr WEATHERSTATION reading02OExpr {sprintf("%.1f", $val)}
attr WEATHERSTATION reading02Regex outTemp: ([\d\.-]+)
attr WEATHERSTATION reading03Name Luftfeuchtigkeit_Innen
attr WEATHERSTATION reading03OExpr {sprintf("%.1f", $val)}
attr WEATHERSTATION reading03Regex inHumidity: ([\d\.-]+)
attr WEATHERSTATION reading04Name Luftfeuchtigkeit_Aussen
attr WEATHERSTATION reading04OExpr {sprintf("%.1f", $val)}
attr WEATHERSTATION reading04Regex outHumidity: ([\d\.-]+)
attr WEATHERSTATION reading05Name Taupunkt
attr WEATHERSTATION reading05OExpr {sprintf("%.1f", $val)}
attr WEATHERSTATION reading05Regex dewpoint: ([\d\.-]+)
attr WEATHERSTATION reading06Name Windgeschwindigkeit
attr WEATHERSTATION reading06OExpr {sprintf("%.1f", $val)}
attr WEATHERSTATION reading06Regex windspeed: ([\d\.-]+)
attr WEATHERSTATION reading07Name Windrichtung
attr WEATHERSTATION reading07OExpr {sprintf("%s", $val)}
attr WEATHERSTATION reading07Regex winddirection: ([A-Z/\-]+)
attr WEATHERSTATION reading08Name Luftdruck_Trend
attr WEATHERSTATION reading08OExpr {sprintf("%.0f", $val)}
attr WEATHERSTATION reading08Regex pressureTrend: ([\d\.-]+)
attr WEATHERSTATION reading09Name Luftdruck
attr WEATHERSTATION reading09OExpr {sprintf("%.1f", $val)}
attr WEATHERSTATION reading09Regex pressure: ([\d\.-]+)
attr WEATHERSTATION reading10Name Regen
attr WEATHERSTATION reading10OExpr {sprintf("%.1f", $val)}
attr WEATHERSTATION reading10Regex rain: ([\d\.-]+)
attr WEATHERSTATION reading11Name WindDurchschnitt
attr WEATHERSTATION reading11OExpr {sprintf("%.1f", $val)}
attr WEATHERSTATION reading11Regex windaverage: ([\d\.-]+)
attr WEATHERSTATION reading12Name Regen_heute
attr WEATHERSTATION reading12OExpr {sprintf("%.1f", $val)}
attr WEATHERSTATION reading12Regex rainDay: ([\d\.-]+)
attr WEATHERSTATION reading13Name Windboen
attr WEATHERSTATION reading13OExpr {sprintf("%.1f", $val)}
attr WEATHERSTATION reading13Regex windgust: ([\d\.-]+)
attr WEATHERSTATION room Homekit,System
attr WEATHERSTATION timeout 8
attr WEATHERSTATION userReadings humidity { ReadingsVal("WEATHERSTATION","Luftfeuchtigkeit_Aussen",0);; }, rain { ReadingsVal("WEATHERSTATION","Regen",0);; }


so sieht das dann bei mir aus.


Vielleicht kann mir jemand dafür helfen, wo ich für meine WS1080 von Conrad den Sender als Ersatzteil bekomme...
RaspberryPi 4 (Raspian Buster)FHEM+Homebridge
HMLAN für Homematic
Z-Wave USB Stick
Shelly Devices
Fritz!Box 7590Ax

maddinthebrain

Früher gab es mal was auf https://www.froggit.de vielleicht haben die noch was.
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

Jens_B

Zitat von: maddinthebrain am 17 Juni 2020, 13:55:53
Früher gab es mal was auf https://www.froggit.de vielleicht haben die noch was.

Die haben eine komplette "Kombiaussenstation" (WH1080SE) als Ersatzteil (https://www.froggit.de/product_info.php?info=p337_wh1080-se-ersatz--all-in-one--ausseneinheit.html) , leider aber nicht den einzelnen Sender der Alten Aussenstation.
Die Kombistation taugt so wie abgebildet IMHO nix, da die Windrose unten ziemlich dicht am Masten hängt. Heißt der Mast beeinflusst die Windrichtungsanzeige.
Aber vielleicht reicht es ja, ich werde es für 80 Euro auf einen Versuch ankommen lassen.
RaspberryPi 4 (Raspian Buster)FHEM+Homebridge
HMLAN für Homematic
Z-Wave USB Stick
Shelly Devices
Fritz!Box 7590Ax

gent

Ich hänge mich mal an den Eintrag hier mit dran, obwohl schon älter.

Ich habe seit kurzem einen froggit Wetterserver ( https://www.froggit.de/product_info.php?language=de&info=p410_dp1500-wi-fi-wetterserver-usb-dongle.html ) der wohl ein GW1000 ist, mit ein paar zusätzlichen Sensoren. Alles soweit funktionsfähig und soweit auch in weewx eingebunden hiermit ( https://github.com/gjr80/weewx-gw1000/wiki/Quick-Start-Guide )

Ich habe auch bereits die weewx mqtt extension installiert ( https://github.com/matthewwall/weewx-mqtt ) und würde damti auch Werte in fhem bekommen.

Was ich aber nicht checke ist: An welcher Stelle konfiguriert man nun die Werte mit den Einheiten, die man in fhem dann in den Readings haben will?

Wenn ich den gw1000 Treiber starte, bekomme ich diese Ausgabe:

2021-06-08 20:20:12 CEST (1623176412): UV: 0, dateTime: 1623176412, dayRain: 7.4, daymaxwind: 7.1, extraHumid1: 84, extraHumid2: 91, extraTemp1: 18.3, extraTemp2: 18.9, inHumidity: 56, inTemp: 23.4, luminosity: 108.0, monthRain: 31.8, outHumidity: 92, outTemp: 16.8, pressure: 975.3, rain: None, rainRate: 1.8, relbarometer: 1020.1, soilMoist1: 34, stormRain: 7.4, usUnits: 17, uvradiation: 0.5, weekRain: 11.2, wh31_ch1_batt: 0, wh31_ch1_sig: 4, wh31_ch2_batt: 0, wh31_ch2_sig: 4, wh51_ch1_batt: 1, wh51_ch1_sig: 4, wh65_batt: 0, wh65_sig: 4, windDir: 5, windGust: 0.0, windSpeed: 0.0, yearRain: 65.3


Wenn ich dann weewxd starte, dann bekomme ich diese Werte:

LOOP:   2021-06-08 20:47:53 CEST (1623178073) altimeter: 30.165662812819864, appTemp: 64.45375863158243, barometer: 30.152243521027685, cloudbase: 1666.6115152216012, dateTime: 1623178073, daymaxwind: 7.1, dayRain: 0.2992125984251969, dewpoint: 59.953537391732254, extraHumid1: 85, extraHumid2: 92, extraTemp1: 64.58000000000001, extraTemp2: 65.30000000000001, heatindex: 61.988, humidex: 69.44601148800837, inDewpoint: 57.404138028970664, inHumidity: 56, inTemp: 74.12, luminosity: 155.0, maxSolarRad: 7.79358717496755, monthRain: 1.2598425196850394, outHumidity: 94, outTemp: 61.7, pressure: 28.806502806250002, rain: None, rainRate: 0.0, relbarometer: 1020.3, soilMoist1: 34, stormRain: 0.2992125984251969, usUnits: 1, UV: 0, uvradiation: 0.5, weekRain: 11.4, wh31_ch1_batt: 0, wh31_ch1_sig: 4, wh31_ch2_batt: 0, wh31_ch2_sig: 4, wh51_ch1_batt: 1, wh51_ch1_sig: 4, wh65_batt: 0, wh65_sig: 4, windchill: 61.7, windDir: 163, windGust: 1.1184709259696521, windSpeed: 0.8947767407757218, yearRain: 2.5787401574803153


In fhem (per mqtt) sehe ich dann so etwas im Reading "loop":

{"dateTime": "1622569471.0", "inTemp_C": "23.00", "outTemp_C": "25.10", "inHumidity": "40.00", "outHumidity": "29.00", "pressure_mbar": "969.40", "relbarometer": "1014.2", "luminosity": "15159.0", "uvradiation": "18.7", "UV": "1.0", "extraTemp1_C": "22.70", "extraTemp2_C": "27.30", "extraHumid1": "29.00", "extraHumid2": "23.00", "soilMoist1_centibar": "37.0", "rain_mm": "0.00", "stormRain_mm": "0.0", "rainRate_mm_per_hour": "0.00", "dayRain_mm": "0.0", "weekRain": "0.0", "monthRain_mm": "0.00", "yearRain_mm": "33.5", "windDir": "164.0", "windSpeed_mps": "0.8000019883927573", "windGust_mps": "1.0000024854909466", "daymaxwind": "2.0", "wh65_batt": "0.0", "wh31_ch1_batt": "0.0", "wh31_ch2_batt": "0.0", "wh51_ch1_batt": "1.0", "wh65_sig": "4.0", "wh31_ch1_sig": "4.0", "wh31_ch2_sig": "4.0", "wh51_ch1_sig": "4.0", "altimeter_mbar": "1015.19", "appTemp_C": "23.58", "barometer_mbar": "1013.35", "cloudbase_meter": "2793.13", "dewpoint_C": "5.80", "heatindex_C": "24.42", "humidex_C": "25.10", "inDewpoint_C": "8.66", "windchill_C": "25.100000000000005", "hourRain_mm": "0.0", "rain24_mm": "0.00", "usUnits": "17.0"}

(natürlich stimmen jetzt die Werte nicht überein, weil ich das zu unterschiedlichen Zeiten protokolliert habe, aber man sieht z.B. schon, dass in der weewxd-LOOP z.B. Werte vorhanden sind, die vom GW1000 wohl gar nicht kommen (z.B. altimeter: 30.165662812819864) und das auch die Einheiten bei den Temperaturen eher in °F sind als in °C obwohl in der weex.conf die Einheiten auf METRIC stehen und auch der Treiber seine Werte wohl in der korrekten Einheit liefert...

Wenn man sich die mqtt-Ausgabe in fhem ansieht, dann fehlen hier Werte (z.B die altimeter) und es gibt Werte, die der Treiber gar nicht liefert (z.B. cloudbase)

Ist vielleicht etwas "off-topic", aber ich wüsste schon gerne, wieso das so ist?

Wäre irgendwer bereit, mir hier zu helfen?

LG, Holger

fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

maddinthebrain

Hallo,

Ich meine, dass musst du schon in der WeeWX.conf definieren. Ich dort ist glaube ich sogar kommentiert. Und auf www.weewx.com ist ne gute Doku für sowas. Ich muss mal in Ruhe kramen, dann kann ich dir mal meine weewx.conf posten. Ich übertrage die Werte von weewx nach fhem per mqtt. Und das geht sehr zuverlässig. Im Forum hatte ich dazu glaube ich auch schon was gepostet. Ich finde nur gerade das nicht.

Viele Grüße

Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

gent

Hallo Martin,

klar, die Doku kenne ich natürlich, aber der Zusammenhang fehlt mir. Da weewx ja bei mir nur eine Art Gateway zu mqtt (und damit fhem) ist, sind hier einige Konfigurationen im Spiel, die Werte beeinflussen können:

- der GW1000 Treiber
- die weewx.conf
- die Readings in fhem

Alternativ, wäre natürlich irgendwas in fhem ohne weewx auch eine Alternative für mich (aber nicht die wunderground Module o.ä, weil ich dann keine Daten der zusätzlichen Sensoren habe)

Was würde denn notwendig sein, damit die Daten des dp1500 / gw1000 irgendwie direkt in fhem als reading landen?

Viele Grüße
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

maddinthebrain

#26
Hallo,

soweit ich mich entsinnen kann, war es so, dass ich noch in weewx.conf für MQTT definiert habe, welche Einheiten benutzt werden. Somit werden direkt die Werte in der richtigen Einheit gesendet. Das sind ja nur Zahlenwerte ohne Einheit.

Weiterhin hatte ich noch das hier eingerichtet. https://github.com/weewx/weewx/wiki/mqtt. Da das mit weewx-fhem nicht gescheit funktioniert hatte. Es ist schon so lange her, dass ich mich nicht mehr im Detail erinnere, erst wieder so nach und nach.

Bei weewx-mqtt musst du auch die Einheiten angeben. Standard ist glaube ich nämlich die Imperial Einheiten und nicht die metric.

Das war kein Hexenwerk. Etwas optimieren muss man ggf. falls, weil durch die Umrechnung doch sehr viele Nachkommastellen mit übertragen werden. ist aber alles unter dem Link beschrieben.

Viele GRüße

Martin
Viele Grüße
Martin

Futro mit Proxmox und Debian: FHEM, Signalduino 433MHz & 868MHz, MAX!, WeeWX, FHEM2FHEM,
Raspi 4 mit ConBee mit deCONZ und Phoscon für ZigBee Aktoren und Sensoren

kjmEjfu

Zitat von: gent am 08 Juni 2021, 23:28:21
Hallo Martin,

klar, die Doku kenne ich natürlich, aber der Zusammenhang fehlt mir. Da weewx ja bei mir nur eine Art Gateway zu mqtt (und damit fhem) ist, sind hier einige Konfigurationen im Spiel, die Werte beeinflussen können:

- der GW1000 Treiber
- die weewx.conf
- die Readings in fhem

Alternativ, wäre natürlich irgendwas in fhem ohne weewx auch eine Alternative für mich (aber nicht die wunderground Module o.ä, weil ich dann keine Daten der zusätzlichen Sensoren habe)

Dann schau dir https://www.loxwiki.eu/display/LOXBERRY/FOSHKplugin+-+generic+version an. Wichtig: läuft ohne Loxone
Migriere derzeit zu Home Assistant

gent

Zitat von: kjmEjfu am 01 Juli 2021, 10:26:22
Dann schau dir https://www.loxwiki.eu/display/LOXBERRY/FOSHKplugin+-+generic+version an. Wichtig: läuft ohne Loxone

Habe ich mal ausprobiert, aber ich bekomme da leider keine Werte. Sollte eigentlich ein raw-log geben, aber das füllt sich nicht. Und auch auf dem mqtt broker kommt nix an. Schade. Das klang echt vielversprechend.
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto