RFLink-ESP/docs/Home Automation.html

30 lines
9.9 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>
</title>
<style type="text/css">
.cs95E872D0{text-align:left;text-indent:0pt;margin:0pt 0pt 0pt 0pt}
.cs84FBA952{color:#000000;background-color:transparent;font-family:Calibri;font-size:17pt;font-weight:normal;font-style:normal;}
.csB33285EC{color:#808080;background-color:transparent;font-family:Calibri;font-size:10pt;font-weight:normal;font-style:normal;}
.cs14438CD8{text-align:left;text-indent:0pt;margin:0pt 0pt 0pt 0pt}
.csA27DA275{color:#000000;background-color:transparent;font-family:Calibri;font-size:16pt;font-weight:bold;font-style:normal;}
.cs1B16EEB5{color:#000000;background-color:transparent;font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;}
.cs9C490B4D{text-align:left;margin:0pt 0pt 0pt 18pt;list-style-type:disc;color:#000000;background-color:transparent;font-family:Arial;font-size:11pt;font-weight:normal;font-style:normal}
.csD5D7D290{color:#000000;background-color:transparent;font-family:Arial;font-size:11pt;font-weight:normal;font-style:normal;}
.csDBD8AC8B{color:#000000;background-color:transparent;font-family:Arial;font-size:11pt;font-weight:normal;font-style:normal;text-decoration: none;}
.cs777ED152{color:#0000FF;background-color:transparent;font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration: underline;}
.csF5FDF0BE{color:#24292E;background-color:transparent;font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;}
.csB4F56505{color:#000000;background-color:transparent;font-family:Calibri;font-size:11pt;font-weight:normal;font-style:normal;text-decoration: none;}
.csCF6BBF71{color:#000000;background-color:transparent;font-family:Times New Roman;font-size:12pt;font-weight:normal;font-style:normal;}
.cs7FC7682D{color:#969696;background-color:transparent;font-family:Arial;font-size:9pt;font-weight:normal;font-style:normal;}
</style>
</head>
<body>
<p class="cs95E872D0"><span class="cs84FBA952">Home Automation</span></p><p class="cs95E872D0"><span class="csB33285EC">24 August, 2018</span></p><p class="cs95E872D0"><span class="csB33285EC">9:11</span></p><p class="cs14438CD8"><span class="csA27DA275">Introduction</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Having a DIY home automation system for a couple of years and having seen Home Wizard by a neighbor, we decided to try something new.</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">One of the most important things was that the software should be open source, easy and flexible.</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Further more it should handle many of the features we already build in our own system.</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">For the home automation software we found Domoticz, Open Hab and Home Assistant. All of them are open source and are have a lot of features.</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">Having a lot of hardware device, running at 433 MHz, 866 MHz and WiFi, we also needed a standard RF-interface (and preferable also an IR-interface),&nbsp; because none of the Home Automation systems will handle our current own build RF-interface. To make a fluently transition from old hardware/software the new RF-interface should preferable also support our old interface. Therefore open source was an absolute demand. And that lead to RFLink.</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="csA27DA275">Domoticz / OpenHAB / Home Assistant</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">The first experiment was to interface WunderGround to Domoticz as it doesn&#39;t require any hardware. This worked very well. Also MQTT en WiFi devices could be connected to Domoticz. After realizing an RFLink device, it was also possible to connect the RF-devices. Being technician and regularly changing devices, this is not well supported in Domoticz, mainly because Domoticz decides which unique idx each device gets. After creating the idx, you&#39;ve to reprogram your device to get connected. </span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">So after a week we changed to OpenHab, which we couldn&#39;t get running under windows.</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">So we switched to Home Assistant, which was a relief. For non technician Domoticz might be a better starting point, but for technician Home Assistant is really the best. After playing for a week with Home Assistant we found the following major advantages</span></p><ul style="margin-top:0;margin-bottom:0;">
<li class="cs9C490B4D"><span class="cs1B16EEB5">Starts very fast</span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Has a good (and free) mobile interface&nbsp; </span><span class="csD5D7D290"><a class="csDBD8AC8B" href="https://www.home-assistant.io/docs/frontend/mobile/"><span class="cs777ED152">https://www.home-assistant.io/docs/frontend/mobile/</span></a></span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">All settings and definitions are 1 one single file</span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Completely written in Python</span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Large community that responds very fast</span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Interfaced fluently with RFLink, MQTT-broker, HTTP</span></li></ul>
<p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="csA27DA275">RFLink</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="cs1B16EEB5">We&#39;ve experience with other devices than Arduino, i.e. Raspberry, ESP8266 and ESP are our standard devices for the moment. </span></p><p class="cs14438CD8"><span class="cs1B16EEB5">As RFLink was open source and an ESP is much more powerful than an Arduino it should be easy to get it RFLink running on an ESP.</span></p><p class="cs14438CD8"><span class="csF5FDF0BE">Problem is that the latest version of RFLink is R48. We couldn&#39;t only find sources of version R29 and R35. Both sources didn&#39;t work correctly, R29 was the best. We tried to contact &quot;the stuntteam&quot; which owns the orginal sources but didn&#39;t get any response. At any moment we&#39;re willing to cooperate and merge the ideas of Stuntteam and ours.</span></p><p class="cs14438CD8"><span class="csF5FDF0BE">After changing about 10 lines of code the program ran on ESP32. Especially the detection of RF sequences wasn&#39;t vey stable. After making some improvements, we did form an opinion about the state of the software, which made us decide to rewrite the whole program. </span></p><p class="cs14438CD8"><span class="csF5FDF0BE">Rebuilding the program gave us very stable RF-sequence detections and everything ran well at the ESP32 and also on the ESP8266.</span></p><p class="cs14438CD8"><span class="csF5FDF0BE">The new software, called RFLink-ESP, can be found on GitHub: </span><span class="cs1B16EEB5"><a class="csB4F56505" href="https://github.com/Stef-aap/Domoticz-RFLink-ESP"><span class="cs777ED152">https://github.com/Stef-aap/Domoticz-RFLink-ESP</span></a></span></p><p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs14438CD8"><span class="csF5FDF0BE">Some of the advantages of the new software (and we&#39;ve some new ideas in mind)</span></p><ul style="margin-top:0;margin-bottom:0;">
<li class="cs9C490B4D"><span class="cs1B16EEB5">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&#39;s not difficult to add new protocols.</span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Protocols are written as classes and all derived from a common class</span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Protocols are more generic, so you need less protocols</span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Protocols can easily be selected and the order can be determined</span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Debug mode replaced with a more flexible Learning_Mode</span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Removed a lot of redundancies</span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Device must be registered before they will be recognized ( (almost) no more false positives)</span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Dynamically determine long/short puls, by measuring Min,Max,Mean</span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Runs on ESP32 and even on a ESP8266. Making it work on an Arduino should be done easily (and we&#39;re willing to help) </span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Fully open source</span></li><li class="cs9C490B4D"><span class="cs1B16EEB5">Codesize is strongly reduced</span></li></ul>
<p class="cs14438CD8"><span class="cs1B16EEB5">&nbsp;</span></p><p class="cs95E872D0"><span class="csCF6BBF71">&nbsp;</span></p><p class="cs95E872D0"><span class="cs7FC7682D">Created with Microsoft Office OneNote 2007<br/>One place for all your notes and information</span></p></body>
</html>