RFD-FHEM / RFFHEM

Counterpart of SIGNALDuino, it's the code for FHEM to work with the data received from the uC
GNU General Public License v3.0
44 stars 33 forks source link

ELV FS20 STR #455

Closed roro2309 closed 5 years ago

roro2309 commented 5 years ago

Specifications for new sensor / switch / or other device ...

Specifications

version | V 3.3.1-RC9 SIGNALduino cc1101 - compiled at Nov 14 2018 23:01:23 versionmodul | v3.3.3-dev_17.12.

Hab das ELV FS20 STR Funk-Raumthermostat Set: (1x Thermostat, 1x Funk-Schaltsteckdose). Wenn ich beim Thermostat die Temp verändert dass diese die Schaltersteckdose ein- bzw ausschaltet so erhalte ich folgendes am Signalduino. Wäre es mögich dieses zu entschlüsseln? Kommt hier auch die Temp vom Thermostat mit?

roro2309 commented 5 years ago

ELV FS20 STR.txt

sidey79 commented 5 years ago

GitMate.io thinks the contributor most likely able to help you is @sidey79.

Possibly related issues are https://github.com/RFD-FHEM/RFFHEM/issues/66 (ELV-Wettersensoren-Protokoll), and https://github.com/RFD-FHEM/RFFHEM/issues/194 (FS20 und FHT).

roro2309 commented 5 years ago

wie kann ich ein pm File "10_FS20.pm" von #194 manuell hinzufügen?

HomeAutoUser commented 5 years ago

Hallo, das Raumthermostat FS20 fht 80b wird ausgelesen mit der Protokoll ID73. Da dieses nicht 100% zum senden umgesetzt werden kann aufgrund des Sendeverhalten bzw. Puffer u. Antwort , so ist es auf Development y gesetzt. Sobald du diese ID y73 beim attr developID eingibst, solltest du etwas empfangen.

Obacht, die Thermostate senden sehr träge wenn sie nicht gekoppelt sind mit einer FHZ.

Mfg

Edit: die gemessene Temperatur sollte übertragen werden.

HomeAutoUser commented 5 years ago

@roro2309 kannst du bitte deinen Arduino mal auf die RC10 flashen? In der Oberfläsche auf

oder hier https://github.com/RFD-FHEM/SIGNALDuino/releases/tag/3.3.1-RC10 das File herunterladen.

Danach kannst du es mal probieren mit dem o.g. y73. Auf den ersten Blick trennt dein SIGNALduino die NAchrichten noch nicht richtig, daher bitte den Versuch mit der neuen FW und der Eintragung der y73.

MfG

roro2309 commented 5 years ago

so hab das nun einmal ausprobiert, so wirklich was ändert sich nicht. Hat weder ein Device angelegt noch wird das Protokoll entschlüsselt. hab ich etwas falsch gemacht? ELV_RC10.txt fhem

HomeAutoUser commented 5 years ago

Ich habe mir nun nochmal deine Nachrichten angesehen:

MU;P0=2884;P1=-345;P2=393;P3=607;P4=-576;P7=-7392;D=0121212121212121212121213421343421343434213434213421342134212434212134213434212421213434342121213421212121212121212434343421343421213427212121212121212121212121342134342134343421343421342134213421243421213421343421242121343434212121342121212121212121243;CP=2;R=11;O;

MU;P0=2884;P1=-345;P2=393;P3=607;P4=-576;P7=-7392;D=
01
  2121212121212121212121 342134342134343421343421342134213421 24? 3421213421343421242121343434212121342121212121212121 24? 343434213434212134
27
212121212121212121212121 342134342134343421343421342134213421 24? 3421213421343421242121343434212121342121212121212121 24? 3;CP=2;R=11;O;

Die Nachrichten von Dir werden nicht angenommen weil sie zu kurz sind. Es scheint bei diesem Typ der Fall zu seien, das eine Preämble gesendet wird gefolgt von 18 bits, dann ein Trenner mit neuer Preamble und wieder 18 bits mit Daten.

