{"repo":"majamassarini/automate-home","free":true,"listed":false,"github":"https://github.com/majamassarini/automate-home","clone":"git clone https://github.com/majamassarini/automate-home.git","description":"Yet another python home automation (iot) project. Because a smart light is more than just on or off.","language":"Python","stars":70,"topics":["home-automation","automation","python3","bdd","home","automate-home","python","iot","internet-of-things","asyncio"],"license":"GPL-3.0","category":"workflow-automation","readme_excerpt":"Automate home Yet another home automation (iot) project because a smart light is more than just on or off . Overview When talking about home automation there are at least two goals you could have in mind: 1. let a user interact with the home devices through many interfaces locally or remotely 2. let devices interact together and let the system change their state I believe the other home automation projects fits perfectly the first goal, this project focuses on automation , the second one. What's the difference between this project model and other home automation projects? The main difference is the design of an Appliance where, with the name Appliance , I refer to entities like a light, a curtain, a sound player ecc. One of the simplest Appliances I could imagine is a light with two physical states : on and off. A light model could be designed like a deterministic state machine; all the other home automation projects I know do it like that. Or it could be designed like a non deterministic state machine; which is how it is done by this project. When using a deterministic state machine if you have a light with on/off physical states its model states will be just on/off. When using a non-deterministic state machine it is quite simple to have more model states for an on/off light, as an example, your light could be in an alarmed state and it could start blinking. Behavior-driven development I believe logics are the building bricks of a smart home system. Nevertheless, they are co","default_branch":null,"files":null,"tree":[],"storefront":"/r/majamassarini","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/majamassarini/automate-home/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}