Autor Thema: WH1080 Reichweite / Empfangsmöglichkeiten  (Gelesen 1705 mal)

Offline pejonp

  • Sr. Member
  • ****
  • Beiträge: 681
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #15 am: 20 Mai 2017, 18:38:55 »
@ranseyer

Wenn du crc_aus=2 einstellst ist ja die Erkennung ok. Ich hoffe du kannst damit leben.;-)
Pejonp
BannanaPi+JeeLink (RFM69CW) 868MHz:WT440XH/WT470+TFA 30.3144.IT+TX37-IT+EMT7110+FS20
SignalDuino(CC1101):Bresser+HamaTS33C+WS-0101(868MHz WH1080)
MAX!:HM-MOD-UART:Rauchmelder HM-SEC-SD
VITOSOLIC 200 + RESOL VBUS-LAN
SolarEdge SE5K(TCP 24 RS485)+Sonnenbatterie ComfortS(Vera3)+TD3511+DRT710M(RS485

Offline SabineT

  • Full Member
  • ***
  • Beiträge: 158
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #16 am: 20 Mai 2017, 19:34:00 »
Ich hab übrigens bei mir event-min-interval auf 240 eingestellt, damit das Log nicht so voll geschrieben wird. Zumindest für windSpeed und windDirectionDegree eigentlich eine eigene Funktion schreiben um die Werte zu mitteln (ist bei der Windrichtung nicht ganz so einfach, weil ja die normale Average Funktion nicht verwendbar ist), wobei da aber halt nicht einfach die letzen x Werte dazu genommen werden dürfen sondern die Werte der letzten x Minuten, bei der Richtung auch noch von der Windgeschwindigkeit abhängig gewichtet.

Offline SabineT

  • Full Member
  • ***
  • Beiträge: 158
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #17 am: 23 Mai 2017, 22:10:27 »
es empfiehlt sich auch ein userReading für den Regen anzulegen:
attr WH1080 userReadings rain_total monotonic { ReadingsVal("WH1080","rain",0);; }weil "rain" auch mal reseten kann, ist bei meiner Station heute passiert.
Besser wäre natürlich, wenn das gleich im SD_WS09 Modul abgefangen würde...

Offline pejonp

  • Sr. Member
  • ****
  • Beiträge: 681
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #18 am: 24 Mai 2017, 17:33:27 »
@SabineT

Vorschläge wie das rain-problem gelöst werden könnte ?

Pejonp
BannanaPi+JeeLink (RFM69CW) 868MHz:WT440XH/WT470+TFA 30.3144.IT+TX37-IT+EMT7110+FS20
SignalDuino(CC1101):Bresser+HamaTS33C+WS-0101(868MHz WH1080)
MAX!:HM-MOD-UART:Rauchmelder HM-SEC-SD
VITOSOLIC 200 + RESOL VBUS-LAN
SolarEdge SE5K(TCP 24 RS485)+Sonnenbatterie ComfortS(Vera3)+TD3511+DRT710M(RS485

Offline SabineT

  • Full Member
  • ***
  • Beiträge: 158
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #19 am: 24 Mai 2017, 19:31:40 »
@SabineT

Vorschläge wie das rain-problem gelöst werden könnte ?

Pejonp
welches rain-problem meinst du?

Offline pejonp

  • Sr. Member
  • ****
  • Beiträge: 681
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #20 am: 24 Mai 2017, 20:22:18 »
es empfiehlt sich auch ein userReading für den Regen anzulegen:
attr WH1080 userReadings rain_total monotonic { ReadingsVal("WH1080","rain",0);; }weil "rain" auch mal reseten kann, ist bei meiner Station heute passiert.
Besser wäre natürlich, wenn das gleich im SD_WS09 Modul abgefangen würde...

Das hier.

Pejonp
BannanaPi+JeeLink (RFM69CW) 868MHz:WT440XH/WT470+TFA 30.3144.IT+TX37-IT+EMT7110+FS20
SignalDuino(CC1101):Bresser+HamaTS33C+WS-0101(868MHz WH1080)
MAX!:HM-MOD-UART:Rauchmelder HM-SEC-SD
VITOSOLIC 200 + RESOL VBUS-LAN
SolarEdge SE5K(TCP 24 RS485)+Sonnenbatterie ComfortS(Vera3)+TD3511+DRT710M(RS485

Offline SabineT

  • Full Member
  • ***
  • Beiträge: 158
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #21 am: 24 Mai 2017, 21:27:38 »
Ich meine da, man müsste im SD_WS09 Modul die Funktion vom "monotonic" nachbilden.

Sinngemäß könnte ich mir das so vorstellen, hab das aber nicht getestet:
if ($rain < $last_rain) {
  $offset += $last_rain;
}
$rain_reading = $rain + $offset;
$last_rain = $rain;
$rain ist der Wert, den die Wetterstation meldet, $rain_reading dann der Wert für das Reading.
$offset und $last_rain müssten dann natürlich auch gespeichert werden um nach einem Neustart vom fhem nicht wieder bei 0 zu beginnen.
Wie gesagt, nicht getestet, nur mal schnell so hingeschrieben.

Mir reicht da aber jetzt mal mein userReading dafür.

Wichtiger wäre eigentlich, eine Average-Funktion für die Windrichtung. Ich hab mir mal angeschaut, wie das im pywws gelöst ist, aber das ist ja in python geschrieben, das lässt sich dann nicht so einfach in perl nachbilden (zumindest mit meinen perl Kenntnissen). Ein normales average geht da ja nicht, weil das nicht für einen Vektor verwendbar ist.

Offline Neuhier

  • New Member
  • *
  • Beiträge: 39
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #22 am: 25 Juli 2017, 12:06:40 »
Wie kann ich die Tagesmenge Regen auslesen?

So, daß man um 00:00 Uhr den Wert ausliest, vom momentanen Wert ( oder 23:59:59 Uhr ) abzieht und einen neuen Wert erhält.
Hört sich billig an, ist es aber wohl doch nicht.
Rain-total ( s.o. ) ist auch nicht das, was ich suche.

Aus der Beschreibung in Wiki/ Reference werde ich nicht schlau.

Offline SabineT

  • Full Member
  • ***
  • Beiträge: 158
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #23 am: 25 Juli 2017, 19:51:26 »
Wie kann ich die Tagesmenge Regen auslesen?

So, daß man um 00:00 Uhr den Wert ausliest, vom momentanen Wert ( oder 23:59:59 Uhr ) abzieht und einen neuen Wert erhält.
Hört sich billig an, ist es aber wohl doch nicht.
Rain-total ( s.o. ) ist auch nicht das, was ich suche.

Aus der Beschreibung in Wiki/ Reference werde ich nicht schlau.
schau dir mal https://fhem.de/commandref.html#statistics an, da bekommst du dann die Werte für Stunde, Tag, Monat und Jahr (aktuell und davor).
Das schaut dann so aus:
statRain_total       Hour: 0.0 Day: 0.0 Month: 30.7 Year: 85.4 (since: 2017-05-24 )   2017-07-25 21:13:01
statRain_totalLast   Hour: 0.0 Day: 5.1 Month: 50.1 Year: -                           2017-07-25 20:59:55
bzw. wenn du nicht rain_total verwendest dann halt statRain und statRain_Last

Das mit rain_total mache ich, weil bei mir die WH1080 schon mal bei einem Gewitter den Regenzähler zurück gesetzt hat und damit jede Statistik durcheinander kommt...
« Letzte Änderung: 25 Juli 2017, 21:17:17 von SabineT »

Offline Neuhier

  • New Member
  • *
  • Beiträge: 39
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #24 am: 25 Juli 2017, 22:52:41 »
Danke für den Tip/ die Anleitung.

Hat mir heute morgen auch die Statistik verdorben: von 78 schlagartig auf 0.
Mich stört aber schon länger, daß die Werte einfach aufaddiert werden.

Probiere Deinen Vorschlag morgen mal aus.

Offline pejonp

  • Sr. Member
  • ****
  • Beiträge: 681
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #25 am: 16 September 2017, 09:29:48 »
Ich meine da, man müsste im SD_WS09 Modul die Funktion vom "monotonic" nachbilden.
Sinngemäß könnte ich mir das so vorstellen, hab das aber nicht getestet:
if ($rain < $last_rain) {
  $offset += $last_rain;
}
$rain_reading = $rain + $offset;
$last_rain = $rain;
$rain ist der Wert, den die Wetterstation meldet, $rain_reading dann der Wert für das Reading.
$offset und $last_rain müssten dann natürlich auch gespeichert werden um nach einem Neustart vom fhem nicht wieder bei 0 zu beginnen.
....
Hallo SabineT,

kannst du das mal so aufbereiten das ich das ins Modul übernehmen kann. Danke.

pejonp
BannanaPi+JeeLink (RFM69CW) 868MHz:WT440XH/WT470+TFA 30.3144.IT+TX37-IT+EMT7110+FS20
SignalDuino(CC1101):Bresser+HamaTS33C+WS-0101(868MHz WH1080)
MAX!:HM-MOD-UART:Rauchmelder HM-SEC-SD
VITOSOLIC 200 + RESOL VBUS-LAN
SolarEdge SE5K(TCP 24 RS485)+Sonnenbatterie ComfortS(Vera3)+TD3511+DRT710M(RS485

Offline SabineT

  • Full Member
  • ***
  • Beiträge: 158
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #26 am: 16 September 2017, 14:38:48 »
Hallo SabineT,

kannst du das mal so aufbereiten das ich das ins Modul übernehmen kann. Danke.

pejonp
Ich hab mal versucht das aktuelle 14_SD_WS09.pm von dev-r33 entsprechend zu erweitern.

Hier dazu das Ergebnis von diff -c
bash-3.2$ diff -c 14_SD_WS09.pm.org 14_SD_WS09.pm
*** 14_SD_WS09.pm.org 2017-09-16 13:40:19.000000000 +0200
--- 14_SD_WS09.pm 2017-09-16 14:24:57.000000000 +0200
***************
*** 382,388 ****
          #Log3 $iohash, 4, "SD_WS09_Wind bft : Ws:$windSpeed_bft  Wg:$windguest_bft " ;
          Log3 $iohash, 4, "SD_WS09_Wind $windstat[5] " ;
           
!           
       
        $hash->{lastReceive} = time();
      $def->{lastMSG} = $rawData;
--- 382,396 ----
          #Log3 $iohash, 4, "SD_WS09_Wind bft : Ws:$windSpeed_bft  Wg:$windguest_bft " ;
          Log3 $iohash, 4, "SD_WS09_Wind $windstat[5] " ;
           
!       
!        # Resets des rain counters abfangen:
!        # wenn der aktuelle Wert < letzter Wert ist, dann fand ein reset statt   
!        # die Differenz "letzer Wert - aktueller Wert" wird dann als offset für zukünftige Ausgaben zu rain addiert
!        # offset wird auch im Reading ".rain_offset" gespeichert
!         my $last_rain = ReadingsVal($hash->{NAME}, "rain", 0);
!         my $rain_offset = ReadingsVal($hash->{NAME}, ".rain_offset", 0);
!         $rain_offset += $last_rain if($rain < $last_rain);
!         my $rain_total = $rain + $rain_offset;
       
        $hash->{lastReceive} = time();
      $def->{lastMSG} = $rawData;
***************
*** 402,407 ****
--- 410,417 ----
            readingsBulkUpdate($hash, "battery", $bat)   if ($bat ne "");
            #zusätzlich Daten für Wetterstation
            readingsBulkUpdate($hash, "rain", $rain );
+           readingsBulkUpdate($hash, ".rain_offset", $rain_offset ); # Zwischenspeicher für den offset
+           readingsBulkUpdate($hash, "rain_total", $rain_total ); # monoton steigender Wert von rain
            readingsBulkUpdate($hash, "windGust", $windguest );
            readingsBulkUpdate($hash, "windSpeed", $windSpeed );
            readingsBulkUpdate($hash, "windGust_kmh", $windguest_kmh );

Fehlermeldung bekomme ich keine im fhem-log, ob bei einem Reset des rain counters der Wetterstation dann rain_total richtig weiter zählt konnte ich aber nicht testen und extra einen Reset provozieren will ich nicht.
Den Originalwert rain lasse ich mit der Änderung aber unangetastet, sollte also meine Änderung nicht richtig arbeiten wird lediglich in rain_total was falsches geschrieben.

lg, Sabine

Offline pejonp

  • Sr. Member
  • ****
  • Beiträge: 681
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #27 am: 16 September 2017, 15:51:24 »
SabineT
Du kannst ja im Modul die bit-Anzahl für Rain verringern. Und wenn es regnet es prüfen. Da brauchst du nichts zurücksetzen.

Pejonp
BannanaPi+JeeLink (RFM69CW) 868MHz:WT440XH/WT470+TFA 30.3144.IT+TX37-IT+EMT7110+FS20
SignalDuino(CC1101):Bresser+HamaTS33C+WS-0101(868MHz WH1080)
MAX!:HM-MOD-UART:Rauchmelder HM-SEC-SD
VITOSOLIC 200 + RESOL VBUS-LAN
SolarEdge SE5K(TCP 24 RS485)+Sonnenbatterie ComfortS(Vera3)+TD3511+DRT710M(RS485

Offline SabineT

  • Full Member
  • ***
  • Beiträge: 158
Antw:WH1080 Reichweite / Empfangsmöglichkeiten
« Antwort #28 am: 16 September 2017, 21:02:05 »
SabineT
Du kannst ja im Modul die bit-Anzahl für Rain verringern. Und wenn es regnet es prüfen. Da brauchst du nichts zurücksetzen.

Pejonp
Naja, ich hab kein Testsystem dafür und am Produktivsystem will ich da keine Experimente machen.
Ausserdem ist der derzeitige Zählerstand von rain 0x478 (aktueller Stand von rain / 0.3). Wenn ich da also auf 11 bit begrenze müsste ich 271,2mm Regen abwarten bis der Zähler überlaufen würde.

 

decade-submarginal