Wie TFA Drop Regenmesser anbinden?

Begonnen von sido, 01 Februar 2020, 23:29:12

Vorheriges Thema - Nächstes Thema

elektron-bbs

Tja, da ist nur eine Nachricht dabei, die evtl. passen könnte, aber als fehlerhaft erkannt wurde:

2024.02.11 07:27:46 4: SIGNALESP: Parse_MU, Fingerprint for MU protocol id 54 -> TFA 30.3233.01 matches, trying to demodulate
2024.02.11 07:27:46 4: SIGNALESP: Parse_MU, Decoded matched MU protocol id 54 dmsg W54#0CFF1D0200009C8F0 length 68 dispatch(1/4) RSSI = -96.5
2024.02.11 07:27:46 4: SIGNALESP: SD_WS_Parse protocol 54, rawData 0CFF1D0200009C8F0
2024.02.11 07:27:46 4: SIGNALESP: SD_WS_Parse 0CFF1D0200009C8F0 protocolid 54 (TFA 30.3233.01) - ERROR prematch

Der RSSI ist mit -96,5 allerdings extrem schlecht. Möglicherweise ist die Entfernung zum Regenmesser zu groß oder dein SIGNALduino ist generell "taub". Empfängst du mit diesem denn sonst noch irgendwelche anderen Sensoren?
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

ukdirk

#151
Der Signalduino empfängt noch andere Sensoren - alle Thermometer, die ich hier in fast jedem Zimmer und draußen habe. Der Windmesser steht noch weiter vom Empfänger weg. Werde den Regensensor mal näher ranrücken, nicht, dass es noch am Empfang liegt. Im folgenden noch ein Auszug aus dem Los. Sind das jeweils die vier Nachrichtenfolgen, die Dich interessieren? Dann kopiere ich mal paar raus. Hab einen Abschnitt mit Regen rausgesucht :-)
2024.02.11 11:17:13 4: SIGNALESP: Parse_MU, Fingerprint for MU protocol id 54 -> TFA 30.3233.01 matches, trying to demodulate
2024.02.11 11:17:13 4: SIGNALESP: Parse_MU, last part pair=5 reconstructed, bit=1
2024.02.11 11:17:13 4: SIGNALESP: Parse_MU, Decoded matched MU protocol id 54 dmsg W54#0CFF1D020400974C4 length 68 dispatch(1/4) RSSI = -96.5
2024.02.11 11:17:13 4: SIGNALESP: SD_WS_Parse protocol 54, rawData 0CFF1D020400974C4
2024.02.11 11:17:13 4: SIGNALESP: SD_WS_Parse 0CFF1D020400974C4 protocolid 54 (TFA 30.3233.01) - ERROR prematch

2024.02.11 11:16:41 4: SIGNALESP: Parse_MU, Fingerprint for MU protocol id 54 -> TFA 30.3233.01 matches, trying to demodulate
2024.02.11 11:16:41 4: SIGNALESP: Parse_MU, Decoded matched MU protocol id 54 dmsg W54#0CFF1D0204D0C8D80 length 68 dispatch(1/4) RSSI = -95
2024.02.11 11:16:41 4: SIGNALESP: SD_WS_Parse protocol 54, rawData 0CFF1D0204D0C8D80
2024.02.11 11:16:41 4: SIGNALESP: SD_WS_Parse 0CFF1D0204D0C8D80 protocolid 54 (TFA 30.3233.01) - ERROR prematch



elektron-bbs

Nein, diese Nachrichten kommen von einem SD_WS_85_THW (TFA 30.3222.02, TFA 30.3251.10, LaCrosse TX141W).

Die Nachrichten vom TFA Drop Rainmeter 30.3233.01 sehen etwa so aus:
W54#39D8AD8AF7AAFF380Charakteristisch ist die "3" am Beginn der Nachricht und "AA" in Byte 5.
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

ukdirk

#153
Ah, danke für den Hinweis. Im gesamten Log ein kein einziger W54#3... sondern immer nur die W54#0...
Kann ich da irgendwas tun? Der Regenmesser steht jetzt näher am Empfänger, auf dem Display (also der mitgelieferten Basisstation) zeigt er auch alles brav an. Die wiederum steht nicht weit weg vom SignalESP.
edit: Ich hab mir gerade noch einen CC1101 bestellt und löte da mal ne ordentliche Antenne dran

ukdirk

#154
So, hab mal den SignalESP näher an den Regensensor gebracht. Siehe da, was im Log nun auftaucht:
2024.02.11 14:36:52 1: SIGNALESP: SD_WS_Parse UNDEFINED sensor SD_WS_54_R detected, code SD_WS_54_R
edit: das wars dann aber auch. Sonst keine Einträge mehr oder gar ein Device

elektron-bbs

Welchen Wert hatte RSSI bei diesem Empfang?

Du kannst noch versuchen, beim SIGNALduino die Bandbreite zu erhöhen, oder die Frequenz zu variieren. Vielleicht sendet der Sensor ja auf einer abweichenden Frequenz.
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

