Bresser Wetterstation 868Mhz - wie in FHEM integrieren?

Begonnen von alen, 31 Oktober 2017, 17:59:19

Vorheriges Thema - Nächstes Thema

Mazz78

Obwohl ich es eigentlich nicht mag fremde Beiträge zu crashen, denke ich dass mein Problem hier am Besten aufgehoben ist...

Mein Problem ist, dass ich ungefähr 30 min lang nach dem Autocreate der Bresser die Wetterdaten erhalten habe, aber seitdem werden die Daten nicht mehr aktualisiert.

Meine Komponenten sind
Raspi 4
(Eigenbau-)nanoCUL mit SIGANLduino Firmware
Bresser Wetterstation 7in1

Nach einigen Startschwierigkeiten hab ich es dann mit Hängen und Würgen hinbekommen den nanoCul zu flashen und in initialize state zu bekommen
Nach dem Flashen des CUL wurde die Wetterstation über das Autocreate automatisch erkannt und angelegt.
Nach bestem Wissen und Gewissen habe ich dann die whitelist auf die 117 gesetzt (was der Bresser 7in1 entspricht) 

Ich habe zwar schon einiges gelesen, ich bin mir allerdings immer noch nicht genau über die Unterschiede/Vorzüge der verfügbaren Module/Firmwarestände im Klaren.

Was könnte denn hier das Problem sein ?
Und sieht das alles aus wie erwartet ? Oder gibts da Auffälligkeiten ?

List des nanoCUL
Internals:
   Clients    SD_WS
   ClientsKeepOrder 1
   DEF        /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   DMSG       nothing
   DevState   initialized
   DeviceName /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@57600
   FD         34
   FUUID      6615101f-f33f-f943-6e5e-911ab2f36adced30
   LASTDMSG   nothing
   LASTDMSGID nothing
   NAME       nanoCUL_SIGNALduino
   NR         217
   PARTIAL   
   STATE      opened
   TIME       1712687650.30097
   TYPE       SIGNALduino
   cc1101_available 1
   eventCount 299
   sendworking 0
   version    V 3.5.0 SIGNALduino cc1101 (chip CC1101) - compiled at Jul  8 2022 18:09:56
   versionProtocols 1.56
   versionmodul 3.5.6+20231214
   .attraggr:
   .attreocr:
     . *
   .attrminint:
   MatchList:
     10:SD_WS07 ^P7#[A-Fa-f0-9]{6}[AFaf][A-Fa-f0-9]{2,3}
     11:SD_WS09 ^P9#F[A-Fa-f0-9]+
     12:SD_WS   ^W\d+x{0,1}#.*
     13:RFXX10REC ^(20|29)[A-Fa-f0-9]+
     14:Dooya   ^P16#[A-Fa-f0-9]+
     15:SOMFY   ^Ys[0-9A-F]+
     16:SD_WS_Maverick ^P47#[A-Fa-f0-9]+
     17:SD_UT   ^P(?:14|20|24|26|29|30|34|46|56|68|69|76|78|81|83|86|90|91|91.1|92|93|95|97|99|104|105|114|118|121|127|128|130|132)#.*
     18:FLAMINGO ^P13\.?1?#[A-Fa-f0-9]+
     19:CUL_WS  ^K[A-Fa-f0-9]{5,}
     1:IT       ^i......
     20:Revolt  ^r[A-Fa-f0-9]{22}
     21:FS10    ^P61#[A-F0-9]+
     22:Siro    ^P72#[A-Fa-f0-9]+
     23:FHT     ^81..(04|09|0d)..(0909a001|83098301|c409c401)..
     24:FS20    ^81..(04|0c)..0101a001
     25:CUL_EM  ^E0.................
     26:Fernotron ^P82#.*
     27:SD_BELL ^P(?:15|32|41|42|57|79|96|98|112)#.*
     28:SD_Keeloq ^P(?:87|88)#.*
     29:SD_GT   ^P49#[A-Fa-f0-9]+
     2:CUL_TCM97001 ^s[A-Fa-f0-9]+
     30:LaCrosse ^(\S+\s+9 |OK\sWS\s)
     31:KOPP_FC ^kr\w{18,}
     32:PCA301  ^\S+\s+24
     33:SD_Rojaflex ^P109#[A-Fa-f0-9]+
     3:SD_RSL   ^P1#[A-Fa-f0-9]{8}
     4:OREGON   ^(3[8-9A-F]|[4-6][0-9A-F]|7[0-8]).*
     5:CUL_TX   ^TX..........
     6:SD_AS    ^P2#[A-Fa-f0-9]{7,8}
     7:Hideki   ^P12#75[A-F0-9]+
     9:CUL_FHTTK ^T[A-F0-9]{8}
     X:SIGNALduino_un ^[u]\d+#.*
   QUEUE:
   READINGS:
     2024-04-09 20:34:13   cc1101_config   Freq: 868.350 MHz, Bandwidth: 203 kHz, rAmpl: 33 dB, sens: 8 dB, DataRate: 8.23 kBaud
     2024-04-09 20:34:13   cc1101_config_ext Modulation: 2-FSK, Syncmod: 16/16 sync word bits detected, Deviation: 57.13 kHz
     2024-04-09 20:34:13   cc1101_patable  C3E = 00 84 00 00 00 00 00 00 => 5_dBm
     2024-04-10 11:23:11   cmds             V R t X S P C r W s x e
     2024-04-10 20:56:28   ping            OK
     2024-04-09 20:34:12   state           opened
   additionalSets:
   keepalive:
     ok         1
     retry      0
   mcIdList:
   mnIdList:
     117
   msIdList:
   muIdList:
Attributes:
   event-on-change-reading . *
   group      IO_Devices
   hardware   nanoCC1101
   icon       cul_868
   rfmode     Bresser_7in1
   room       System
   updateChannelFW stable
   whitelist_IDs 117

List der Wetterstation (per Autocreate erstellt)
Internals:
   .FhemMetaInternals 1
   CODE       SD_WS_117
   DEF        SD_WS_117
   FUUID      66151443-f33f-f943-4bec-23795776e44ff177
   FVERSION   14_SD_WS.pm:v1.1.2-s26982/2024-03-11
   NAME       BresserWS
   NR         218
   STATE      Defined
   TYPE       SD_WS
   bitMSG     
   lastMSG   
   .attreocr:
     .*
   .attrminint:
     .*:60
   READINGS:
     2024-04-09 12:11:28   batteryChanged  1
     2024-04-09 13:42:30   batteryState    ok
     2024-04-09 13:42:30   brightness      11.08
     2024-04-09 13:42:30   humidity        69
     2024-04-09 13:42:30   rain            344
     2024-04-09 13:42:30   state           T: 10.8 H: 69 W: 1.2 R: 344 B: 11.08
     2024-04-09 13:42:30   temperature     10.8
     2024-04-09 12:11:28   type            Bresser_7in1
     2024-04-09 13:42:30   uv              0.7
     2024-04-09 13:42:30   windDirectionDegree 216
     2024-04-09 13:42:30   windDirectionText SW
     2024-04-09 13:42:30   windGust        1.2
     2024-04-09 13:42:30   windSpeed       1.2
Attributes:
   event-min-interval .*:60
   event-on-change-reading .*
   icon       weather_directions
   max-deviation-hum 50
   max-deviation-temp 50
   room       Wetter
   showtime   1
RaPi 4 / Buster / FHEM 6
CUL868 / JeeLink868
Banana M1 (Bananian) + ser2net + Stiebel Eltron LWZ403
FIRMATA -> Gartenbewässerung /-licht
ALEXA

elektron-bbs

Interessant wären die RSSI-Werte des Sensors. Diese bekommst du, wenn du bei deinem nanoCUL_SIGNALduino das Attribut "addvaltrigger" auf 1 setzt.
Die Frequenz beim SIGNALduino passt auch nicht so richtig. 868,300 MHz wäre besser. Evtl. muss diese auch leicht nach oben oder unten korrigiert werden. Ich habe schon Abweichungen bis zu +-25 kHz beobachtet.
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

Mazz78

#347
Danke für deine Anregung
Hab den addvaltrigger gesetzt, allerding wurden die RSSI nicht angezeigt.
Es schien als ob sich irgendwas "aufgehängt" hat.
Ich hab den SIGNALduino und die Wetterstation gelöscht und neu angelegt.
Jetzt werden die RSSI angezeigt.
Und es werden auch die Wetterdaten regelmäßig aktualisiert  8)

Die RSSI Werte sind bestimmt nicht optimal
Ich versuch mal mit Verbauposition des CUL und verschiedenen Antennen zu spielen

