Unfortunately we had to fork RFLink, because available sources R29 didn't work reliable and we didn't get any response from the current maintainers / owners.
After making some small changes (about 10 lines of code) we got RFLink working on an ESP32, but it wasn't reliable detecting incoming RF-sequences. Diving into the code revealed that the code had a long history which had introduced many nasty tricks, too many globals and the code was not written in the modern style of coding. So we decided to rewrite the whole code, resulting in a much cleaner, much smaller and above more stable RF-detection. Some features
- Only a few protocols are translated and tested. But as the protocols are made much easier and there are extra tools to analyze the RF sequences, it's not difficult to add new protocols.
- Protocols are written as classes and all derived from a common class
- Protocols are more generic, so you need less protocols
- Protocols can easily be selected and the order can be determined
- Debug mode replaced with a more flexible Learning_Mode
- Removed a lot of redundancies
- Device must be registered before they will be recognized ( (almost) no more false positives)
- Dynamically determine long/short puls, by measuring Min,Max,Mean
- Runs on ESP32 and even on a ESP8266. Making it work on an Arduino should be done easily (and we're willing to help)
- Fully open source
- Codesize is strongly reduced
Documentation: https://stef-aap.github.io/Domoticz-RFLink-ESP/