[Patch] 14_CUL_TCM97001.pm - Ergänzung für Ventus W174

Begonnen von HomeAuto_User, 17 September 2017, 22:34:09

Vorheriges Thema - Nächstes Thema

HomeAuto_User

Hallo,

wir haben den Ventus W174 eingearbeitet. Dieser wird nun erkannt und ausgewertet.
Zusätzlich haben wir einen "Patch" vorgenommen in einer Abfrage für die ABS700 Erkennung. --> Forum

Da ich die Änderung hier zum ersten mal teile bzw. nutze im FHEM Development Bereich, so habe ich sicherhaltshalber parallel einen sichtbaren Commit bei Github erstellt.
Github --> Ventus W174 | ABS700 Patch

Anpassungen in 14_CUL_TCM97001.pm
# All suported models
#
my %models = (
    "TCM97..."    => 'TCM97...',
    "ABS700"      => 'ABS700',
    "TCM21...."   => 'TCM21....',
    "Prologue"    => 'Prologue',
    "Rubicson"    => 'Rubicson',
    "NC_WS"       => 'NC_WS',
    "GT_WT_02"    => 'GT_WT_02',
    "AURIOL"      => 'AURIOL',
    "PFR_130"      => 'PFR_130',
    "Type1"       => 'Type1',
    "Mebus"       => 'Mebus',
    "Eurochron"   => 'Eurochron',
    "KW9010"      => 'KW9010',
    "Unknown"     => 'Unknown',
    "W174"        => 'W174',
);


sub
CUL_TCM97001_Initialize($)
{
  my ($hash) = @_;

  $hash->{Match}     = "^s.....";
  $hash->{DefFn}     = "CUL_TCM97001_Define";
  $hash->{UndefFn}   = "CUL_TCM97001_Undef";
  $hash->{ParseFn}   = "CUL_TCM97001_Parse";
  $hash->{AttrList}  = "IODev do_not_notify:1,0 ignore:0,1 showtime:1,0 " .
                        "$readingFnAttributes " .
                        "model:".join(",", sort keys %models);

  $hash->{AutoCreate}=
        {   
            "CUL_TCM97001_Unknown.*" => { GPLOT => "", FILTER => "%NAME", autocreateThreshold => "2:10" },
            "CUL_TCM97001.*" => { ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},
            "Prologue_.*" => { ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},
            "Mebus_.*" => { ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},
            "NC_WS.*" => {  ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},
            "ABS700.*" => {  ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},
            "Eurochron.*" => {  ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},
            "TCM21....*" => {  ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},
            "TCM97..._.*" => {  ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},
            "GT_WT_02.*" => {  ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},
            "Type1.*" => {  ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},
            "Rubicson.*" => {  ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},   
            "AURIOL.*" => {  ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},
            "PFR_130.*" => {  ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},
            "KW9010.*" => {  ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:180"},     
            "TCM97001.*" => {  ATTR => "event-on-change-reading:.*", GPLOT => "temp4hum4:Temp/Hum,", FILTER => "%NAME", autocreateThreshold => "2:340"},
            "W174.*" => {  ATTR => "event-min-interval:.*:300 event-on-change-reading:.*", GPLOT => "rain4:Rain,", FILTER => "%NAME", autocreateThreshold => "2:180"},
            "Unknown_.*" => { autocreateThreshold => "2:10"}
        };
}


#####################################
sub
CUL_TCM97001_Undef($$)
{
  my ($hash, $name) = @_;
  delete($modules{CUL_TCM97001}{defptr}{$hash->{CODE}})
     if(defined($hash->{CODE}) &&
        defined($modules{CUL_TCM97001}{defptr}{$hash->{CODE}}));
  return undef;
}

### inserted by elektron-bbs/HomeAuto_User for rain gauge Ventus W174
# Checksum for Rain Gauge VENTUS W174 Protocol Auriol
# n8 = ( 0x7 + n0 + n1 + n2 + n3 + n4 + n5 + n6 + n7 ) & 0xf
sub checksum_W174 {
  my $msg = shift;
  Log3 "CUL_TCM97001: ", 4 , "CUL_TCM97001: W174 checksum calc for: $msg";
  my @a = split("", $msg);
  my $bitReverse = undef;
  my $x = undef;
  foreach $x (@a) {
     my $bin3=sprintf("%04b",hex($x));
    $bitReverse = $bitReverse . reverse($bin3);
  }
  my $hexReverse = unpack("H*", pack ("B*", $bitReverse));
  my @aReverse = split("", $hexReverse);                      # Split reversed a again
  my $CRC = (7 + hex($aReverse[0])+hex($aReverse[1])+hex($aReverse[2])+hex($aReverse[3])+hex($aReverse[4])+hex($aReverse[5])+hex($aReverse[6])+hex($aReverse[7])) & 15;
  if ($CRC == hex($aReverse[8])) {
      Log3 "CUL_TCM97001: ", 4 , "CUL_TCM97001: W174 checksum ok $CRC == ".hex($aReverse[8]);
      return TRUE;
  } else {
      #Log3 "CUL_TCM97001: ", 3 , "CUL_TCM97001: W174 ERROR - checksum $CRC != ".hex($aReverse[8]);
      return FALSE;
  }
}

#
# CRC Check for TCM 21....
#


      $def = $modules{CUL_TCM97001}{defptr}{$deviceCode};
        if($def) {
          $name = $def->{NAME};
        }         
        if(!$def) {
            Log3 $name, 2, "CUL_TCM97001 Unknown device $deviceCode, please define it";
            return "UNDEFINED $model" . substr($deviceCode, rindex($deviceCode,"_")) . " CUL_TCM97001 $deviceCode";
        }
        if (defined($humidity)) {
          if ($humidity >= 20) {
            $hashumidity = TRUE;
          } 
        } 
        $hasbatcheck = TRUE;
        $haschannel = TRUE;
        $packageOK = TRUE;
        $hasmode = TRUE;
       
        $readedModel=$model;
        } else {
          $name = "Unknown";
        }
    }
   