Das kann so nicht ins Muster passen von den bisherigen Definitionen.

HomeAutoUser commented 5 years ago

@roro2309 wenn du diese Definition einträgst bei dir und das Attribut development auf y93 setzt bzw. hinzufügst, so wird ein Device SIGNALduino_unknown_93 angelegt. Dort werden alle Nachrichten gesammelt davon.

    "93"    =>  ## FS20 STR - Funk-Thermostat (868Mhz),  @roro2309
                        # https://github.com/RFD-FHEM/RFFHEM/issues/455
                        # MU;P0=2884;P1=-345;P2=393;P3=607;P4=-576;P7=-7392;D=0121212121212121212121213421343421343434213434213421342134212434212134213434212421213434342121213421212121212121212434343421343421213427212121212121212121212121342134342134343421343421342134213421243421213421343421242121343434212121342121212121212121243;CP=2;R=11;O;
                        # MU;P0=610;P1=-574;P2=390;P3=-347;P4=-7416;D=0101230101232301242323232323232323232323230123010123010101230101230123012301232101232301230101232123230101012323230123232323232323232101010123010123230120;CP=2;R=8;
        {
            name                            => 'FS20 STR',
            comment                     => 'thermostat (only receive)',
            id                              => '93',
            knownFreqs              => '868.35',
            #developId                  => 'y',
            one                             => [1.5,-1.5],  # 600
            zero                            => [1,-1],          # 400
            start                           => [1,-1,1,-1,1,-1,1,-1],
            #pause                          => [-25],
            clockabs                    => 400,
            format                      => 'twostate',  # not used now
            preamble                    => 'u93#',
            length_min              => '20',
            length_max              => '30',
        },

Diese Definition betrifft aber nur den ersten Teil der Nachricht weil immer eine Kombination von P´s nach den 18 DatenBits kommen welche nicht valid ist. Da bricht die Dekodierung ab. Es können die selben Daten da drin stecken aber auch die Checksumme. Sowas müsste man finden. Vielleicht kann @elektron-bbs welcher FS20 und FS10 sehr gut kennt, sich dies demnächst mal ansehen parallel.

Wenn die Daten in dem Logfile gesammelt werden, müsstest du mal bitte notieren, welche Temperatur an dem Thermostat steht in dem Device sporadisch aller paar Minuten mit dem Befehl set UserInfo.

roro2309 commented 5 years ago

versteh das nicht ganz, wo soll ich diese Definition eintragen? Ich hab jetzt nur als Attribut development auf y93 eingetragen....

roro2309 commented 5 years ago

new 1.txt

die Blöcke sehen scheinbar unterschiedlich aus, hab es im file beschrieben was mir aufgefallen ist

elektron-bbs commented 5 years ago

Das scheinen mir eher Empfangsfehler oder ähnliches zu sein. Wenn ich in der ersten Nachricht aus der ersten Zeile in der Datei ELV FS20 STR.txt die falsch dekodierten Teile (Kombination 24 im Datenteil kommt dort 3 mal vor) durch 21 ersetze, wird die Nachricht korrekt als FS20 erkannt:

Nachricht original: 2018-12-26 20:37:52 SIGNALduino sduino868 RAWMSG MU;P0=593;P1=-376;P2=370;P4=-600;P6=-7404;D=262121212121212121212121210421040421040404210404210421042104212404212104210404212421210404042121042404210421212104210404212121040404040420;CP=2;R=19;

Nachricht korrigiert: 2018-12-26 20:37:52 SIGNALduino sduino868 RAWMSG MU;P0=593;P1=-376;P2=370;P4=-600;P6=-7404;D=262121212121212121212121210421040421040404210404210421042104212104212104210404212121210404042121042104210421212104210404212121040404040420;CP=2;R=19;

