Blitzsensor WH57 oder DP60 in Signalduino

Begonnen von laserrichi, 18 August 2021, 22:21:45

Vorheriges Thema - Nächstes Thema

Ralf9

Ich hab das reading "lightning" zugefügt. Dies wird nur bei einer "count" Änderung aktualisiert.

ZitatLetztendlich interessieren die Blitze pro Tag, evtl. Monat Jahr (mit dem Statistikmodul bin ich da nicht so glücklich das es da gibt)
Mit dem Statistikmodul müsste dies eigentlich machbar sein.
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

elektron-bbs

Ich habe jetzt mal bei uns den Einbau dieses Protokolls fortgesetzt. Dabei bin ich darauf gestoßen, das dieses Protokoll auch von einem wohl baugleichen Sensor Ambient Weather WH31L verwendet wird. Das Protokoll ist bei rtl_433 bereits eingebunden: https://github.com/merbanan/rtl_433/blob/master/src/devices/fineoffset_wh31l.c

Dort wird der Batteriezustand anders ausgewertet:

- F: 10 bit flags: (battery low seems to be the 1+2-bit on the first byte)
Flags:
    0000 0BB1 ??
With battery (B) readings of
- 2 at 3.2V
- 1 at 2.6V
- 0 at 2.3V


Irgendwie passt das nicht zu unseren Erkenntnissen. Könnte das bitte nochmal überprüft werden?
Intel(R) Atom(TM) CPU N270 mit 2 SIGNALduino nanoCC1101 + ESPEasy 2x serial server SIGNALduino nanoCC1101, Raspberry Pi 2 mit 2 CUL Stackable CC1101, Raspberry Pi 3 mit SIGNALduino radino + nano328 + 2 x SIGNAL-ESP CC1101 + LaCrosseGateway

laserrichi

Hallo,

natürlich :-) gleich einmal Messreihe gestartet mit dem aktuellen Modul:

unter 2,3V   0%
2,4V  20%
2,5V  40%
2,6V  60%
2,75V  80%
ab 2,94V 100%


meldet also in 20% schritten und würde sagen das passt
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

elektron-bbs

Danke, dann lassen wir es so. Hast du evtl. noch die RAWMSG oder DMSG dazu?
Intel(R) Atom(TM) CPU N270 mit 2 SIGNALduino nanoCC1101 + ESPEasy 2x serial server SIGNALduino nanoCC1101, Raspberry Pi 2 mit 2 CUL Stackable CC1101, Raspberry Pi 3 mit SIGNALduino radino + nano328 + 2 x SIGNAL-ESP CC1101 + LaCrosseGateway

laserrichi

hier mal paar raw messages

5700C655003F00B0612023DBB21AF44A
5700C655013F00F6A860A0777E9A981A
5700C655023F003CEFE0A55433F08057
5700C655033F007A2E60A1711819DA02
5700C655043F00994E60A27BF244348E
5700C655053F00DF95E0A0FD006704DA
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

laserrichi

endlich gab es mal Gewitter.
Zuerst hat sich nichts getan, und dann kam der AHA Effekt... die Dip Schalter sind genau anders herum.

Alle Schalter müssen unten sein, dann ist die Outdoor Default Einstellung.
Auch habe ich bei zu hoher Empfindlichkeit Störungen bekommen.
Scheint also zu funktionieren das Teil.
RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

elektron-bbs

Lädst du mal bitte das Log vom Gewittersensor hoch.
Intel(R) Atom(TM) CPU N270 mit 2 SIGNALduino nanoCC1101 + ESPEasy 2x serial server SIGNALduino nanoCC1101, Raspberry Pi 2 mit 2 CUL Stackable CC1101, Raspberry Pi 3 mit SIGNALduino radino + nano328 + 2 x SIGNAL-ESP CC1101 + LaCrosseGateway

laserrichi

Ok,

ich muss aber dazu sagen das ich nicht auf alles geloggt habe, aber beim testen heute hab ich es mal auf .*  kurz erweitert.
identified kann man nicht fürs logging auswählen, mit .* ist es dabei.

RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

laserrichi

#38
nachdem es jetzt ja etwas geblitzt hat, kann ich sagen das der Sensor doch recht gut funktioniert.
Einstellung hab ich bissl experimentiert und bin unter dem Dach mit ein Default Einstellungen ganz zufrieden.
Es werden ab und an mal Störungen registriert aber das bleibt im rahmen.

Aber der das der Zähler von 255 wieder auf 0 springt ist leider nicht so gut, denn das verfälscht wenn man das Statistik Modul mit drauf laufen lässt.

