Code Monkey home page Code Monkey logo

rflink-esp's Introduction

RFLink-ESP V3.2

This is a fork of RFLink, build for the ESP8266 and the ESP32. The previous versions (2.1 ... 2.4) have been proven to be stable, running 24/7 for over 2 years without any problem. Version V3.0 is a complete rebuild, based on my standard Sensor/Receiver libraries, which is easier to maintain and opens the possibility to easy add new features. I believe that one or more of the forks has a better RF detection.

If all build flags are enabled, to include as much libraries as possible, the following libraries are needed:

V3.2

  • added Email on (re-)start (at the moment this only works for ESP32). Although by a call to Restart_Email (as shown in the main program) also a (re-)start email for the ESP8266 can be send
  • added warning MQTT message on (re-)start
  • added username/password to MQTTconnection (may be left empty)

V3.1 of RFLink-ESP has the following new or improved features

  • complete rebuild on the base of Sensors/Receivers-concept (more features with less effort)
  • program can be completely build and controlled by WebSettings
  • simultanuous support of serial and telnet debug and control
  • OTA suport
  • Webserver for settings and download of files
  • received and transmitted messages are stored in a file
  • build flags extended, so the program can be used with a minimal set of libraries
  • flag Home_Automation removed
  • command added: 19;PRINT; //lists the known devices
  • Learning_Mode=9 is made asynchronuous, so you can do other things including stopping LM-9
  • command added: 13; and 14; // shows/sets 2 commands for Learning_Mode 8/9
  • programs added to upload files to the ESP by FTP

Schmurtz

forked V2.1 and made it more compatible with other Bridge-libraries. https://github.com/schmurtzm/RFLink-ESP

RFLink-ESP V2.1

Home Assistant / Domoticz tested with a RFLink, modified for ESP8266 and ESP32

This is a fork of RFLink, and because we couldn't get it working reliable, we ended up in a complete rewrite of RFLink. Problem is that the latest version of RFLink is R48. We couldn't only find sources of version R29 and R35. Both sources didn't work correctly, R29 was the best. We tried to contact "the stuntteam" which owns the orginal sources but no response.

This version of RFLink-ESP has the following features

  • just a few protocols are translated and tested
  • Protocols are more generic, so you need less protocols
  • Protocols are written as classes and all derived from a common class
  • Protocols can easily be selected and the order can be determined
  • Debugmode 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 postives)
  • Dynamically determine long/short puls, by measuring Min,Max,Mean
  • Runs on ESP32 and even on a ESP8266
  • Fully open source
  • Codesize is strongly reduced
  • Can communicate over USB/RS232 or MQTT

Some ideas for the future

  • Implementing rolling code SomFy / Own
  • Cleanup global constants and variables
  • Using SI4432 as Receiver / Transmitter (Transmitter can be used for all frequencies, Receiver might be able to fetch a complete sequence, so listening at more frequencies at the same time might even be possible)
  • Logging of false positives, including time (Neighbours ??) NTP: https://www.instructables.com/id/Arduino-Internet-Time-Client/

rflink-esp's People

Contributors

stef-aap avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rflink-esp's Issues

MQTT with username and password

Hi Stef,

Thank you for keeping the idea of RFLink alive.

I've been using the Mega2560 version but it was so big a board and I missed the wifi option.

I've uploaded your code to a NodeMCu and a Wemos D1 and got it running, but my MQTT server requires an username and a password for connect to it. Where do I put that in your code?

What is the SSD1306 display code used for?

Regards,
Kim

Still alive or dead?

Is this "fork that isn't really a fork" for RFlink still alive or did it die a year ago?

VSCode and PlatformIO

Hello,
I am trying to compile this project without success.
I probably have an error with the dependencies.
Can anyone provide a good platformio.ini file?
Mine is attached below.

I have this error while compiling:
.pio/libdeps/esp32doit-devkit-v1/SD/src/utility/Sd2PinMap.h:524:2: error: #error Architecture or board not supported.

platformio.ini.txt

[Request] Code clean up, translations, spelling correction and refactor

Great work on the library Stef!

As a novice C++ and Arduino developer (primarily web developer) I find at times the code a little hard to follow, but can see some simple improvements that could be made to make this library shine. Below is a list of improvements I would like to see, probably in a new branch with a v4 release at the end:

Linting

  • Improve code formatting with uniform spacing and lines
  • Remove obsolete code disabled by comments

Documentation

  • Correct spelling and grammar of code comments
  • Translate remaining code comments to English
  • Improve documentation regarding installation, setting secrets, and building
  • Code examples in separate directory

Refactoring

  • Refactor build params system removing "YES_" and "NOT_", replacing with documentation
  • Folder structure to make maintenance and code responsibility clearer

I am of course happy to collaborate in the capacity I can!

Regards Swiftwork

v3.0 "how to" build only for selected sensors/receivers