Log: 2018.12.29 14:40:27 4: sduino_dummy: Fingerprint for MU Protocol id 73 -> FHT80 matches, trying to demodulate 2018.12.29 14:40:27 5: part is 21212121212121212121212104210404210404042104042104210421042121042121042104042121212104040421210421042104212121042104042121210404040404 starts at position 2 and ends at 136 2018.12.29 14:40:27 5: sduino_dummy: Starting demodulation ( regex: (?:)((?:04|21){59,}) Pos 0) length_min_max (59..67) length=67 2018.12.29 14:40:27 5: sduino_dummy: applying postDemodulation, value before: 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 2018.12.29 14:40:27 3: sduino_dummy: FHT80 - 67 2018.12.29 14:40:27 5: sduino_dummy: FHT80 - pos=12 length=54 2018.12.29 14:40:27 5: sduino_dummy: FHT80 - Detection aborted, checksum matches FS20 code 2018.12.29 14:40:27 5: sduino_dummy: rcode=0, after calling postDemodulation 2018.12.29 14:40:27 4: sduino_dummy: Fingerprint for MU Protocol id 74 -> FS20 matches, trying to demodulate 2018.12.29 14:40:27 5: part is 21212121212121212121212104210404210404042104042104210421042121042121042104042121212104040421210421042104212121042104042121210404040404 starts at position 2 and ends at 136 2018.12.29 14:40:27 5: sduino_dummy: Starting demodulation ( regex: (?:)((?:04|21){50,}) Pos 0) length_min_max (50..67) length=67 2018.12.29 14:40:27 5: sduino_dummy: applying postDemodulation, value before: 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 0 0 0 1 1 1 0 0 1 0 1 0 1 0 0 0 1 0 1 1 0 0 0 1 1 1 1 1 2018.12.29 14:40:27 5: sduino_dummy: FS20 - pos=12 length=54 2018.12.29 14:40:27 4: sduino_dummy: FS20 - remote control post demodulation 6EAA9639A2 length 54 2018.12.29 14:40:27 5: sduino_dummy: rcode=1, modified value after postDemodulation: 0 1 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0 0 1 0 1 1 0 0 0 1 1 1 0 0 1 1 0 1 0 0 0 1 0 2018.12.29 14:40:27 5: sduino_dummy: dispatching hex: 810b04f70101a0016EAA9639A2 2018.12.29 14:40:27 4: sduino_dummy: decoded matched MU Protocol id 74 dmsg 810b04f70101a0016EAA9639A2 length 40 dispatch(1/4) RSSI = -64.5 2018.12.29 14:40:27 5: sduino_dummy Dispatch: 810b04f70101a0016EAA9639A2, test gleich 2018.12.29 14:40:27 5: sduino_dummy Dispatch: 810b04f70101a0016eaa9639a2, -64.5 dB, dispatch 2018.12.29 14:40:27 5: sduino_dummy: dispatch 810b04f70101a0016eaa9639a2 2018.12.29 14:40:27 3: FS20 Unknown device 6eaa (23433333), Button 96 (3223) Code 82 (unknown_82), please define it

@roro2309 Das mit Protokoll 93 kannst du streichen. Irgendwie kommt dein Empfänger nicht ganz klar mit den Nachrichten. Es schleichen sich immer wieder Fehler ein. Was für einen Empfänger verwendest du und mit welcher Firmware? Wenn CC1101, dann poste bitte mal die Einstellungen. Evtl. kannst du es noch versuchen, in dem du mit "disableMessagetype" "manchesterMC" die Manchesterdekodierung abschaltest.

roro2309 commented 5 years ago

c1101 das wären meine Einstellungen vom CC1101

elektron-bbs commented 5 years ago

Gibt es irgend einen Grund, weshalb du die Bandbreite so hoch nehmen musst? Ich empfehle eigentlich immer folgende Einstellungen: freq:868.350MHz bWidth:325KHz rAmpl:42dB sens:8dB (DataRate:5603.79Baud)

elektron-bbs commented 5 years ago

Da hier seit über einem halben Jahr keine Reaktion erfolgte, können wir das Issue wohl schließen.