Das Protokoll der Auriol AFW 2 A1 wird derzeit nicht erkannt. Es scheint identisch zu WS07 zu sein, aber Const ist hier 'A' anstatt 'F'.
MS;P0=494;P1=-1949;P2=-967;P3=-3901;D=03010201010202020101020202020202010202020101020102010201020202010201010202;CP=0;SP=3;R=37;m0;
Es könnte sein, das es tatsächlich nur an der Einschränkung auf 0xF liegt, das dieser Sensor nicht dekodiert wird. Wenn ich die Einschränkung entferne, erhalte ich folgende Werte:
SD_WS07_TH_1 id=B1, channel=1, temp=28.2, hum=44, bat=ok
Sind diese Daten plausibel?
Könntest du bitte weitere Rohdaten mit den dazugehörigen Werten von Temperatur, Feuchte und Batteriezustand posten?
Das habe ich bei mir bereits getestet. Ich habe den RAW modifiziert, damit Const 'F' ist und in einen Dummy Signalduino eingelesen. Der dekodierte Wert entspricht der Anzeige der Sensoren auf der Inneneinheit, sowohl für Temperatur als auch für die Luftfeuchtigkeit.
MS;P1=-1940;P2=495;P3=-957;P4=-3878;D=24212321212323232121232323232323232121212123212323212321232323212121232323;CP=2;SP=4;R=20;O;m1;
Anzeige 24,4°C, 56% Luftfeuchtigkeit.
OK, dann baue ich das mit ein.
Ich habe eben noch in der Doku gelesen, das es auch einen TX-Taster gibt. Ändert sich bei Betätigung dieses Tasters irgend etwas an den Bits? Das müsste dann in den Daten (B180F4A38) das 3. Nibble sein (0x8).
Du könntest schon einmal testen, indem du die Änderungen an deinen Dateien aus diesem Pull request https://github.com/RFD-FHEM/RFFHEM/pull/605 übernimmst.
Ich werde gleich mal testen. Der Sensor kann per Schalter auch auf 3 "Kanäle" eingestellt werden. Bisher lief er auf Kanal 1.
Kanal 2 mit Taster:
MS;P1=-1952;P2=495;P3=-966;P4=-3917;D=24212321212323232121212323232323232121212121232123212321232321232321232321;CP=2;SP=4;R=39;O;m2;
Kanal 3 mit Taster:
MS;P0=-967;P4=-1946;P5=489;P6=-3901;D=56545054545050505454545054505050505454545054505454545054505054505054505054;CP=5;SP=6;R=54;O;m1;
Der Taster scheint bei Kanal 1 nichts zu ändern.
MS;P1=-1940;P2=502;P3=-967;P4=-3897;D=24212321212323232121232323232323232121212323212121212321232321232323232123;CP=2;SP=4;R=21;O;m2;
Kanal 2 ohne Taster:
MS;P1=-1932;P2=493;P3=-966;P4=-3905;D=24212321212323232121232321232323232121212321232123212321232321232323232123;CP=2;SP=4;R=21;O;m2;
Kanal 3 ohne Taster:
MS;P1=-1909;P2=531;P3=-940;P4=-3885;D=24212321212323232121232123232323232121212323212121212321232321232323232121;CP=2;SP=4;R=16;O;m2;
Könnte es sein, das du dich mit der Beschriftung der Kanäle vieleicht vertan hast?
Kanal 2 mit Taster:
MS;P1=-1952;P2=495;P3=-966;P4=-3917;D=24212321212323232121212323232323232121212121232123212321232321232321232321;CP=2;SP=4;R=39;O;m2;
2019.06.22 20:29:25 4: sduino_dummy: SD_WS07_Parse SD_WS07 converted to bits 10110001 1100 000011111010 1010 01001001
Kanal 3 mit Taster:
MS;P0=-967;P4=-1946;P5=489;P6=-3901;D=56545054545050505454545054505050505454545054505454545054505054505054505054;CP=5;SP=6;R=54;O;m1;
2019.06.22 20:30:45 4: sduino_dummy: SD_WS07_Parse SD_WS07 converted to bits 10110001 1101 000011101011 1010 01001001
Der Taster scheint bei Kanal 1 nichts zu ändern.
MS;P1=-1940;P2=502;P3=-967;P4=-3897;D=24212321212323232121232323232323232121212323212121212321232321232323232123;CP=2;SP=4;R=21;O;m2;
2019.06.22 20:31:30 4: sduino_dummy: SD_WS07_Parse SD_WS07 converted to bits 10110001 1000 000011100111 1010 01000010
Kanal 2 ohne Taster:
MS;P1=-1932;P2=493;P3=-966;P4=-3905;D=24212321212323232121232321232323232121212321232123212321232321232323232123;CP=2;SP=4;R=21;O;m2;
2019.06.22 20:32:15 4: sduino_dummy: SD_WS07_Parse SD_WS07 converted to bits 10110001 1001 000011101010 1010 01000010
Kanal 3 ohne Taster:
MS;P1=-1909;P2=531;P3=-940;P4=-3885;D=24212321212323232121232123232323232121212323212121212321232321232323232121;CP=2;SP=4;R=16;O;m2;
2019.06.22 20:32:58 4: sduino_dummy: SD_WS07_Parse SD_WS07 converted to bits 10110001 1010 000011100111 1010 01000011
Long-ID BSCC TEMPERATURE ?? HUMIDITY
Die erste Vierergruppe bits (BSCC - B=Battery, S=Sendmode, C=Channel) passt irgendwie nicht.
"Kanal 2 mit Taster:" müsste eigentlich Kanal 1 mit Taster sein.
"Kanal 3 mit Taster:" müsste eigentlich Kanal 2 mit Taster sein.
"Der Taster scheint bei Kanal 1 nichts zu ändern." sollte Kanal 1 ohne Taster sein.
"Kanal 2 ohne Taster:" passt.
"Kanal 3 ohne Taster:" passt.
Es kann natürlich auch sein, das ich noch irgend etwas falsch deute.
Nachdem der Sensor mit dem Patch zunächst gut funktioniert hat, zeigt er plötzlich die Temperatur nicht mehr richtig an. Laut Event Monitor kommen kurz hintereinander zwei Werte rein.
2019-06-24 23:28:02 SD_WS07 SD_WS07_TH_1 T: 26.6 H: 51
2019-06-24 23:28:02 SD_WS07 SD_WS07_TH_1 temperature: 26.6
2019-06-24 23:28:02 SD_WS07 SD_WS07_TH_1 T: 39.4 H: 51
2019-06-24 23:28:02 SD_WS07 SD_WS07_TH_1 temperature: 39.4
Der erste ist korrekt, der zweite wohl irgendein Maximalwert. Die Inneneinheit scheint sich für den Maximalwert aber nicht zu interessieren.
Ich muss mal schauen, an welchem Bit man das unterscheiden kann.
Da wurde wohl nur mal ein Bit falsch erkannt:
266 = 100001010
394 = 110001010
Gegen solche Erscheinungen hilft das Attribut "max-deviation-temp".
Das Protokoll ist jetzt in die Entwicklerversion übernommen worden und kann mit folgendem Befehl eingebunden werden:
update all https://raw.githubusercontent.com/RFD-FHEM/RFFHEM/dev-r34/controls_signalduino.txt
Ja, das mit dem Bit Fehler kann ich bestätigen. Da muss wohl etwas eingestreut haben. Die Fehler sind genau so schnell wieder verschwunden wie sie gekommen sind.