{"id":14976412,"url":"https://github.com/wyldelarue/lighthome","last_synced_at":"2026-02-05T22:31:01.750Z","repository":{"id":71110228,"uuid":"141945496","full_name":"WyldeLaRue/Lighthome","owner":"WyldeLaRue","description":"Web interface and automation tools for controlling a neopixel strip through a Raspberry Pi. Backend in Python/Pyramid, frontend in React.","archived":false,"fork":false,"pushed_at":"2019-01-30T02:30:03.000Z","size":23646,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-01T04:25:17.496Z","etag":null,"topics":["pyramid","python3","raspberry-pi","react","webpack3"],"latest_commit_sha":null,"homepage":"","language":"Python","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/WyldeLaRue.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-07-23T01:20:40.000Z","updated_at":"2019-01-30T02:30:04.000Z","dependencies_parsed_at":"2023-02-24T19:16:48.402Z","dependency_job_id":null,"html_url":"https://github.com/WyldeLaRue/Lighthome","commit_stats":{"total_commits":79,"total_committers":2,"mean_commits":39.5,"dds":"0.30379746835443033","last_synced_commit":"b0ec84e93fad7b56171329849615cb253c60c6f0"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/WyldeLaRue/Lighthome","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WyldeLaRue%2FLighthome","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WyldeLaRue%2FLighthome/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WyldeLaRue%2FLighthome/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WyldeLaRue%2FLighthome/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WyldeLaRue","download_url":"https://codeload.github.com/WyldeLaRue/Lighthome/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WyldeLaRue%2FLighthome/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266081239,"owners_count":23873511,"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":["pyramid","python3","raspberry-pi","react","webpack3"],"created_at":"2024-09-24T13:53:50.967Z","updated_at":"2025-07-20T07:05:04.966Z","avatar_url":"https://github.com/WyldeLaRue.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Lighthome\nWeb interface and automation tools for controlling a neopixel strip through a Raspberry Pi. Backend in Python/Pyramid, frontend in React.\n\nThis is an updated version of my previous project [Tristan-IOT](https://github.com/jgarff/rpi_ws281x).\nThe entire codebase was rewritten into React/Pyramid with a more focused design. There are a few features that still haven't been migrated over.\n\n\n\n\n\n### Strip Simulator\nI also wrote a simulator for this project in tkinter so that it can be run/debugged when I am not at home or don't want to mess around with the physical lights. As of now, it looks at your OS to determine whether or not to run in simulation mode. If you are running Linux, it is possible there will be issues for this reason. I have not tested this.\n\n### Alarm\n\nThe 'Light Alarm' feature turns on the lights 30 minutes before the set wakeup time, slowly getting brighter for an hour. The timing and color was adjusted to be what I found comfortable, so it may be what everyone else wants. Currently these preferences are hard-coded.\n\n### Hardware\nI'm currently using a RGBW SK6812 strip. If you want to follow this setup, be very careful to follow the instructions for soldering and using a level converter to get the right voltage from the RPi. If you connect it to the RPi directly, you run the risk of damaging your strip and your raspberry pi. It also will not work. \n\nI also am using etekcity remote controlled outlets along with a transmitter/receiver for copying the signal. After much investigation, this appears to be the cheapest (around $14) method for constructed IOT enabled power outlets. This comes at the downside of relying on a radio signal, so everything must be roughly in the same room as the RPi without doing anything more creative.\n\n\nFirst we need to install wiringPi, which allows us to write to the GPIO pins.\n```\ncd ~\ngit clone git://git.drogon.net/wiringPi\ncd wiringPi\n./build\n```\nThis can also be done via apt-get which is probably a better choice.\n\n\nNow the 433 utils to use the RF receiver/sender\n```\ncd ~\ngit clone https://github.com/ninjablocks/433Utils\ncd 433Utils \nmake\nmv ./codesend /usr/bin\n```\nSince we already know what our RF codes look like, we don't need the RFsniffer for now. And lets add ourselves to the gpio group. \n\n\nreference:\nhttps://chester.me/archives/2017/12/controlling-rf-outlets-from-a-raspberry-pi/\n\n\n\nNow we install homebdrige using the instructions in the wiki. First we need GCC 8.\n\n```https://github.com/nfarina/homebridge/wiki/Running-HomeBridge-on-a-Raspberry-Pi```\n\nWe use systemd to have it run at startup. Following this guide  \n```https://timleland.com/setup-homebridge-to-start-on-bootup/```\n\nmade it to step 4\n\n\n### Dependencies\nThis project heavily relies on the wonderful [rpi_ws281x](https://github.com/jgarff/rpi_ws281x) library to interface between the raspberry pi and light strip.\n\n\n\n\n## Running Locally\n\n#### Setting up the Pyramid server locally:\n\nFirst we need to setup our virtual environment environment.\n```\npython3.7 -m venv ./venv\nsource venv/bin/activate\npip3 install --upgrade pip\npip3 install --upgrade setuptools\n```\n\nNow we install the dependencies:\n```\npip3 install \"pyramid==1.9.2\" waitress\npip3 install pyramid_debugtoolbar\n```\n\nAnd now to add our Pyramid server to our virtual environment:\n```\npip3 install -e .\n```\n\nand we can start it in development mode with \n```\npserve development.ini\n```\n\n### Webpack\nnavigate to ```homepage/frontend``` and then ```npm run watch```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwyldelarue%2Flighthome","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwyldelarue%2Flighthome","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwyldelarue%2Flighthome/lists"}