### inserted by elektron-bbs/HomeAuto_User for rain gauge Ventus W174
if (checksum_W174($msg) == TRUE && ($readedModel eq "Unknown" || $readedModel eq "W174")) {
       # VENTUS W174 Rain gauge
       # Documentation also at http://www.tfd.hu/tfdhu/files/wsprotocol/auriol_protocol_v20.pdf
       # * Format for Rain
       # *   AAAAAAAA vXXB CCCC DDDD DDDD DDDD DDDD EEEE FFFF FFFF
       # *   RC            Type Rain                Checksum
       # *   A = Rolling Code /Device ID
       # *   B = Message type (xyyx = NON temp/humidity data if yy = '11')
       # *   v = 0: Sensor's battery voltage is normal, 1: Battery voltage is below ~2.6 V.
       # *  XX = 11: Non temperature/humidity data. All other type data packets have this value in this field.
       # *   C = fixed to 1100 for rain gauge
       # *   D = Rain (bitvalue * 0.25 mm)
       # *   E = Checksum
       # *   F = 0000 0000 (W174!!!)
my @a = split("", $msg);
         my $bitReverse = undef;
         my $bitUnreverse = undef;
         my $x = undef;
         my $bin3;
foreach $x (@a) {
            $bin3=sprintf("%024b",hex($x));
            $bitReverse = $bitReverse . substr(reverse($bin3),0,4);
            $bitUnreverse = $bitUnreverse . sprintf( "%b", hex( substr($bin3,0,4) ) );
         }
         my $hexReverse = unpack("H*", pack ("B*", $bitReverse));
         my @aReverse = split("", $hexReverse); # Split reversed a again
         Log3 $hash,4, "CUL_TCM97001: W174 original-msg: $msg , reversed nibbles: $hexReverse";
         Log3 $hash,4, "CUL_TCM97001: W174 nibble 2: $aReverse[2] , nibble 3: $aReverse[3]";
         # Nibble 2 must be x110 for rain gauge
         # Nibble 3 must be 0x03 for rain gauge
         #if ((hex($aReverse[2]) & 0b0110) == 6 && $aReverse[3] == 3) {
         if ((hex($aReverse[2]) >> 1) == 3 && $aReverse[3] == 0x03) {
            Log3 $hash,4, "CUL_TCM97001: W174 detected rain gauge message ok";
            $batbit = $aReverse[2] & 0b0001; # Bat bit normal=0, low=1
            Log3 $hash,4, "CUL_TCM97001: W174 battery bit: $batbit";
            $batbit = ~$batbit & 0x1; # Bat bit negation
            $hasbatcheck = TRUE;
            my $rainticks = hex($aReverse[4]) + hex($aReverse[5]) * 16 + hex($aReverse[6]) * 256 + hex($aReverse[7]) * 4096;
            Log3 $hash,4, "CUL_TCM97001: W174 rain gauge swing count: $rainticks";
            $rain = ($rainticks + ($rainticks & 1)) / 4; # 1 tick = 0,5 l/qm
            Log3 $hash,4, "CUL_TCM97001: W174 rain total: $rain l/qm";
            $hasrain = TRUE;
            $model="W174";
            $def = $modules{CUL_TCM97001}{defptr}{$deviceCode};
            if($def) {
               $name = $def->{NAME};
            }         
            if(!$def) {
               Log3 $name, 2, "CUL_TCM97001 Unknown device $deviceCode, please define it";
               return "UNDEFINED $model" . substr($deviceCode, rindex($deviceCode,"_")) . " CUL_TCM97001 $deviceCode";
            }
            $readedModel=$model;
$packageOK = TRUE;
}
}
   
    if (checkCRC($msg) == TRUE && ($readedModel eq "Unknown" || $readedModel eq "TCM21....")) {


  if ($packageOK == TRUE) {
    # save lastT, calc rainMM sum for day and hour
    my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
    my $lastDay=$mday;
    my $lastHour=$hour;
    my $rainSumDay=0;
    my $rainSumHour=0;
   
    if($def) {
      $def->{lastT} = $now;
    }
    readingsBeginUpdate($def);
    my ($val, $valH, $state);
   
    if (defined($temp)) {
    $msgtype = "temperature";
    $val = sprintf("%2.1f", ($temp) );
    $state="T: $val";
#    if ($hashumidity == TRUE) {


      #zusätzlich Daten für Wetterstation
      if ($hasrain == TRUE) {
     ### inserted by elektron-bbs/HomeAuto_User
         my $rain_old = ReadingsVal($name, "rain", "unknown");
         if ($rain != $rain_old) {
            readingsBulkUpdate($def, "israining", "yes");
         } else {
            readingsBulkUpdate($def, "israining", "no");
         }
          readingsBulkUpdate($def, "rain", $rain );
          $state = "R: $rain";
          $hasrain = FALSE;
      }


Bitte diese Änderung einarbeiten Björn und freigeben für das nächste Update.
MfG
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

krikan

@HomeAuto_User:
Bitte Patches im zugehörigen Forenbereich laut fhem.de/MAINTAINER.txt (Hinweis für Entwickler und https://wiki.fhem.de/wiki/How_to_write_a_patch) posten. Habe den Thread deshalb verschoben.

Der Github-Link führt zu einem privaten Read-Only Repo. Es soll ein Mirror von svn.fhem.de/fhem/trunk sein, was ich nicht kontrolliert habe. Das (einzige) offizielle Repo von FHEM ist über https://svn.fhem.de/ erreichbar.

Gruß, Christian

HomeAuto_User

Hallo,

da ich mich erstmal in SVN hereinfuchsen musste, so folgt heute die Patch-Datei.
Ich hoffe das nimmt nun seinen richtigen Lauf ;-)

MfG
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

Thorsten.N

Hallo,

ich habe das Modul gepatcht und es wird auch sofort ein neues Gerät angelegt. Dafür schon mal Danke. Nun aber mein Problem:

Ich bekomme fleißig alle 90 Sekunden Werte rein, allerdings sobal ich die Wippe manuel einmal bewege, kommt danach nie wieder ein Wert. An meinen nanoCUL Einstellungen kann es doch nicht liegen, oder?

Was kann ich da noch ausprobieren? Jemand eine Idee?

Gruß
Thorsten

i-b-z

Hallo,
mein W174 verhält sich auch wie deiner,  Thorsten, einmal die Wippe betätigen und alles friert ein.
Mit Verbose=5 für den W174 finde ich im Logfile folgende Fehlermeldung:
2018.04.16 19:30:45 4: nanoCUL433: CUL_TCM97001 W174_208 208 (D06C3000E030) length: 12 RSSI: -50
2018.04.16 19:30:45 4: nanoCUL433: CUL_TCM97001 Parse Name: W174_208 , devicecode: CUL_TCM97001_208 , Model defined: W174
2018.04.16 19:30:45 4: nanoCUL433: CUL_TCM97001 W174_208 old rain 0, age 1, new rain 3, diff rain 3.0
2018.04.16 19:30:45 4: nanoCUL433: CUL_TCM97001 W174_208 max difference rain 1.1 l
2018.04.16 19:30:45 3: nanoCUL433: CUL_TCM97001 W174_208 ERROR - Rain diff too large (old 0, new 3, diff 3.0)
2018.04.16 19:30:45 4: nanoCUL433: CUL_TCM97001 W174_208 208 (D06C3000E02F) length: 12 RSSI: -50.5
2018.04.16 19:30:45 4: nanoCUL433: CUL_TCM97001 Parse Name: W174_208 , devicecode: CUL_TCM97001_208 , Model defined: W174
2018.04.16 19:30:45 4: nanoCUL433: CUL_TCM97001 W174_208 old rain 0, age 0, new rain 3, diff rain 3.0
2018.04.16 19:30:45 4: nanoCUL433: CUL_TCM97001 W174_208 max difference rain 1.1 l
2018.04.16 19:30:45 3: nanoCUL433: CUL_TCM97001 W174_208 ERROR - Rain diff too large (old 0, new 3, diff 3.0)

Wo kann ich denn die max difference höher setzten, oder was ist falsch?

ttiger47

Hallo,

ich habe die 14_CUL_TCM97001.pm geändert.
Zuerst habe ich aber das

attr global exclude_from_update 14_CUL_TCM97001.pm

für das device global gesetzt.

In der 14_CUL_TCM97001.pm habe ich nach

$maxDiffRain = sprintf("%.1f", $maxDiffRain + 0.05);

gesucht und in

$maxDiffRain = sprintf("%.1f", $maxDiffRain + 10.05);

geändert.

Nach dem ich in der Kommandozeile ein
update
durchgeführt habe, läuft man W174 wieder.

Gruß Thomas

Tom71

#6
Hallo,
ich habe nun auch den W174 im Einsatz. Fhem hat ihn schnell erkannt und eingefügt.
Nun habe ich von Hand etwas Wasser in den Sensor gekippt und scheinbar etwas durcheinander gebracht.

2019.06.07 22:16:11 4: nanoCUL: CUL_TCM97001 Rainsensor 145 (916C84002007) length: 12 RSSI: -70.5
2019.06.07 22:16:11 4: nanoCUL: CUL_TCM97001 Parse Name: Rainsensor , devicecode: CUL_TCM97001_145 , Model defined: W174
2019.06.07 22:16:11 4: nanoCUL: CUL_TCM97001 Rainsensor old rain 0.5, age 0, new rain 8.25, diff rain 7.8
2019.06.07 22:16:11 4: nanoCUL: CUL_TCM97001 Rainsensor max difference rain 1.1 l
2019.06.07 22:16:11 3: nanoCUL: CUL_TCM97001 Rainsensor ERROR - Rain diff too large (old 0.5, new 8.25, diff 7.8)


Muss ich nun den Sensor wieder zurücksetzen? Oder kann ich das anders bewerkstelligen?

Vielen Dank

Update: Ich habe es mit einem setreading Rainsensor rain 8.0 wieder gerade gebogen. Nur schade, dass ich den Fehler gar nicht gesehen hätte.
Homematic | RaspberryMatic

HomeAuto_User

Das Modul hat noch einige ,,Macken". Es wäre schön, wenn eingereichte Patches eingespielt werden oder man eine Einigung findet, anderen Usern diese ,,Fehlverhalten" zu korrigieren. Vorschlag meinerseits, das man vielleicht mit Zustimmung des Maintainer einen 2. Verantwortlichen bestimmt um nicht gegen die Regeln zu verstoßen.


Gesendet von iPhone mit Tapatalk Pro
"Developer" heißt nicht, das man alles wissen kann!
- FHEM v5.9 | Rasberry PI 3
- radino CC1101 433Mhz (SIGNALduino)| - radino CC1101 868Mhz (CUL) | nano 433Mhz (SIGNALduino) - Sensoren: purer Dschungel querbeet

Tom71

Hier sollten wir was tun. Nach der Regenmenge heute hier in Berlin hat der Sensor versagt :-( Da kam einiges runter.
Homematic | RaspberryMatic

Ralf9

Die maxDiffRain sollte per Attribut konfigurierbar gemacht werden.

Ist hier sonst noch was offen?

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

Ralf9

Wenn nichts dagegen spricht, werde ich es so einbauen:

  $hash->{AttrList}  = ...
                        "max-diff-rain:0,1,2,3,4,5,6,7,8,9,10,15,20,25,30,35,40,45,50 ".


                  my $maxDiffRain = AttrVal($name, "max-diff-rain", 0);
                  if ($maxDiffRain) {
                     $maxDiffRain += $timeSinceLastUpdate / 60; # 1.0 Liter/Minute + maxDiffRain
                     $maxDiffRain = sprintf("%.1f", $maxDiffRain + 0.05); # round 0.1
                     Log3 $hash, 4, "$iodev: CUL_TCM97001 $name max difference rain $maxDiffRain l";
                     if ($diffRain > $maxDiffRain) {
                        Log3 $hash, 3, "$iodev: CUL_TCM97001 $name ERROR - Rain diff too large (old $oldRain, new $rain, diff $diffRain)";
                        return "";
                     }
                  }


Die maxDiffRain Abfrage ist dann per Default nicht aktiv, da sie wegen der Checksumme eigentlich nicht notwendig sein sollte.

Gruß Ralf
FHEM auf Cubietruck mit Igor-Image, SSD und  hmland + HM-CFG-USB-2,  HMUARTLGW Lan,   HM-LC-Bl1PBU-FM, HM-CC-RT-DN, HM-SEC-SC-2, HM-MOD-Re-8, HM-MOD-Em-8
HM-Wired:  HMW_IO_12_FM, HMW_Sen_SC_12_DR, Selbstbau IO-Module HBW_IO_SW
Maple-SIGNALduino, WH3080,  Hideki, Id 7

micomat

#11
Hallo zusammen,

kann mir jemand sagen wieviel mm bzw L/qm der Wert "Rain" angibt?
Ich habe den Sensor W174 erfolgreich eingebunden, nach ein paar händischen Kippungen zeigt der Wert R: 3.5 an.
Update: ist das vielleicht schon l/m?

Danke :)

Synology DS218+ with fhem+iobroker in docker, 2x RasPi w. ser2net, CUL433+868, IT, EGPM2LAN, THZ/LWZ, FB_Callmonitor, HMS100TF, Homematic, 2x TX3-TH, Pushover, USB-IR-SML-Head, SONOS, GHoma, MBus, KLF200

kabanett

Hallo zusammen,
ich hoffe es fühlt sich hier noch jemand zuständig ;)

Ich habe den W174 über ein halbes Jahr in Betrieb und er funktioniert soweit gut. Im Plot kann ich auch schön alles ablesen usw..

Nun wollte ich Daten aus dem Device in einem DOIF für die Bewässerung nutzen und musste feststellen, dass die implementierten Stunden/Tagesmenge- Berechnungen scheinbar nicht funktioniert. Muss hier noch etwas eingestellt werden?

Hier mal ein List des Devices:
Internals:
   .lastTimeisraining 1592139408.1423
   .lastTimerain 1592139371.38304
   .lastTimestate 1592139371.38304
   CODE       CUL_TCM97001_226
   CUL433_MSGCNT 2759
   CUL433_RAWMSG sE26CBA60C0F5;  480: 9040
   CUL433_TIME 2020-06-14 15:06:39
   DEF        CUL_TCM97001_226
   FUUID      5daf4564-f33f-0fc8-34af-5a9fc606218483f3
   LASTInputDev CUL433
   MSGCNT     2759
   NAME       Regenmesser
   NR         248
   RSSI       -79.5
   STATE      R: 407.25
   TYPE       CUL_TCM97001
   lastH      0
   lastT      1592139999
   .attraggr:
   .attreocr:
     .*
   .attrminint:
     .*:1800
   READINGS:
     2019-10-22 20:08:09   battery         ok
     2019-10-22 20:08:09   batteryState    ok
     2020-06-14 15:06:39   israining       no
     2020-06-14 15:06:39   rain            407.25
     2020-02-02 16:06:26   rain_calc_all   cH: 0.6 lH: 0.2 cD: 1.3 lD: 127.5 IR: yes Rnow: 1.1 Rdif: 0.600000000000023
     2020-02-02 16:06:26   rain_calc_d_curr 1.3
     2020-02-02 13:20:33   rain_calc_d_last 127.5
     2020-02-02 13:20:33   rain_calc_d_start 127.5
     2020-02-02 13:20:33   rain_calc_d_trig_tsecs 1580711400
     2020-02-02 16:06:26   rain_calc_h_curr 0.6
     2020-02-02 15:33:08   rain_calc_h_last 0.2
     2020-02-02 15:33:08   rain_calc_h_start 128.2
     2020-02-02 15:33:08   rain_calc_h_trig_tsecs 1580657400
     2020-02-02 16:06:26   rain_calc_now_diff 0.600000000000023
     2020-02-02 16:06:26   rain_calc_now_rate 1.1
     2020-02-02 16:06:26   rain_calc_now_value 128.8
     2020-02-02 16:06:26   rain_calc_tsecs 1580655986
     2019-11-08 23:55:34   statRain        Hour: 0 Day: 0 Month: 0 Year: 0 (since: 2019-11-08_23:55:34 )
     2020-06-14 15:06:39   state           R: 407.25
Attributes:
   event-min-interval .*:1800
   event-on-change-reading .*
   model      W174
   room       Garten,Wetter


Gruß
Hardware: Fhem auf Raspi3 / selbtsbau CUL 433 und 868 MHz / MAX Thermostate / IT-Dosen nur noch Weihnachten / diverse ESP Aktoren/Sensoren / X10 Fernbedienung / Shelly 1, 1L, 2, 2.5, Dimmer, RGB2 / LaCrosseGateway / Zigbee2531 / diverse Zigbee Aktoren/Sensoren

remo

Ich würde mich der Frage von kabanett anschließen.