I tried to compile this but there is a maze of libraries needed. Is it possible to compile this only for selected sensors/receivers? I tried adding them one by one in the form #define NOT_INCLUDE_SENSOR_XXXXX in Sensor_Receiver_2.h but still unsuccessful (too many missing files and broken inclusions).
Is this the right way to skip sensors/receivers?
Thanks a bunch for the work!!

Code doesn't compile

Hi Stef,

When I try to compile the latest version, I get the following error message:

In file included from /tmp/arduino_build_668737/sketch/Sensor_Wifi.h:33:0,
from /tmp/arduino_build_668737/sketch/Sensor_Receiver_2.h:717,
from /home/peterp/src/Arduino/Stef-aap_RFLink-ESP/RFLink_ESP/RFLink_ESP.ino:74:
/tmp/arduino_build_668737/sketch/Wifi_Settings.h: In function 'void AddAccessPoints(ESP8266WiFiMulti*)':
Wifi_Settings.h:31:36: error: 'Local_Wifi_Name' was not declared in this scope
_AddAccessPoint ( wifiMulti, Local_Wifi_Name , Local_Wifi_PWD );

I can't find any definition of Local_Wifi_Name in the source, shouldn't this be __SECRET_Wifi_Name instead?

Request : help to modify documentation files

Hi,

Thanks for this awesome work.
I started a fork with some modifications on the mqtt messages formatting.
Would you accept to share the original OneNote file to help the modification of the documentation ?

Thank you.
Best regards.

How to Add Digoo thermometer?

Hi, great work on this topic! Being a noob to this PI/ESP world I have been installing your fork of the software. The answers in the other installation issue helped me to get it up and running. I now have added a KAKU device and see info in my MQQT when a button is pressed.
But how do i add a Digoo DG-R8H? I have it in learning mode but it does not show up in the log? On the official RFLINK site it is stated to work. The device is right next to the receiver.
Please assist.

Compilation error

Hi tank you for the job.
When i start compilation i have this issue.
In file included from sketch\Sensor_RFLink.h:22:0,

             from sketch\Sensor_Receiver_2.h:692,

             from D:\ESP_RFlink\RFLink_ESP_02\RFLink_ESP_02.ino:68:

sketch\RFLink\RFLink_File.h:8:24: fatal error: FS_support.h: No such file or directory
#include "FS_support.h"
compilation terminated.
exit status 1
Erreur de compilation pour la carte NodeMCU 1.0 (ESP-12E Module)
I use Arduino IDE1.8.12 on Windows 10 and D:\ESP_RFlink\RFLink_ESP_02\RFLink.h exist well

Best regards.

Setting for Sonoff RFbridge

Could you please provide which includes and other settings should be "configured" to compile for Sonoff RFbridge?

GET IT TO WORK

Hi Stef,
You did a great job developing this software.

I finally got it to work with domotics. With a KaKu device it works just like the "official" rflink.
When i try with a device from the action (FA500) , there is recognition but i can't switch it with Domoticz.
Now you said it would be easy to add new protocols. Can you please explain in a few words what steps i should take to do this?

After lots of experiments and modifications in the sw, the remaining problem was that i got a TX time out error in domoticz. For the rest it seemed to work. With RFLink Gateway, MySensors does nothing. I never saw a rflink detected in the domoticz log. I solved this by putting "Serial.printf ( "20;%02X;OK;\r\n", PKSequenceNumber++ ) ;" at RFLink.h line 485 and "Serial.printf ( "20;%02X;Nodo RadioFrequencyLink - MiRa V%s - R%02x\r\n", in line 119 in RFLink.h.

Can't disable mail and MQTT

When trying to disable the email on restart function (uncommenting NOT_INCLUDE_RECEIVER_EMAIL), the following compilation error occurs:

In file included from C:\Users\Bram\OneDrive\Documenten\Arduino\RFLink-ESP-master\RFLink_ESP\RFLink_ESP.ino:74:0:
sketch\Sensor_Receiver_2.h: In function 'void Restart_Email(String, String, String, bool)':

Sensor_Receiver_2.h:1583:5: error: '_Email_Client_Class' was not declared in this scope

It seems that the Email Client is still included in parts of the files.
When only disabling MQTT, the compilation is succesfull but the ESP bootloops due to a call to a MQTT function in the Sensor_RFLink.h file.
Can this be solved?
Thanks for your great work!

Wireless to domoticz

I’ve got this running on a nodemcu v2, and it works great when connected to usb! I really appreciate your work. I only would like to have it running wireless. I’ve tried this with mqtt, but it seems domoticz only listens to 2 mqtt topic names: domoticz or mymqtt. I’ve tried to change various things in the code, but rflink keeps saying that is sends to the the original topic (can’t get the name at the moment). And when i’m trying to add the rflink in domoticz as rflink with lan I have to fill in a port number. Which port number should that be? Or am I doing this wrong?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.