Kann man eventuell in der SD_WS.pm  sowas hier einbauen ?

my $last_count = ReadingsVal($name, "count", 0);
my $count_offset = ReadingsVal($name, ".countOffset", 0);
$count_offset += $last_count if($count < $last_count);
my $count_total = $count + $count_offset;


quasi eine erkennung wenn der Wert von 255 auf 0 springt das man das als offset wieder dazuaddiert was vorher so war ?

Hab mir das aus dem SD_WS09 abgeschaut wie es für die WH1080  Wetterstation gemacht wid.


RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

Ralf9

Ist dies ein fortlaufender Zähler der nach 255 wieder bei 0 anfängt und nur bei Batteriewechsel auf 0 gesetzt wird?

ZitatKann man eventuell in der SD_WS.pm  sowas hier einbauen?
quasi eine erkennung wenn der Wert von 255 auf 0 springt das man das als offset wieder dazuaddiert was vorher so war ?
Damit wird dann aber auch beim Batteriewechsel der offset dazuaddiert. Den Batteriewechsel zu berücksichtigen wird aufwändig
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

elektron-bbs

Könnte man das nicht auch als userReading einbauen?
Mir gefiele es nicht so richtig, das fest im Modul einzubinden. Ich bevorzuge es, Werte so wiederzugeben, wie sie der Sensor liefert.
Intel(R) Atom(TM) CPU N270 mit 2 SIGNALduino nanoCC1101 + ESPEasy 2x serial server SIGNALduino nanoCC1101, Raspberry Pi 2 mit 2 CUL Stackable CC1101, Raspberry Pi 3 mit SIGNALduino radino + nano328 + 2 x SIGNAL-ESP CC1101 + LaCrosseGateway

laserrichi

Der Batteriewechsel ist ja auch nichts anderes, da ist dann der Wert auch kleiner. Bei der Wetterstation funktioniert das wunderbar so das ich mich bei umrundung oder Batteriewechsel keine gedanken machen muss und statistik kommt nicht durcheinander.

Er Zählt ja auch nur von 0-255 was für ein ordentliches Gewitter wohl durchaus knapp sein kann.

Manch einer hat hier schon pro Gewitter über 300 Blitze.

Ich hatte jetzt 178 und das Gewitter hat mich nur gestreift.

als userreading hab ich jetzt mal das hier:

lightningcount monotonic ReadingsNum("$name","count","")

Allerdings kriege ich das nicht ins log  rein.. kanns nicht auswählen, wobei es ja auch noch nicht getriggert hat.

RaspberryPi 4 Bullseye,Homematic,Z-Wave,Rademacher Duofern,Signalduino,Fritz7590,ESPEasy,Tasmota,Robonect,Kameras,1-Wire,Modbus,Solar,Maranz,VU+,ulanzi tc001 mit awtrix light

Ralf9

Erzeugt demnach ein userReading kein event? dann wird es etwas aufwändiger damit das userreading auch ins Filelog geschrieben wird.
Evtl ist es möglich ein "DoTrigger" in den Code vom userreading einzufügen.
Oder bei einem Blitz event mit einem notify oder doif zutriggern und dort dann das userreading auslesen und ein event erzeugen.

Mir ist noch nicht so richtig klar wie das mit dem offset und monotonic funktioniert, nach dem Code in der fhem.pl müsste eigentlich ein event erzeugt werden
      } elsif($modifier eq "offset") {
        $oldvalue = $value if( !defined($oldvalue) );
        $result = ReadingsVal($name,$reading,0);
        $result += $oldvalue if( $value < $oldvalue );
      } elsif($modifier eq "monotonic") {
        $oldvalue = $value if( !defined($oldvalue) );
        $result = ReadingsVal($name,$reading,$value);
        $result += $value - $oldvalue if( $value > $oldvalue );
      }
      readingsBulkUpdate($hash,$reading,$result,1) if(defined($result));


Zitatoffset: wenn der aktuellen Wert kleiner als der vorherige Wert ist wird der vorherige Wert zum Reading addiert. Das Reading kann dann als offset verwendet werden um einen Zähler der durch Sromverlust zurückgesetzt wird zu korrigieren.
monotonic: wenn die Differenz zw. dem aktuellen und dem vorherigen Wert positiv ist wird diese Differenz zum Reading addiert. Damit lässt sich von einem Zähler der bei Stromverlust zurückgesetzt wird ein monoton wachsender Zähler ableiten.

Falls dies mit einem userReading nicht praktikabel ist, kann ichs auch in das SD_WS Modul einbauen.

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