ukdirk

#156
Hi, ich hab die Bandbreite großzügig auf 812kHz erhöht und dann ging es. Der SignalESP hat ne neue Antenne bekommen und jetzt sieht es so aus:

define Regenmesser SD_WS SD_WS_54_R
attr Regenmesser event-on-change-reading .*
attr Regenmesser room SD_WS
#   CFGFN     
#   CODE       SD_WS_54_R
#   DEF        SD_WS_54_R
#   FUUID      65c8e1d8-f33f-8016-1888-421e9431e7e14ffd
#   LASTInputDev SIGNALESP
#   MSGCNT     3
#   NAME       Regenmesser
#   NR         348
#   SIGNALESP_DMSG W54#3C73FC00E8AA00AB8
#   SIGNALESP_MSGCNT 3
#   SIGNALESP_Protocol_ID 54
#   SIGNALESP_RAWMSG MU;P0=-1600;P1=712;P2=-770;P3=275;P4=-457;P5=510;P6=-228;D=012123434565656563434345656563434565656565656565634343434343434343434565656345634343456345634563456343434343434343434563456345634565656;CP=3;R=17;
#   SIGNALESP_RSSI -65.5
#   SIGNALESP_TIME 2024-02-11 17:40:37
#   STATE      R: 61.468
#   TYPE       SD_WS
#   bitMSG     00111100011100111111110000000000111010001010101000000000101010111000
#   eventCount 3
#   lastMSG    3C73FC00E8AA00AB8
#   lastReceive 1707669637.92717
#   READINGS:
#     2024-02-11 17:37:37   batteryChanged  0
#     2024-02-11 17:40:37   batteryState    ok
#     2024-02-11 17:40:37   rain_total      61.468
#     2024-02-11 17:40:37   rawRainCounter  242
#     2024-02-11 17:40:37   sendCounter     0
#     2024-02-11 17:40:37   state           R: 61.468
#     2024-02-11 17:37:37   type            TFA 30.3233.01
#
setstate Regenmesser R: 61.468
setstate Regenmesser 2024-02-11 17:37:37 batteryChanged 0
setstate Regenmesser 2024-02-11 17:40:37 batteryState ok
setstate Regenmesser 2024-02-11 17:40:37 rain_total 61.468
setstate Regenmesser 2024-02-11 17:40:37 rawRainCounter 242
setstate Regenmesser 2024-02-11 17:40:37 sendCounter 0
setstate Regenmesser 2024-02-11 17:40:37 state R: 61.468
setstate Regenmesser 2024-02-11 17:37:37 type TFA 30.3233.01


In den nächsten Tagen fahre ich dann mal die Bandbreite sukzessive zurück und schau mal, was dann so passiert. Werde dann der Vollständigkeit halber noch berichten

andies

Ich nutze ebenfalls diesen Regenmesser:
Internals:
   CODE       SD_WS_54_R_F1EE7
   DEF        SD_WS_54_R_F1EE7
   FUUID      658edbc3-f33f-1115-0f41-551b8cf7d664f058
   FVERSION   14_SD_WS.pm:0.216660/2022-07-22
   LASTInputDev sduino
   MSGCNT     46078
   NAME       Regenmesser
   NR         523
   STATE      0.0 mm/d
   TYPE       SD_WS
   bitMSG     0011111100011110111001110000110010111101101010100000000111111110
   eventCount 31757
   lastMSG    3F1EE70CBDAA01FE
   lastReceive 1712729238.22797
   sduino_DMSG W54#3F1EE70CBDAA01FE
   sduino_MSGCNT 49262
   sduino_Protocol_ID 54.1
   sduino_RAWMSG MS;P0=470;P1=-263;P2=234;P3=-492;P4=-2156;P5=716;P6=-748;D=245656232301010101010123232301010101230101012323010101232323230101232301230101010123010123012301230123232323232323230101010101010101232;CP=2;SP=4;R=2;e;m1;
   sduino_RSSI -73
   sduino_TIME 2024-04-10 08:07:18
   Helper:
     DBLOG:
       rain_today:
         DbLog:
           TIME       1712729100.67034
           VALUE      0.0
   READINGS:
     2023-12-29 15:46:29   batteryChanged  0
     2024-04-10 08:07:18   batteryState    ok
     2024-04-10 08:07:18   id              F1EE7
     2024-04-09 23:55:00   rain_midnight   115.57
     2024-04-10 08:07:18   rain_today      0.0
     2024-04-10 08:07:18   rain_total      115.57
     2024-04-10 08:07:18   rawRainCounter  455
     2024-04-10 08:07:18   sendCounter     6
     2024-04-10 08:07:18   state           R: 115.57
     2024-04-10 08:07:18   type            TFA 30.3233.01
Attributes:
   stateFormat {sprintf("%.1f mm/d",ReadingsVal("Regenmesser","rain_today","offline"))}
   userReadings rain_today {sprintf("%.1f", ReadingsVal($name, "rain_total", 0)-ReadingsVal($name, "rain_midnight",0))}
