{"id":16473806,"url":"https://github.com/c1moore/smartlights","last_synced_at":"2026-06-09T04:05:27.555Z","repository":{"id":80251799,"uuid":"126117229","full_name":"c1moore/SmartLights","owner":"c1moore","description":"Intelligent home system to control lights in a house.  SmartLights is not just some motion detectors connected to lights, its so much smarter.","archived":false,"fork":false,"pushed_at":"2018-03-21T03:24:08.000Z","size":35,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-11T02:29:07.700Z","etag":null,"topics":["iot","personal","smarthome"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/c1moore.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-21T03:20:52.000Z","updated_at":"2018-03-21T03:25:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"fd2e7a20-1ba7-4b13-bc04-8642b7c124da","html_url":"https://github.com/c1moore/SmartLights","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c1moore%2FSmartLights","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c1moore%2FSmartLights/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c1moore%2FSmartLights/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/c1moore%2FSmartLights/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/c1moore","download_url":"https://codeload.github.com/c1moore/SmartLights/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241112083,"owners_count":19911619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["iot","personal","smarthome"],"created_at":"2024-10-11T12:28:17.423Z","updated_at":"2026-06-09T04:05:22.524Z","avatar_url":"https://github.com/c1moore.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SmartLights\n\nSmartLights is an intelligent IoT embedded system.  The system uses infrared motion detectors installed on an ESP8266 WiFi enabled microchip to determine when somebody enters a room.  Once motion is detected, a message is sent to a Master node (server) that processes the data and determines which lights should be turned on and off.\n\nInstead of simply turning on a light when motion is detected, a server-in-the-middle approach allows for smarter decision making.  For example, a server will be able to make a decision on which lights should be turned on and for how long based on factors such as\n\n- the structure of the house\n- which sensors have recently detected motion\n- number of occupants\n- status of other lights/devices\n- ect.\n\nNaturally, this approach allows for more flexibility.  For example, while it may not be necessary for the initial release, SmartLights could eventually support a mobile and/or web portal that allows a user to manually control the status of certain lights.  If each node determined whether or not it should activate its lights independently of the rest, not only would such a change require a significant rewrite, but each node would have to be updated.\n\n## Status\n\nThis project is still in active development; however, I am currently searching for alternative employment.  What that means is progress on the project will probably be a little slow as I will have to find time for it between work, life, job applications, and studying.  However, the project is still alive.\n\n## Roadmap\n\nUp to this point, I have tried to get some very basic infrastructure in place.  First, I developed the Scheduler to help \"multithread\" the Arduino architecture.  This is an extremely simplistic approach for multithreading and it lacks some major features, but it does add a layer of abstraction to performing multiple tasks at once (and increases the difficulty of the project, which was the goal).\n\nMoving forward, here are the major milestones for this project:\n\n- [ ] Build out the infrastructure library.  This is a collection of classes that will be generally useful for similar projects that use the architecture I set out for this project.\n- [ ] Simple communication between the \"Master node\" (server) and the \"Slave node\".\n- [ ] Finish sensor device/class\n- [ ] Finish output device/class\n- [ ] Build infrastructure for registering nodes/devices\n- [ ] Build infrastructure for sending data from sensors\n- [ ] Build infrastructure for receiving updates from the \"Master node\"\n- [ ] Create web portal (see Connected Project for more details)\n- [ ] Create mobile portal (see Connected Project for more details)\n\n## Connected Projects\n\n_Coming soon..._\n\nConnected projects are those projects that are related to this project in some way, but have an independent repo.  For example, the server code and mobile/web portals will each have their own repos.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc1moore%2Fsmartlights","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fc1moore%2Fsmartlights","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fc1moore%2Fsmartlights/lists"}