Internals:
  .FhemMetaInternals 1
  .lastTimebatteryChanged 1712911255.07323
  .lastTimebatteryState 1712915379.95784
  .lastTimebrightness 1712915354.96463
  .lastTimehumidity 1712915404.95335
  .lastTimerain 1712915379.95784
  .lastTimestate 1712915404.95335
  .lastTimetemperature 1712915404.95335
  .lastTimeuv 1712915354.96463
  .lastTimewindDirectionDegree 1712915392.45831
  .lastTimewindDirectionText 1712915279.97121
  .lastTimewindGust 1712915392.45831
  .lastTimewindSpeed 1712915392.45831
  CFGFN     
  CODE      SD_WS_117
  DEF        SD_WS_117
  FUUID      6618f38a-f33f-f943-8674-4db87826919cfd38
  FVERSION  14_SD_WS.pm:v1.1.2-s26982/2024-03-11
  LASTInputDev nanoCUL_SIGNALduino
  MSGCNT    263
  NAME      BresserWS
  NR        222
  STATE      T: 16.7 H: 53 W: 0.9 R: 344 B: 83.976
  TYPE      SD_WS
  bitMSG    0010111100011110111111010100011100000001011100001011001000000000100100000000100100000000001101000100000000000000000101100111000001010011000010000011100101110110000001010101000000000000
  eventCount 263
  lastMSG    2F1EFD470170B200900900344000167053083976055000
  lastReceive 1712915404.9533
  nanoCUL_SIGNALduino_DMSG W117#2F1EFD470170B200900900344000167053083976055000
  nanoCUL_SIGNALduino_MSGCNT 263
  nanoCUL_SIGNALduino_Protocol_ID 117
  nanoCUL_SIGNALduino_RAWMSG MN;D=85B457EDABDA18AA3AA3AA9EEAAABCDAF9A293DCAFFAAA;R=247;
  nanoCUL_SIGNALduino_RSSI -78.5
  nanoCUL_SIGNALduino_TIME 2024-04-12 11:50:04
  .attraggr:
  .attreocr:
    .*
  .attrminint:
    .*:300
  READINGS:
    2024-04-12 10:40:55  batteryChanged  1
    2024-04-12 11:50:04  batteryState    ok
    2024-04-12 11:50:04  brightness      83.976
    2024-04-12 11:50:04  humidity        53
    2024-04-12 10:40:55  model          Bresser 7-in-1 outdoor sensor
    2024-04-12 11:50:04  rain            344
    2024-04-12 11:50:04  state          T: 16.7 H: 53 W: 0.9 R: 344 B: 83.976
    2024-04-12 11:50:04  temperature    16.7
    2024-04-12 10:40:55  type            Bresser_7in1
    2024-04-12 11:50:04  uv              5.5
    2024-04-12 11:50:04  windDirectionDegree 17
    2024-04-12 11:50:04  windDirectionText NNE
    2024-04-12 11:50:04  windGust        0.9
    2024-04-12 11:50:04  windSpeed      0.9
Attributes:
  event-min-interval .*:300
  event-on-change-reading .*
  group      Wetterstation
  room      Wetter
RaPi 4 / Buster / FHEM 6
CUL868 / JeeLink868
Banana M1 (Bananian) + ser2net + Stiebel Eltron LWZ403
FIRMATA -> Gartenbewässerung /-licht
ALEXA

beaune

Hallo,

ich habe gerade die Batterien im Außensensor gewechselt. Das hat auch gut geklappt, das ID Reading hat sich geändert, es werden wieder Daten empfangen, der Batteriestatus wird wieder als ok abgezeigt usw. Im Log sehe ich jetzt allerdings folgendes:
ERROR - rain diff too large (old 565.2, new 0, diff 565.2, age 403)Ist ja nachvollziehbar, dass der Außensensor seinen Zählwert verloren hat und nun bei Null wieder anfängt zu zählen. fhem hat aber auch recht, dass die Differenz zu groß ist und es falsch wäre, die Null als neuen Wert zu übernehmen. Wie löst man das am besten? Kann ich den von fhem zuletzt gespeicherten Wert auf Null setzen, so dass dann neue Zählwerte vom Außensensor wieder übernommen werden?

Ralf9

Ist das 14_SD_WS.pm Modul einigermaßen aktuell? mit version kann Du es abfragen.

Nach einem Batteriewechsel sollte im Log so was ähnliches stehen:
Bei der ersten Nachricht nach dem Batteriewechsel
SD_WS_108 ERROR - rain diff too large (old 31.2, new 0, diff 31.2, age 19)

Bei der zweiten Nachricht nach dem Batteriewechsel
SD_WS_108 ERROR - rain diff too large (old 31.2, new 0, diff 31.2, age 98)
SD_WS_108 reset rain, rain: 0 lastrain: 31.2, new rainOffset: 31.2

Danach gibts das reading ".rainOffset" dort steht der rain Wert vor dem Batterie wechsel.
Readings mit einem Punkt am Anfang werden standardmäßig nicht angezeigt.
Zum Anzeigen entweder ein List vom Bresser device
oder das global Attribut "showInternalValues" auf 1 setzen
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

beaune

Vielen Dank, genauso ist es auch. Hab mal wieder einiges mehr verstanden :-)