Closed bismosa closed 10 months ago
Hi Bismosa
Thanks for the greetings and the discussion of low battery behavior, it's very helpful. I'm seeing online that DS4 sensors might be 2.4 GHz wifi.
Can you confirm if your sensors are 433 MHz (like this project) or 2.4 GHz? What make errors are you seeing and what platform are you running?
Hello!
I have exactly the same sensors as shown in the photos. https://github.com/mightymos/ReedTripRadio/blob/main/photos/water_leak_store_board_front.jpg DS-4 V1.0 is the text on the top. I can confirm that all are running at around 433MHz.
I observed the sensors with an RTL-SDR (DVB-T Stick) and the software SDR Console. Here I noticed that the sensors transmit at a little more than 434MHz. While all my other sensors (temperature probes etc.) tend to transmit at 433.9MHz Left side (Yellow): Any other sensor Right side (Green): Window sensor
However, I do not know how accurate this information is. The stick is not calibrated.
I have tried with your installation instructions:
I have tried to build under Windows10 (my favorite platform):
Der Befehl "dirname" ist entweder falsch geschrieben oder konnte nicht gefunden werden. makefile:94: /makefiles/1-mcu-settings.mk: No such file or directory makefile:96: /makefiles/2-mcu-rules.mk: No such file or directory make: *** Keine Regel, um »/makefiles/2-mcu-rules.mk« zu erstellen. Schluss.
I also tried it under Linux on my Raspberry (Raspian Buster):
/root/uni-STC/makefiles/1-mcu-settings.mk:114: *** Nicht beendeter Aufruf der Funktion „patsubst“: „)“ fehlt. Schluss.
I also tried to load it in visual studio code. Maybe that can be compiled with PlatformIO as well. But here are several include errors.
I think I still have a lot to learn here. :)
Regards Bismosa
Understood, thanks for checking.
I added manual instructions to the readme so the premade hex (.ihx) file can be flashed. When you're ready to try with one of your spare sensors could you let me know if it works?
Hello! I have tried to flash my sensors under Windows. The Flash process Stucks at:
Cycling power: done
Waiting for MCU:
Have i missed something? I have double checked RX/TX and have also changed them. I use a simple FTDI232 programmer (like this one https://www.amazon.de/Programmer-Arduino-Programmier-Adapter-Konverter/dp/B014JXX4BK ) 3.3V is correct? Need i connect the Battery also? I have also tried with different sensors.
Regards Bismosa
You will have to cycle the power to the target, so leave 3.3V disconnected at first, then run flash command, and connect 3.3V power once it says waiting.
Many thanks for the support. If i use the Power Line from my Adapter, the USB Connection is loosing. If i use a battery for the power cycle i get the following message:
Cycling power: done
Waiting for MCU: done
Protocol detected: stc15
Target model:
Name: STC15W101
Magic: F2A1
Code flash: 1.0 KB
EEPROM flash: 4.0 KB
Target frequency: 11.051 MHz
Target BSL version: 7.2.5T
Target wakeup frequency: 36.550 KHz
Target options:
reset_pin_enabled=False
clock_source=internal
clock_gain=high
watchdog_por_enabled=False
watchdog_stop_idle=True
watchdog_prescale=256
low_voltage_reset=True
low_voltage_threshold=3
eeprom_lvd_inhibit=True
eeprom_erase_enabled=False
bsl_pindetect_enabled=False
por_reset_delay=long
rstout_por_state=high
uart2_passthrough=False
uart2_pin_mode=normal
cpu_core_voltage=unknown
Loading flash: 974 bytes (Intel HEX)
Trimming frequency: Protocol error: incorrect frame start
Disconnected!
Okay that's good, the flash program is reading the chip. Just repeat power cycling and it should work eventually. Often I have to retry about a dozen times. I think the tx/rx pins sometimes leak power to the board, we should really be using diodes to stop this eventually.
If that does not work, it sometimes helps to just specify the -e flag for erasing chip. After that is successful then flash hex file as before.
I didn't get any further than this:
Cycling power: done
Waiting for MCU: done
Protocol detected: stc15
Target model:
Name: STC15W101
Magic: F2A1
Code flash: 1.0 KB
EEPROM flash: 4.0 KB
Target frequency: 11.051 MHz
Target BSL version: 7.2.5T
Target wakeup frequency: 36.550 KHz
Target options:
reset_pin_enabled=False
clock_source=internal
clock_gain=high
watchdog_por_enabled=False
watchdog_stop_idle=True
watchdog_prescale=256
low_voltage_reset=True
low_voltage_threshold=3
eeprom_lvd_inhibit=True
eeprom_erase_enabled=False
bsl_pindetect_enabled=False
por_reset_delay=long
rstout_por_state=high
uart2_passthrough=False
uart2_pin_mode=normal
cpu_core_voltage=unknown
Loading flash: 974 bytes (Intel HEX)
Trimming frequency: 24.134 MHz
Switching to 115200 baud: Protocol error: incorrect frame start
Disconnected!
I also had no success with the erasing flag.
I think I'll have to rework the connections first. I will add a switch to the power Line. Then it is easier to disconnect the power supply. I also want to add a capacitor to avoid voltage drops. I can also add diodes to the RX/TX lines.
I will try it the next days.
You might check in with this issue in a few days and see if the other user got it working using the stc isp program: https://github.com/mightymos/ReedTripRadio/issues/5
Hello!
I flashed a sensor successfully!
I have tested with some diodes (1N4148). no success. Than i have read this: https://github.com/grigorig/stcgal/blob/master/doc/FAQ.md Than i have added two resistors (1k) in RX/TX. I power the sensor with a battery. Ii have only connected RX/TX/GND with my serial programmer.
Also i have modified the command. I need only a few attempts:
First i have erased the Chip with the command:
python stcgal-patched/stcgal.py -a -e -p COM3 -t 24000 -P stc15 -b 19200
Cycling power: done
Waiting for MCU: done
Target model:
Name: STC15W101
Magic: F2A1
Code flash: 1.0 KB
EEPROM flash: 4.0 KB
Target frequency: 11.051 MHz
Target BSL version: 7.2.5T
Target wakeup frequency: 36.550 KHz
Target options:
reset_pin_enabled=False
clock_source=internal
clock_gain=high
watchdog_por_enabled=False
watchdog_stop_idle=True
watchdog_prescale=256
low_voltage_reset=True
low_voltage_threshold=3
eeprom_lvd_inhibit=True
eeprom_erase_enabled=False
bsl_pindetect_enabled=False
por_reset_delay=long
rstout_por_state=high
uart2_passthrough=False
uart2_pin_mode=normal
cpu_core_voltage=unknown
Trimming frequency: 24.134 MHz
Switching to 19200 baud: done
Erasing flash: done
Disconnected!
Than i have flashed with this command:
python stcgal-patched/stcgal.py -a -p COM3 -t 24000 ReedTripRadio.ihx -P stc15 -b 19200
Cycling power: done
Waiting for MCU: done
Target model:
Name: STC15W101
Magic: F2A1
Code flash: 1.0 KB
EEPROM flash: 4.0 KB
Target frequency: 11.051 MHz
Target BSL version: 7.2.5T
Target wakeup frequency: 36.550 KHz
Target options:
reset_pin_enabled=False
clock_source=internal
clock_gain=high
watchdog_por_enabled=False
watchdog_stop_idle=True
watchdog_prescale=256
low_voltage_reset=True
low_voltage_threshold=3
eeprom_lvd_inhibit=True
eeprom_erase_enabled=False
bsl_pindetect_enabled=False
por_reset_delay=long
rstout_por_state=high
uart2_passthrough=False
uart2_pin_mode=normal
cpu_core_voltage=unknown
Loading flash: 974 bytes (Intel HEX)
Trimming frequency: 23.846 MHz
Switching to 19200 baud: done
Erasing flash: done
Writing flash: 1088 Bytes [00:00, 1129.92 Bytes/s]
Finishing write: done
Setting options: done
Target UID: F2A101B33A3114
Disconnected!
Now i will try to detect the messages. It doesn't appear to be a known protocol from my receiver. I'll try again in the next few days. I have little time right now.
Regards Bismosa
Thanks for testing and pointing out problems/solutions. I have commited more detailed discussion of testing with stock versus modified protocol timings on sonoff rf bridge receiver. If you need me to try producing a hex with timings that will work with your receiver let me know.
I have now tested the signal reception. No success.
The receiver cannot detect a usable signal. I also get something different displayed with each reception. Actually, radio messages should always be the same, right?
I'm not entirely sure if my receiver (Signalduino) supports the protocol. Here is a list of the protocols. Only in German. https://www.fhemwiki.de/wiki/SIGNALduino EV1527 is listed.
I looked at the signals with my SDR receiver. I noticed: Send short when the tamper contact is closed
Send long when the tamper contact is opened
Not consistent when the magnetic switch is operated. I pressed the magnetic switch 5 times:
Here is a comparison of the radio signals
Since I don't know whether it's the receiver or the transmitted signal, I can't get any further at this point. It would be better if you could use the original protocol (or another known one).
I also tried to analyze the signal with the "Universal Radio Hacker". Here is a short example. first block: original window sensor second block: modified window sensor old-new.zip
Let me know if i can help with something.
Okay, I'm reviewing SIGNALduino to try comparing to rc-switch timings. It is possible to see multiple radio packets if a low battery code is sent along with a reed event or tamper event (which wakes up the processor). There are also repeat transmissions of the same code which the stock sensors were sending.
However if it was more than two repeat transmissions I can not see it on my oscilloscope because memory fills up.
I have attached a firmware that I think uses the stock timings as read by Tasmota but I have no idea what protocol it is supposed to be.
Could you please try it while I check on other options?
Thank you for your help and the time you invest in the project.
I had trouble flashing a sensor again. It only worked after a lot of attempts. It seems the timings from my machine are not good. I had to restart the computer to flash.
Sometimes my receiver received something with the new timings. But rather rarely. Most of the time there are no useful signals. The repetitions in the experiment above may actually come from a dead battery. Unfortunately, I mixed up my batteries.
Even with a full new battery I have different reps. Could it be that this is due to the bouncing of the contacts?
I tried to record the signals at pin 1 with my DSO201: You can see that the pauses between the signals are very long.
This is what the signals look like when I use the original firmware:
I think it would be easier with a logic analyzer. Unfortunately I don't have that.
It may well be that my receiver is not suitable for this protocol. Perhaps one can also integrate several protocols into this project in the future? But it would be useful if I could compile it myself.
If it doesn't work with my hardware...then not. Please don't invest too much time in my problems.
Thank you!
@bismosa
Ist there anything logged from the Signalduino if you Change from closed / open? You can See this with verbose 4 within FHEM
Hello,
yes. I get this log:
2023.01.20 21:21:42 4: SIGNALduino: Read, msg READredu: MU;P0=-3412;P1=1285;P2=-440;P3=439;P4=-1289;P5=-12823;D=012121212121212121212121212121212343434343412121235121212121212121212121212121212123434343434121212351212121212121212121212121212121234343434341212123512121212121212121212121212121212343434343412121;CP=1;R=49;
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Read, msg READredu: MU;P0=-12818;P2=-4212;P3=451;P4=-2027;P5=1274;P6=-447;P7=-1286;D=343434323434323256565656565656565656565656565656373737375656563730565656565656565656565656565656563737373756565637305656565656565656565656565656565637373737565656373056565656565656565656565656565656373737375656563;CP=5;R=242;
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 48 -> TFA Dostmann matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 49.2 -> GT-9000 matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 91 -> Atlantic security matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Read, msg READredu: MU;P0=-448;P1=-12823;P2=439;P3=-4600;P4=-2030;P5=-9592;P6=-1280;P7=1285;D=232323232323232424232323232423242524242670707070707070707070707070707070262626267026702621707070707070707070707070707070702626262670267026217070707070707070707070707070707026262626702670262170707070707070707070707070707070262626267026702;CP=2;R=242;
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 29 -> HT12e matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 30 -> diverse matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 48 -> TFA Dostmann matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 49.2 -> GT-9000 matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 91 -> Atlantic security matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 104 -> TR60C-1 matches, trying to demodulate
2023.01.20 21:21:42 4: SIGNALduino: Read, msg READredu: MU;P0=-92;P1=160;P2=-2019;P3=459;P4=-4598;P5=-3212;P6=1228;P7=-600;D=012343432323234343434343434343232343434343235673;CP=3;R=238;
2023.01.20 21:21:42 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 91 -> Atlantic security matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Read, msg READredu: MU;P0=600;P1=-445;P2=1286;P3=440;P4=-1281;P5=-12818;D=012121212121212121212121212121343434342134213435212121212121212121212121212121213434343421342134352121212121212121212121212121212134343434213421343521212121212121212121212121212121343434342134213;CP=2;R=49;
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 48 -> TFA Dostmann matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 61 -> FS10 matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 70 -> FHT80TF matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 73 -> FHT80 matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 74 -> FS20 matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 80 -> EM1000WZ matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Read, msg READredu: MU;P0=-248;P1=956;P2=-3176;P3=1276;P4=-456;P5=436;P6=-1296;P7=-12822;D=01234343434343434343434343434343434565656563434345657343434343434343434343434343434345656565634343456573434343434343434343434343434343456565656343434565734343434343434343434343434343434565656563434345;CP=3;R=47;
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Read, msg READredu: MU;P0=438;P1=-1285;P2=-12811;P3=136;P4=-312;P5=180;P6=-443;P7=1284;D=34567676767676767676767676767676010101017601760102767676767676767676767676767676760101010176017601027676767676767676767676767676767601010101760176010276767676767676767676767676767676010101017601760;CP=7;R=45;
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 48 -> TFA Dostmann matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 61 -> FS10 matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 70 -> FHT80TF matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 73 -> FHT80 matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 74 -> FS20 matches, trying to demodulate
2023.01.20 21:21:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 80 -> EM1000WZ matches, trying to demodulate
2023.01.20 21:21:44 4: SIGNALduino: Read, msg READredu: MU;P0=-13136;P1=1282;P2=-444;P3=437;P4=-1285;D=012121212121212121212121212121212343434341212123430121212121212121212121212121212123434343412121234301212121212121212121212121212121234343434121212343012121212121212121212121212121212343434341212123;CP=1;R=43;
2023.01.20 21:21:44 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.01.20 21:21:44 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 48 -> TFA Dostmann matches, trying to demodulate
2023.01.20 21:21:44 4: SIGNALduino: Read, msg READredu: MU;P0=-13611;P1=92;P2=-25380;P3=1285;P4=-446;P5=440;P6=-1278;D=01234343434343434343434343434343434565656563456345650343434343434343434343434343434345656565634563456503434343434343434343434343434343456565656345634565034343434343434343434343434343434565656563456345;CP=3;R=47;
2023.01.20 21:21:44 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.01.20 21:21:44 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 48 -> TFA Dostmann matches, trying to demodulate
2023.01.20 21:21:44 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 83 -> RH787T matches, trying to demodulate
2023.01.20 21:21:44 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 86 -> BOSCH | CAME | Novy | Neff | Refsta Topdraft matches, trying to demodulate
2023.01.20 21:21:44 4: SIGNALduino: Read, msg READredu: MU;P0=132;P1=-224;P2=1292;P3=450;P4=-1286;P5=-12820;P6=-431;D=010626262626262626262626262626263434343426262634352626262626262626262626262626262634343434262626343526262626262626262626262626262626343434342626263;CP=2;R=49;
2023.01.20 21:21:44 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2023.01.20 21:21:44 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.01.20 21:21:44 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 48 -> TFA Dostmann matches, trying to demodulate
2023.01.20 21:21:44 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 61 -> FS10 matches, trying to demodulate
2023.01.20 21:21:44 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 80 -> EM1000WZ matches, trying to demodulate
2023.01.20 21:21:45 4: SIGNALduino: Read, msg READredu: MU;P0=-19496;P1=1283;P2=-448;P3=444;P4=-1276;P5=-12829;D=012121212121212121212121212121212343434341234123435121212121212121212121212121212123434343412341234351212121212121212121212121212121234343434123412343512121212121212121212121212121212343434341234123;CP=1;R=46;
2023.01.20 21:21:45 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2023.01.20 21:21:45 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.01.20 21:21:45 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 48 -> TFA Dostmann matches, trying to demodulate
2023.01.20 21:21:52 4: SIGNALduino: Attr, Calling sub with args: set verbose = 2
2023.01.20 21:21:52 3: SIGNALduino: Attr, setting Verbose to: 2
More Info with Verbose 5:
2023.01.20 21:26:43 5: SIGNALduino: Read, RAW rmsg: Mu;°ø»
;²¶;»;¤
;¥²;D!!!!!!!!!!!!!!!#CCCCA!!#Q!!!!!!!!!!!!!!!#CCCCA!!#Q!!!!!!!!!!!!!!!#CCCCA!!#Q!!!!!!!!!!!!!!!#CCCCA!!;C1;R6;
2023.01.20 21:26:43 4: SIGNALduino: Read, msg READredu: MU;P0=-17144;P1=1285;P2=-438;P3=443;P4=-1287;P5=-12818;D=012121212121212121212121212121212343434343412121235121212121212121212121212121212123434343434121212351212121212121212121212121212121234343434341212123512121212121212121212121212121212343434343412121;CP=1;R=6;
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 13.1 -> FLAMINGO FA22RF / FA21RF / LM-101LD not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 16 -> Dooya not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 21 -> Einhell Garagedoor not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 22 -> HAMULiGHT not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 24 -> Visivo remote not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 26 -> xavax not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 27 -> EFTH-800 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 28 -> IC Ledspot not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 29 -> HT12e not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 30 -> diverse not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 31 -> LTECH not found, aborting
2023.01.20 21:26:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, 0. try, regex ((?:3)((?:21|43){19,}(?:2|4)?)) did not match
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 36 -> remote not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 37 -> Bresser 7009994 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 38 -> NC-3911 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, for MU protocol id 39, applying filterfunc SIGNALduino_compPattern
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 39 -> X10 Protocol not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 40 -> Romotec not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 44 -> BresserTemeo not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 44.1 -> BresserTemeo not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 45 -> Revolt not found, aborting
2023.01.20 21:26:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 48 -> TFA Dostmann matches, trying to demodulate
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, 0. try, regex ((?:43)((?:41|43){47,})) did not match
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 49.1 -> GT-9000 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 49.2 -> GT-9000 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 54 -> TFA 30.3233.01 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 56 -> AC114-xxB not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 59 -> AK-HD-4 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 62 -> Clarus_Switch not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 66 -> WS7035 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 69 -> Hoermann not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 72 -> Siro shutter not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 76 -> LED XM21 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 81 -> SA-434-1 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 83 -> RH787T not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 84 -> IAN 283582 / TV-4848 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 85 -> TFA 30.3222.02 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 86 -> BOSCH | CAME | Novy | Neff | Refsta Topdraft not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 89 -> TFA 30.3221.02 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 91 -> Atlantic security not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 92 -> KRINNER Lumix not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 94 -> Atech not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 97 -> Momento not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 99 -> Navaris 44344.04 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 104 -> TR60C-1 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Read, RAW rmsg: Mu; ⻁܀;²¯;
;´»;¼;¶ú;D#CCCCCCCCCCCCCCCEeeecEcEe#CCCCCCCCCCCCCCCEeeecEcEe#CCCCCCCCCCCCCCCEeeecEcEe#CCCCCCCCCCCCCCCEeeecEcE;C3;R28;
2023.01.20 21:26:43 4: SIGNALduino: Read, msg READredu: MU;P0=-25100;P1=92;P2=-12163;P3=1287;P4=-443;P5=444;P6=-1274;D=01234343434343434343434343434343434565656563456345652343434343434343434343434343434345656565634563456523434343434343434343434343434343456565656345634565234343434343434343434343434343434565656563456345;CP=3;R=40;
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 13.1 -> FLAMINGO FA22RF / FA21RF / LM-101LD not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 16 -> Dooya not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 21 -> Einhell Garagedoor not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 22 -> HAMULiGHT not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 24 -> Visivo remote not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 26 -> xavax not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 27 -> EFTH-800 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 28 -> IC Ledspot not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 29 -> HT12e not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 30 -> diverse not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 31 -> LTECH not found, aborting
2023.01.20 21:26:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, 0. try, regex ((?:5)((?:43|65){19,}(?:6|4)?)) did not match
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 36 -> remote not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 37 -> Bresser 7009994 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 38 -> NC-3911 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, for MU protocol id 39, applying filterfunc SIGNALduino_compPattern
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 39 -> X10 Protocol not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 40 -> Romotec not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 44 -> BresserTemeo not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 44.1 -> BresserTemeo not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 45 -> Revolt not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 46 -> SKXxxx, GF0x0x not found, aborting
2023.01.20 21:26:43 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 48 -> TFA Dostmann matches, trying to demodulate
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, 0. try, regex ((?:65)((?:63|65){47,})) did not match
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 49.1 -> GT-9000 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 49.2 -> GT-9000 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 54 -> TFA 30.3233.01 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 56 -> AC114-xxB not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 59 -> AK-HD-4 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 62 -> Clarus_Switch not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 66 -> WS7035 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 69 -> Hoermann not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 72 -> Siro shutter not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 76 -> LED XM21 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 81 -> SA-434-1 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 83 -> RH787T not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 84 -> IAN 283582 / TV-4848 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 85 -> TFA 30.3222.02 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 86 -> BOSCH | CAME | Novy | Neff | Refsta Topdraft not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 89 -> TFA 30.3221.02 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 91 -> Atlantic security not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 92 -> KRINNER Lumix not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 94 -> Atech not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 97 -> Momento not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 99 -> Navaris 44344.04 not found, aborting
2023.01.20 21:26:43 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 104 -> TR60C-1 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Read, RAW rmsg: Mu;°섻
;²»;ρ;´²;D!!!!!!!!!!!!!!!#CCCCA!!#Q!!!!!!!!!!!!!!!#CCCCA!!#Q!!!!!!!!!!!!!!!#CCCCA!!#Q!!!!!!!!!!!!!!!#CCCCA!!;C1;R27;
2023.01.20 21:26:48 4: SIGNALduino: Read, msg READredu: MU;P0=-17644;P1=1283;P2=-443;P3=463;P4=-1268;P5=-12823;D=012121212121212121212121212121212343434343412121235121212121212121212121212121212123434343434121212351212121212121212121212121212121234343434341212123512121212121212121212121212121212343434343412121;CP=1;R=39;
2023.01.20 21:26:48 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 8 -> TX3 Protocol matches, trying to demodulate
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, 0. try, regex ((?:)((?:34|34){43,})) did not match
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 13.1 -> FLAMINGO FA22RF / FA21RF / LM-101LD not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 16 -> Dooya not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 21 -> Einhell Garagedoor not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 22 -> HAMULiGHT not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 24 -> Visivo remote not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 26 -> xavax not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 27 -> EFTH-800 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 28 -> IC Ledspot not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 29 -> HT12e not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 30 -> diverse not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 31 -> LTECH not found, aborting
2023.01.20 21:26:48 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, 0. try, regex ((?:3)((?:21|43){19,}(?:4|2)?)) did not match
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 36 -> remote not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 37 -> Bresser 7009994 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 38 -> NC-3911 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, for MU protocol id 39, applying filterfunc SIGNALduino_compPattern
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 39 -> X10 Protocol not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 40 -> Romotec not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 44 -> BresserTemeo not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 44.1 -> BresserTemeo not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 45 -> Revolt not found, aborting
2023.01.20 21:26:48 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 48 -> TFA Dostmann matches, trying to demodulate
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, 0. try, regex ((?:43)((?:41|43){47,})) did not match
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 49.1 -> GT-9000 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 49.2 -> GT-9000 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 54 -> TFA 30.3233.01 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 56 -> AC114-xxB not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 59 -> AK-HD-4 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 62 -> Clarus_Switch not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 66 -> WS7035 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 69 -> Hoermann not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 72 -> Siro shutter not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 76 -> LED XM21 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 81 -> SA-434-1 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 83 -> RH787T not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 84 -> IAN 283582 / TV-4848 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 85 -> TFA 30.3222.02 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 86 -> BOSCH | CAME | Novy | Neff | Refsta Topdraft not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 89 -> TFA 30.3221.02 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 91 -> Atlantic security not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 92 -> KRINNER Lumix not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 94 -> Atech not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 97 -> Momento not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 99 -> Navaris 44344.04 not found, aborting
2023.01.20 21:26:48 5: SIGNALduino: Parse_MU, start pattern for MU protocol id 104 -> TR60C-1 not found, aborting
2023.01.20 21:26:51 4: SIGNALduino: Attr, Calling sub with args: set verbose = 2
2023.01.20 21:26:51 3: SIGNALduino: Attr, setting Verbose to: 2
@bismosa Okay that's fine. I opened a issue to add this protocol.
@mightymos
The reception works well, but the sensor sends open and close within a very small timespan.
I haven't found any debounce function in your code.
@mightymos What timings are in the https://github.com/mightymos/ReedTripRadio/files/10450761/ReedTripRadio_StockTimings_Test_fv1.zip
We have noticed that no pull-up is activated on the reed contact. this is missing in the code. With the original FW a pullup is activated and I have 3.3V on the pin.
@mightymos
Can you increase REPEAT_TRANSMISSIONS
I think the First transmission can't be received by a receiver, because it needs some time to "wake" up.
Increasing the number of transmissions would solve this. If you are thinking this ist not efficent, you can also try to prepend some wakeup signal in front of the first transmissions. Also here i would recommend to send all information bits in one package instead of sending separate data for Reed,battery and tampering. That is how most sensors work
@bismosa I fixed the gpio configurations to be quasi bidirectional, there should be a weak pull up now. How it was working for me previously is a complete mystery...
@sidey79 I increased retransmissions to four, is that enough? I also moved logic from the interrupts to main loop and then was able to add a very basic debounce (just a delay). If a better debounce is needed I will have to do more work.
I am going to try to finally capture original firmware pin behavior with my DS1052E and this program soon: https://www.mikrocontroller.net/topic/205601?goto=2028729#2028729
However, I looked at the ASK pin quickly tonight on oscilloscope and it always sends a sync pulse followed by 24 bits, then another sync pulse along with 24 bits on retransmission, etc. I can try combining data into one package however and see if they are properly interpreted at my receivers.
I disabled low battery packet for now just because it was making testing cumbersome. Let me know if things seem to work better now.
...
@sidey79 I increased retransmissions to four, is that enough?
Four is enough.
I also moved logic from the interrupts to main loop and then was able to add a very basic debounce (just a delay). If a better debounce is needed I will have to do more work.
I haven't looked at your code now, but debounce can bei done via a microseconds calculation from the last isr call.
However, I looked at the ASK pin quickly tonight on oscilloscope and it always sends a sync pulse followed by 24 bits, then another sync pulse along with 24 bits on retransmission, etc. I can try combining data into one package however and see if they are properly interpreted at my receivers.
This isn't needed, we can work with separate transmissions.
I disabled low battery packet for now just because it was making testing cumbersome. Let me know if things seem to work better now.
@bismosa Can you flash again an check Signalduino/ FHEM?
Can you flash again an check Signalduino/ FHEM?
already done: https://github.com/RFD-FHEM/RFFHEM/issues/1152#issuecomment-1400671471
Works much better now. Pull-Up is working. I could not detect any bouncing of the contacts. I'm not exactly sure...but I had the impression that sometimes a status wasn't sent. I have to test that more carefully.
How it was working for me previously is a complete mystery... For me too. But the pins are also very sensitive and react as soon as I hold my measuring device against a contact. Even with activated pullup.
v0.3.1 doesn't work for me. No message will be sent. When inserting the battery, the LED flashes once. Nothing happens when the magnetic switch or the manipulation contact is actuated. Occasionally the LED flashes without me doing anything. But the battery is full.
Only if I actuate the manipulation contact when applying the power supply does the LED first flash when the contact is released. But nothing is sent.
I just bought a cheap logic analyzer. If it's helpful, I'm happy to record. Here is an example with the V0.3.0 https://github.com/RFD-FHEM/RFFHEM/files/10501568/Session.0.zip
Try the v0.3.2 and possibly check out release notes. I think there is some difference between boards containing mcu 101 versus mcu 104.
In any case, I think the firmware was getting stuck on the check for tamper closed on startup. I think transmitting should resume now.
I just did a short test. Now the sensor reacts to actuations again. It seems to be the problem. I'll continue testing tomorrow to see if the radio works.
Thanks for the support!
I've tested a little more now.
Now I can receive the signals perfectly. The signals are recognized as with the original sensor.
I compared the signals again with my logic analyzer. I noticed that the original firmware repeats the signal 20 times. But the 4 repetitions so far are enough for me.
See Files (saleae Logic) here (Compared stock Sensor and v0.3.2): https://github.com/RFD-FHEM/RFFHEM/files/10511742/Original_und_v0.3.2.zip
I also checked when the LED (bottom line) lights up. This lights up continuously during transmission .
I think the new variant (LED after sending) is also good.
Thank you, that is very helpful.
I have no idea why the startup tamper switch check would get stuck on my 101 board (which mailed with no tamper switch installed). It should be equivalent to my 104 board which has a tamper switch but remains unpressed at startup.
Does your 101 board have a tamper switch installed?
I have a Rigol DS1052E and apparently pulseview is able to capture traces over usb to the computer. I plan to also capture from my stock sensor and extract original timings.
So hopefully if people sacrifice a sensor for reflash and it does not work with their receiver, they can again reflash with one version of my firmware having original timings to again resume using sensor.
I will compare to your captures as soon as I can.
How can i detect if i have a 101 or 104 board? Is the difference in the IC? This is very difficult to read...but i think it is a STC 15W101
My board has a tamper switch. This is a board with a broken magnetic switch. That's why I soldered a button.
stcgal flashing program will tell the part number. In previous posts you had this in your output: Target model: Name: STC15W101
So I assume the startup tamper check problem is associated with some difference between stc15w101/104. How weird.
The problem was that STC15W101 parts have a unique id stored at the end of flash space. That's why firmware would work on my model 104 boards and not yours. Now code space is restricted to only 1017 bytes total.
Please try v0.3.3, the radio timings should not have changed. With this version, in the future you can more easily enter bootloader mode by holding tamper down at power up.
If v0.3.3 seems okay, I will also start adding versions with stock timings.
I did a short test. Flashing is now much easier when using the tamper contact. It seems to be working again. I have not yet checked which radio messages are arriving. I'll catch up on that in the next few days. The LED flashes briefly every approx. 18 seconds. Something also seems to be sent. But the battery is full (1.45V).
I'll try to do more tests soon
Thanks for the short test. The tamper trip is enabled and so periodically sends out tamper state if the tamper remains open. If the tamper is closed it should stop.
This seemed to be a feature some wanted but could discuss default settings in the future too. Thank you.
The tamper trip is enabled and so periodically sends out tamper state if the tamper remains open. If the tamper is closed it should stop.
Works. I like the feature.
Everything seems to be working. With the receipt of the radio protocol I will have to ask again here https://github.com/RFD-FHEM/RFFHEM/issues/1152#issuecomment-1412615312
At the moment I can receive all messages. As with the original firmware.
I have now also flashed another sensor to test. this had a missing inductance directly in front of the antenna (ex works). I just replaced it with a solder point. So I can still test with the sensor near the receiver antenna.
Let me know if i can help. :)
Thank you for checking things. I am getting some advice here also: https://github.com/RFD-FHEM/RFFHEM/issues/1152#issuecomment-1412999768
Using your logic traces and my oscilloscope I have recovered stock timings. Using the stock timings I am able to receive messages with my sonoff bridge rev1 and rev2 hardware.
The sonoff bridge rev2 seems to require many retransmissions to accept messages.
I am not able to see all retransmission myself. Can you confirm that stock sensor behavior is to retransmit twenty times for a single message?
I am not able to see all retransmission myself. Can you confirm that stock sensor behavior is to retransmit twenty times for a single message?
Yes. I can confirm. At least with the one sensor I tested. I don't know why this has to be so frequent.
Here is a recording: 1.) tamper_open 2.) reed_close 3.) reed_open
Here is the file: Original tamper_open reed_close reed_open.zip
Hi there, I tried the 0.33 version and it seems to be working properly on my 104-based sensor. With respect to the 20x repeat, having deployed these throughout my house I have found the range is highly variable based on ductwork, walls etc.. What I find is that there is a 'grey' area where about 50% of the signals are received and I imagine that the more it repeats the more likely the signal is to get through. This would be harder on the battery, but means you wouldn't need multiple receivers to get coverage (I use one per floor, but I still have a few weak areas)
With the tamper open, I get a repeat tamper signal every 20s. This is a great feature. A repeat battery low signal would be handy too, if that's possible. I did a bunch of testing with a variable power supply and it seems like the stock firmware sends the battery low only once when the voltage transits a certain level, if the voltage remains low, it doesn't send again. I don't know if you've implemented the heart beat - with reed closed and tamper closed I don't seem to get anything after the last change of state signal (I waited for 10 minutes).
I think I have some 101-based sensors as well - the first batch I bought had no tamper switches so I assume they are 101s (they are mounted on doors now, and I haven't taken them down to check). If you need me to test on those, I can.
I also have some extra 104-based sensors (with tamper), so if you need some extras for testing I could likely send a few your way.
Thanks @bismosa I changed some of the startup and guard times in the latest release but protocol timings should be identical. Maybe more importantly I added some additional premade hex, now with packet count to help with detecting missing packets.
I can see it might get pretty annoying supporting different configurations, but hopefully as more people test with their receivers we can see if this firmware is reliably detecting events and sending packets.
Thanks @brandondb1 that's very helpful to hear about testing conditions. I have both 101 and 104 hardware so I should be good on that for now. Now that unique id is working there should not be any noticeable difference between the 101/104. It would be nice in the future to add more features using the 4kb on 104 but I am not sure how to do that without making things complicated. It may also not be worth it if users will not use features (adding software serial, eeprom support, etc.).
Ok to the point... I now attached in the v0.3.4 release a hex with heart beat mode enabled, and another hex which includes a packet count when sending. It would be very helpful if you could try things out and kind of look for missing packets or other problems.
Also what specific receivers are you using? I can update the readme if you are able to confirm particular receivers work or not and how well.
@brandondb1 Also...so for now I disabled the "tamper trip" mode. For now it seemed to be making looking for missing codes cumbersome.
However I will re-enable soon after I get some feedback with testing other stuff, it seems to be a popular feature.
Extending the functionality of these devices is great. One of the reasons I chose them is that they have a 'closed' transmit function as well as just an 'open' function, which many do not. The more we can make them 'stateful' the more useful they are!
I'll test the new version today or tomorrow and give you some feedback.
I'm using Sonoff RF Bridges, I have the R2 (with the bare metal antennae, rather than the black insulated ones on the PC board).
So with the heartbeat mode packet count version of 0.34 on a 104 version, it flashes fine, neither the tamper or the reed switch work (i.e. it doesn't transmit when the tamper is open or closed, or if the magnet is present or not). I don't know if that was intentional or not.
It does transmit a packet every 21 seconds (and sometimes a second one 3 seconds later) if it's just left alone. The code in the packet increments with each transmission. Here is the log from the R2 sonoff running Tasmota:
14:30:24 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:30:24","RfReceived":{"Sync":10180,"Low":340,"High":990,"Data":"09DBB9","RfKey":"None"}} 14:30:46 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:30:46","RfReceived":{"Sync":10190,"Low":340,"High":980,"Data":"09DBE9","RfKey":"None"}} 14:31:08 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:31:08","RfReceived":{"Sync":10190,"Low":350,"High":980,"Data":"09DB19","RfKey":"None"}} 14:31:32 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:31:32","RfReceived":{"Sync":10190,"Low":350,"High":980,"Data":"09DB49","RfKey":"None"}} 14:31:54 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:31:54","RfReceived":{"Sync":10180,"Low":340,"High":980,"Data":"09DB79","RfKey":"None"}} 14:32:15 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:32:15","RfReceived":{"Sync":10180,"Low":340,"High":980,"Data":"09DBA9","RfKey":"None"}} 14:32:37 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:32:37","RfReceived":{"Sync":10190,"Low":340,"High":990,"Data":"09DBD9","RfKey":"None"}} 14:32:55 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:32:55","RfReceived":{"Sync":10290,"Low":340,"High":990,"Data":"09DBE7","RfKey":"None"}} 14:32:58 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:32:58","RfReceived":{"Sync":10190,"Low":350,"High":980,"Data":"09DB09","RfKey":"None"}} 14:33:17 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:33:17","RfReceived":{"Sync":10340,"Low":330,"High":990,"Data":"09DB17","RfKey":"None"}} 14:33:20 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:33:20","RfReceived":{"Sync":10180,"Low":340,"High":980,"Data":"09DB39","RfKey":"None"}} 14:33:38 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:33:38","RfReceived":{"Sync":10280,"Low":350,"High":980,"Data":"09DB47","RfKey":"None"}} 14:33:41 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:33:41","RfReceived":{"Sync":10190,"Low":340,"High":980,"Data":"09DB69","RfKey":"None"}} 14:34:02 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:34:02","RfReceived":{"Sync":10180,"Low":340,"High":980,"Data":"09DB99","RfKey":"None"}} 14:34:24 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:34:24","RfReceived":{"Sync":10190,"Low":340,"High":980,"Data":"09DBC9","RfKey":"None"}} 14:34:45 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:34:45","RfReceived":{"Sync":10190,"Low":340,"High":990,"Data":"09DBF9","RfKey":"None"}} 14:35:06 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:35:06","RfReceived":{"Sync":10180,"Low":350,"High":980,"Data":"09DB29","RfKey":"None"}} 14:35:28 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:35:28","RfReceived":{"Sync":10180,"Low":340,"High":980,"Data":"09DB59","RfKey":"None"}} 14:35:46 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:35:46","RfReceived":{"Sync":10280,"Low":350,"High":970,"Data":"09DB67","RfKey":"None"}} 14:35:49 MQT: tele/VirageBridge/RESULT = {"Time":"2023-02-04T14:35:49","RfReceived":{"Sync":10190,"Low":340,"High":980,"Data":"09DB89","RfKey":"None"}}
@brandondb1 it's difficult to fit both interrupt and heart beat features in under 1kb, so yes intentional. Just a heads up...I'll also need to comply with rules for periodic transmissions it turns out: https://www.law.cornell.edu/cfr/text/47/15.231
They are pretty limited on total transmissions per hour. I am not sure if an exception could be made for security/alarm or not, probably not.
What version of the R2 do you have? If you're comfortable with doing so, you might have to open up the sonoff and look on the pcb for a version number. Or you could post a photo here.
Thank you for the log data, I'm taking a look.
I have now tested v0.3.5 ReedTripRadio.ihx Receiving does not work properly. I don't think the receiver can do anything with the count. when I debug this I get e.g. these messages:
2023.02.06 17:27:17 4: SIGNALduino: Read, msg READredu: MS;P0=-9516;P1=344;P2=-1000;P3=1016;P4=-331;D=10121234341212123412121234123412121212341234121234;CP=1;SP=0;R=248;m2;
2023.02.06 17:27:17 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:17 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i311429 length 24 RSSI = -78
2023.02.06 17:27:17 4: SIGNALduino IT: message "i311429" (7)
2023.02.06 17:27:17 4: SIGNALduino IT: msgcode "" (0) bin = 001100010001010000101001
2023.02.06 17:27:17 4: SIGNALduino IT: 1527x31142 not defined (Switch code: 1001)
2023.02.06 17:27:19 4: SIGNALduino: Read, msg READredu: MS;P1=337;P2=-1006;P3=1010;P4=-336;P5=-10359;D=15121234341212123412121234123412121212341234121234;CP=1;SP=5;R=248;O;m2;
2023.02.06 17:27:19 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:19 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i311429 length 24 RSSI = -78
2023.02.06 17:27:19 4: SIGNALduino IT: message "i311429" (7)
2023.02.06 17:27:19 4: SIGNALduino IT: msgcode "" (0) bin = 001100010001010000101001
2023.02.06 17:27:19 4: SIGNALduino IT: 1527x31142 not defined (Switch code: 1001)
2023.02.06 17:27:19 2: autocreate: define IT_1527x31142 IT 1527x31142 1001 0000
2023.02.06 17:27:20 2: autocreate: define FileLog_IT_1527x31142 FileLog ./log/IT_1527x31142-%Y.log IT_1527x31142
2023.02.06 17:27:20 4: SIGNALduino: Read, msg READredu: MS;P1=347;P2=-1009;P3=1017;P4=-326;P5=-10355;D=15121234341212123412121234123412121212341234121234;CP=1;SP=5;R=248;O;m1;
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i311429 length 24 RSSI = -78
2023.02.06 17:27:20 4: SIGNALduino: Dispatch, i311429, Dropped due to short time or equal msg
2023.02.06 17:27:20 4: SIGNALduino: Read, msg READredu: MS;P1=344;P2=-999;P3=1014;P4=-336;P5=-10363;D=15121234341212123412121234123412121212341234121234;CP=1;SP=5;R=248;O;m0;
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i311429 length 24 RSSI = -78
2023.02.06 17:27:20 4: SIGNALduino: Dispatch, i311429, Dropped due to short time or equal msg
2023.02.06 17:27:20 4: SIGNALduino: Read, msg READredu: MS;P1=342;P2=-998;P3=1014;P4=-325;P5=-10369;D=15121234341212123412121234123412121212341234121234;CP=1;SP=5;R=248;O;
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i311429 length 24 RSSI = -78
2023.02.06 17:27:20 4: SIGNALduino: Dispatch, i311429, Dropped due to short time or equal msg
2023.02.06 17:27:20 4: SIGNALduino: Read, msg READredu: MS;P0=335;P1=-1010;P2=1001;P3=-343;P4=-10373;D=04010123230101012301010123012301010101230123010123;CP=0;SP=4;R=251;O;m2;
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i311429 length 24 RSSI = -76.5
2023.02.06 17:27:20 4: SIGNALduino: Dispatch, i311429, Dropped due to short time or equal msg
2023.02.06 17:27:20 4: SIGNALduino: Read, msg READredu: MS;P0=353;P1=-1008;P2=1001;P3=-327;P4=-10360;D=04010123230101012301010123012301010101230123010123;CP=0;SP=4;R=251;O;m1;
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i311429 length 24 RSSI = -76.5
2023.02.06 17:27:20 4: SIGNALduino: Dispatch, i311429, Dropped due to short time or equal msg
2023.02.06 17:27:20 4: SIGNALduino: Read, msg READredu: MS;P0=342;P1=-1011;P2=1011;P3=-329;P4=-10356;D=04010123230101012301010123012301010101230123010123;CP=0;SP=4;R=251;O;m0;
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i311429 length 24 RSSI = -76.5
2023.02.06 17:27:20 4: SIGNALduino: Dispatch, i311429, Dropped due to short time or equal msg
2023.02.06 17:27:20 4: SIGNALduino: Read, msg READredu: MS;P0=345;P1=-1002;P2=1001;P3=-326;P4=-10356;D=04010123230101012301010123012301010101230123010123;CP=0;SP=4;R=251;
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i311429 length 24 RSSI = -76.5
2023.02.06 17:27:20 4: SIGNALduino: Dispatch, i311429, Dropped due to short time or equal msg
2023.02.06 17:27:20 4: SIGNALduino: Read, msg READredu: MS;P1=346;P2=-10363;P3=-1002;P4=1004;P5=-333;D=12131345451313134513131345134513131313454545454513;CP=1;SP=2;R=0;O;m2;
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:20 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i31143E length 24 RSSI = -74
2023.02.06 17:27:20 4: SIGNALduino IT: message "i31143E" (7)
2023.02.06 17:27:20 4: SIGNALduino IT: msgcode "010F0FF0011D" (12) bin = 001100010001010000111110
2023.02.06 17:27:20 4: SIGNALduino IT: 010F0FF001 not defined (Switch code: 1D)
2023.02.06 17:27:22 4: SIGNALduino: Read, msg READredu: MS;P1=350;P2=-10365;P3=-996;P4=1005;P5=-334;D=12131345451313134513131345134513131313454545454513;CP=1;SP=2;R=0;O;m1;
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i31143E length 24 RSSI = -74
2023.02.06 17:27:22 4: SIGNALduino IT: message "i31143E" (7)
2023.02.06 17:27:22 4: SIGNALduino IT: msgcode "010F0FF0011D" (12) bin = 001100010001010000111110
2023.02.06 17:27:22 4: SIGNALduino IT: 010F0FF001 not defined (Switch code: 1D)
2023.02.06 17:27:22 2: autocreate: define IT_010F0FF001 IT 010F0FF001 0F F0
2023.02.06 17:27:22 2: autocreate: define FileLog_IT_010F0FF001 FileLog ./log/IT_010F0FF001-%Y.log IT_010F0FF001
2023.02.06 17:27:22 4: SIGNALduino: Read, msg READredu: MS;P1=339;P2=-10370;P3=-1008;P4=1017;P5=-333;D=12131345451313134513131345134513131313454545454513;CP=1;SP=2;R=0;O;m0;
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i31143E length 24 RSSI = -74
2023.02.06 17:27:22 4: SIGNALduino: Dispatch, i31143E, Dropped due to short time or equal msg
2023.02.06 17:27:22 4: SIGNALduino: Read, msg READredu: MS;P1=357;P2=-10355;P3=-992;P4=1021;P5=-324;D=12131345451313134513131345134513131313454545454513;CP=1;SP=2;R=0;O;
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i31143E length 24 RSSI = -74
2023.02.06 17:27:22 4: SIGNALduino: Dispatch, i31143E, Dropped due to short time or equal msg
2023.02.06 17:27:22 4: SIGNALduino: Read, msg READredu: MS;P0=339;P1=-998;P2=1012;P3=-335;P4=-10361;D=04010123230101012301010123012301010101232323232301;CP=0;SP=4;R=253;O;m2;
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i31143E length 24 RSSI = -75.5
2023.02.06 17:27:22 4: SIGNALduino: Dispatch, i31143E, Dropped due to short time or equal msg
2023.02.06 17:27:22 4: SIGNALduino: Read, msg READredu: MS;P0=340;P1=-1003;P2=1013;P3=-336;P4=-10358;D=04010123230101012301010123012301010101232323232301;CP=0;SP=4;R=253;O;m1;
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i31143E length 24 RSSI = -75.5
2023.02.06 17:27:22 4: SIGNALduino: Dispatch, i31143E, Dropped due to short time or equal msg
2023.02.06 17:27:22 4: SIGNALduino: Read, msg READredu: MS;P0=347;P1=-998;P2=1009;P3=-326;P4=-10359;D=04010123230101012301010123012301010101232323232301;CP=0;SP=4;R=253;O;m0;
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i31143E length 24 RSSI = -75.5
2023.02.06 17:27:22 4: SIGNALduino: Dispatch, i31143E, Dropped due to short time or equal msg
2023.02.06 17:27:22 4: SIGNALduino: Read, msg READredu: MS;P0=338;P1=-1001;P2=1015;P3=-329;P4=-10367;D=04010123230101012301010123012301010101232323232301;CP=0;SP=4;R=253;O;
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i31143E length 24 RSSI = -75.5
2023.02.06 17:27:22 4: SIGNALduino: Dispatch, i31143E, Dropped due to short time or equal msg
2023.02.06 17:27:22 4: SIGNALduino: Read, msg READredu: MS;P0=341;P1=-1009;P2=1006;P3=-334;P4=-10370;D=04010123230101012301010123012301010101232323232301;CP=0;SP=4;R=1;m2;
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Matched MS protocol id 3 -> chip xx2260 / xx2262
2023.02.06 17:27:22 4: SIGNALduino: Parse_MS, Decoded matched MS protocol id 3 dmsg i31143E length 24 RSSI = -73.5
2023.02.06 17:27:22 4: SIGNALduino: Dispatch, i31143E, Dropped due to short time or equal msg
2023.02.06 17:27:22 4: SIGNALduino: Read, msg READredu: MU;P0=341;P1=-1009;P2=1006;P3=-334;P4=-10370;P5=-32001;D=04010123230101012301010123012301010101232323232305;CP=0;R=1;
2023.02.06 17:27:22 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 5 -> Unitec matches, trying to demodulate
2023.02.06 17:27:22 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 19 -> minify matches, trying to demodulate
2023.02.06 17:27:22 4: SIGNALduino: Parse_MU, Decoded matched MU protocol id 19 dmsg u19#31143E length 24 dispatch(1/4) RSSI = -73.5
2023.02.06 17:27:25 4: SIGNALduino_unknown incomming msg: u19#31143E
2023.02.06 17:27:25 4: SIGNALduino_unknown rawData: 31143E
2023.02.06 17:27:25 4: SIGNALduino_unknown Protocol: 19
2023.02.06 17:27:25 4: SIGNALduino_unknown converted to bits: 001100010001010000111110
2023.02.06 17:27:25 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 30 -> diverse matches, trying to demodulate
2023.02.06 17:27:25 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 34 -> QUIGG | LIBRA | Mandolyn | Pollin ISOTRONIC matches, trying to demodulate
2023.02.06 17:27:25 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 60 -> WS2000 matches, trying to demodulate
2023.02.06 17:27:25 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 83 -> RH787T matches, trying to demodulate
2023.02.06 17:27:25 4: SIGNALduino: Parse_MU, Fingerprint for MU protocol id 104 -> TR60C-1 matches, trying to demodulate
2023.02.06 17:27:25 4: SIGNALduino: KeepAlive, ok, retry = 0
2023.02.06 17:27:25 4: SIGNALduino: Read, msg READredu: MS;P1=-2017;P2=429;P3=-4603;P4=-8915;P5=300;D=2423232323212123232151212321212121212123212121212123212321;CP=2;SP=4;R=255;m2;
The LED lights up for a relatively long time (during transmission?)
ReedTripRadio_StockTimings.ihx Was recognized as a new sensor. Instead of 010F0FF000 (as before) now as 010F0FF001
Sending Time is very long. Here is a recording: v0.3.5.sal.zip
Sending is in three blocks of 20 each.
I haven't tested further yet. Unfortunately I don't have enough time.
Btw...a few comments to the "federal register for alarm and periodic transmission above 70 MHz" Unfortunately, I am not familiar with the laws and standards. Here is a nice article: https://www.edn.com/using-433-mhz-for-wireless-connectivity-in-the-internet-of-things/
An empty battery can trigger an event, right? A temperature sensor also transmits periodically?
From the article: "so the 15.231.e rule will apply. Under this rule, we can only transmit one time in 10 seconds" I think that might apply here.
It seems that the transmission power is also a decisive factor.
But even if periodic broadcasting is allowed, I'm not really a fan of it. With the number of sensors I have, too many signals would overlap and probably only rarely something correct would be received. If a dead battery or an open tamper contact sends 1x every hour, should that actually be enough?
Just my opinion. :)
Ok, I will make useful changes to the battery/alarm behavior in the future, but focus on the packet count for right now. It is such a useful feature helpful for seeing missed codes so I hope it can work with the various decoders and smart home systems.
Do you think the RFD-FHEM people would be willing to support the packet count byte or should I remove it/make it optional? Note that I increased the guard time by about 10ms so maybe that also messed up decoding?
@brandondb1 does having a packet count (next to last byte, so reed open/close would show 0A, 1E, 2A, 3E and so on) mess up your smart home parsing of messages or how does that work (see v.0.3.5)?
Do you think the RFD-FHEM people would be willing to support the packet count byte or should I remove it/make it optional? Note that I increased the guard time by about 10ms so maybe that also messed up decoding?
In general, we make the received data available to other so called modules. The thing is, the protocol you are using was first seen on pt2262/pt2272 chips. There are serval other chips which work similar. Transmission of a packet counter with those chips isn't possible in my oppinion.
The module which interprets the data focuses on appliances which normaly user this chip.
If you want to send other data, it's may bei better to use anorher protocol. I created some on my own serval years ago, may this helps you: https://github.com/RFD-FHEM/ArduinoSensor/blob/master/SensorTransmitter/SensorTransmitter.cpp
@sidey79 Understood, thank you for the clarification, and I'm reading your protocol example, thank you!
I use the first 5 characters of the ID string as device ID, and then parse out the last character to figure out what the device is doind (e.g. open or closed). It would be easy to limit the ID string to the first 4 characters, my only observation is that in noisy places this reduces the complexity if the ID, and therefore increases the chance of an accidental positive.
I did a short test with version 0.3.6. ReedTripRadio.ihx All status changes were received correctly. RSSI-55.5
ReedTripRadio_StockTimings.ihx All status changes were received correctly. RSSI-58.5 It felt like it took a moment longer before the radio messages arrived.
ReedTripRadio_SendPacketCount.ihx This is considered unknown. I find in my log file:
2023-02-12 13:13:03 SIGNALduino SIGNALduino UNKNOWNCODE i3114A8
2023-02-12 13:13:03 SIGNALduino SIGNALduino UNKNOWNCODE i3114A8
2023-02-12 13:13:03 SIGNALduino SIGNALduino DMSG u19#3114A8
2023-02-12 13:13:03 SIGNALduino_un SIGNALduino_unknown_19 bitMsg: 001100010001010010101000
2023-02-12 13:13:03 SIGNALduino_un SIGNALduino_unknown_19 bitMsg_invert: 110011101110101101010111
2023-02-12 13:13:03 SIGNALduino_un SIGNALduino_unknown_19 bitCount: 24
2023-02-12 13:13:03 SIGNALduino_un SIGNALduino_unknown_19 hexMsg: 3114A8
2023-02-12 13:13:03 SIGNALduino_un SIGNALduino_unknown_19 hexMsg_invert: CEEB57
2023-02-12 13:13:03 SIGNALduino_un SIGNALduino_unknown_19 hexCount_or_nibble: 6
2023-02-12 13:13:03 SIGNALduino_un SIGNALduino_unknown_19 lastInputDev: SIGNALduino
2023-02-12 13:13:03 SIGNALduino_un SIGNALduino_unknown_19 past_seconds: 48
2023-02-12 13:13:03 SIGNALduino_un SIGNALduino_unknown_19 DMSG: u19#3114A8
2023-02-12 13:13:03 SIGNALduino_un SIGNALduino_unknown_19 Protocol_ID: 19
2023-02-12 13:13:03 SIGNALduino_un SIGNALduino_unknown_19 RSSI: -55
2023-02-12 13:13:03 SIGNALduino SIGNALduino UNKNOWNCODE i3114B7
2023-02-12 13:13:04 SIGNALduino SIGNALduino DMSG u19#3114B6
2023-02-12 13:13:04 SIGNALduino_un SIGNALduino_unknown_19 bitMsg: 001100010001010010110110
2023-02-12 13:13:04 SIGNALduino_un SIGNALduino_unknown_19 bitMsg_invert: 110011101110101101001001
2023-02-12 13:13:04 SIGNALduino_un SIGNALduino_unknown_19 bitCount: 24
2023-02-12 13:13:04 SIGNALduino_un SIGNALduino_unknown_19 hexMsg: 3114B6
2023-02-12 13:13:04 SIGNALduino_un SIGNALduino_unknown_19 hexMsg_invert: CEEB49
2023-02-12 13:13:04 SIGNALduino_un SIGNALduino_unknown_19 hexCount_or_nibble: 6
2023-02-12 13:13:04 SIGNALduino_un SIGNALduino_unknown_19 lastInputDev: SIGNALduino
2023-02-12 13:13:04 SIGNALduino_un SIGNALduino_unknown_19 past_seconds: 1
2023-02-12 13:13:04 SIGNALduino_un SIGNALduino_unknown_19 RSSI: -51.5
2023-02-12 13:13:04 SIGNALduino_un SIGNALduino_unknown_19 DMSG: u19#3114B6
2023-02-12 13:13:04 SIGNALduino_un SIGNALduino_unknown_19 Protocol_ID: 19
I don't think the RSSI values are meaningful. I haven't done a range test. This is very difficult in my area
Hello!
Very interesting Project!
A few comments from my side to the Sensors: I have running 36 sensors. At every Window/Door one of them.
I also have several defective sensors. Some of these were already not working upon delivery. The reasons are different:
In addition, I observed:
I use the sensors in connection with FHEM and a CUL. All my sensors have the hardware revision DS-4 V1.0 I have a few sensors that send a slightly different ID. Most send an ID: 1527x... e.g. 1527x3aef0 some send another: 01101F0100 or 010F0FF000 These also have different codes for ON/OFF/DIMUP/DIMDOWN Closed / Open / Tamper Contact / Battery 1527x... 1110 1010 0111 0110 01101F0100 1D DD F1 FD I have no idea if it's just a different firmware.
I like the heartbeat idea. But too often the sensors shouldn't transmit, lest there be an overlap in the messages. I use too many sensors for that.
But it would be very interesting if you could use the sensors as a water leak sensor. The current of approx. 6µA here is probably too high to detect water without additional hardware.
I will try to flash a sensor with this firmware one day. However, I still have a bit to learn about how to do this. So far I only have some experience with Ardunio, ESP, Attiny etc. In this project, the "make" on my platforms brought different errors.
Many greetings Bismosa