und habe festgestellt, dass er manchmal Mist auswirft, hier ein log verbose 5:
2024.04.10 02:36:30 4: sduino: SD_WS_Parse Regenmesser raw=3F1EE70ABDAA0176, state=R: 115.57
2024.04.10 02:37:15 4: sduino: SD_WS_Parse Regenmesser raw=3F1EE70CBDAA01FE, state=R: 115.57
2024.04.10 02:38:00 4: sduino: SD_WS_Parse Regenmesser raw=3F1EE70EBDAA01698, state=R: 115.57
2024.04.10 02:38:06 4: sduino: SD_WS_Parse Regenmesser raw=3F1EE70EBDAA01698, state=R: 115.57
2024.04.10 02:38:46 4: sduino: SD_WS_Parse Regenmesser raw=3F1EE700BDAA01DF8, state=R: 115.57
2024.04.10 02:41:01 4: sduino: SD_WS_Parse Regenmesser raw=3F1EE706BDAA402AF, state=R: 4212.082 <== das ist falsch
2024.04.10 02:41:45 4: sduino: SD_WS_Parse Regenmesser raw=3F1EE708BDAA01E18, state=R: 115.57
2024.04.10 02:41:48 4: sduino: SD_WS_Parse Regenmesser raw=3F1EE708BDAA01E18, state=R: 115.57
2024.04.10 02:42:30 4: sduino: SD_WS_Parse Regenmesser raw=3F1EE70ABDAA01760, state=R: 115.57
2024.04.10 02:42:31 4: sduino: SD_WS_Parse Regenmesser raw=3F1EE70ABDAA0176, state=R: 115.57
Weiß jemand, wie man das in den Griff bekommt?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Ralf9

Der TFA Drop hat eine 8 Bit Prüfsumme, ich vermute, daß es recht selten vorkommt, daß die Prüfsumme passt obwohl die msg fehlerhaft empfangen wurde.
Wie oft kommt es vor, daß ein falscher rain Wert empfangen wird?

Da ist eine Anpassung im 14_SD_WS Modul notwendig, wenn eine Erkennung von einem rain Zähler Reset durch einen Batteriewechsel nicht so wichtig ist, dann ist nur eine kleine Anpassung notwendig.
Es sieht dann so aus:
2024.04.12 13:40:38.593 4: sduinoD/msg get dispatch: W54#3F1EE700BDAA01DF8
2024.04.12 13:40:38.593 5: sduinoD: dispatch W54#3F1EE700BDAA01DF8
2024.04.12 13:40:38.594 4: sduinoD: SD_WS_Parse decoded protocol-id 54 (TFA 30.3233.01), sensor-id F1EE7
2024-04-12 13:40:38.598 SD_WS SD_WS_54_R 115.57

2024.04.12 13:41:05.980 4: sduinoD/msg get dispatch: W54#3F1EE706BDAA402AF
2024.04.12 13:41:05.980 5: sduinoD: dispatch W54#3F1EE706BDAA402AF
2024.04.12 13:41:05.981 4: sduinoD: SD_WS_Parse decoded protocol-id 54 (TFA 30.3233.01), sensor-id F1EE7
2024.04.12 13:41:05.981 3: sduinoD: SD_WS_54_R ERROR - rain diff too large (old 115.57, new 4212.082, diff 4096.5, age 27)

2024.04.12 13:42:41.956 4: sduinoD/msg get dispatch: W54#3F1EE708BDAA01E18
2024.04.12 13:42:41.956 5: sduinoD: dispatch W54#3F1EE708BDAA01E18
2024.04.12 13:42:41.957 4: sduinoD: SD_WS_Parse protocol 54, rawData 3F1EE708BDAA01E18
2024.04.12 13:42:41.957 4: sduinoD: SD_WS_Parse decoded protocol-id 54 (TFA 30.3233.01), sensor-id F1EE7
2024-04-12 13:42:41.961 SD_WS SD_WS_54_R R: 115.57

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

andies

Kannst du die Anpassung hier veröffentlichen? Oder ist das schon im Modul implementiert?
FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann

Ralf9

habe es in meine Variante des 14_SD_WS.pm Moduls ergänzt
update all https://raw.githubusercontent.com/Ralf9/SIGNALduinoAdv_FHEM/master/controls_ralf9_sd_ws.txthttps://github.com/Ralf9/SIGNALduinoAdv_FHEM/blob/master/FHEM/14_SD_WS.pm
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

andies

FHEM 6.1 auf RaspPi3 (Raspbian:  6.1.21-v8+; Perl: v5.32.1)
SIGNALduino (433 MHz) und HM-UART (868 MHz), Sonoff, Blitzwolf, Somfy RTS, CAME-Gartentor, Volkszähler, Keyence-Sensor, Homematic-Sensoren und -thermostat, Ferraris-Zähler für Wasseruhr, Openlink-Nachbau Viessmann