{"id":22484398,"url":"https://github.com/sylvek/domotik","last_synced_at":"2025-08-02T17:32:46.732Z","repository":{"id":55422856,"uuid":"38307049","full_name":"sylvek/domotik","owner":"sylvek","description":"Home Monitoring Project","archived":false,"fork":false,"pushed_at":"2024-08-01T22:27:08.000Z","size":371081,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-02T21:13:16.115Z","etag":null,"topics":["iot","linky","mosquitto","mqtt","power-consumption","raspberry-pi","smarthome","sqlite","temperature-sensors"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sylvek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2015-06-30T12:06:34.000Z","updated_at":"2024-08-01T22:27:11.000Z","dependencies_parsed_at":"2023-01-31T02:15:34.210Z","dependency_job_id":"87f42268-182c-4317-a09a-04f74c17f0ae","html_url":"https://github.com/sylvek/domotik","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/sylvek%2Fdomotik","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sylvek%2Fdomotik/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sylvek%2Fdomotik/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sylvek%2Fdomotik/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sylvek","download_url":"https://codeload.github.com/sylvek/domotik/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228499948,"owners_count":17929978,"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","linky","mosquitto","mqtt","power-consumption","raspberry-pi","smarthome","sqlite","temperature-sensors"],"created_at":"2024-12-06T17:10:54.967Z","updated_at":"2025-08-02T17:32:46.723Z","avatar_url":"https://github.com/sylvek.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# Domotik\n\n![tv](extras/tv.png)\n\nDomotik is a very simple home-automation software.\n\nOriginally, I've bought an [Envi CC128](http://www.currentcost.com/product-cc128.html), one Raspberry Pi 1 and I've used [measureit](https://github.com/lalelunet/measureit/wiki/The-end-of-the-measureit-project-%3F!) to display my power consumption. It was fun but charts were cheap and difficults to upgrade.\n\nEarly in 2015, i discovered [ESP8266](https://fr.wikipedia.org/wiki/ESP8266) chip, [Arduino UNO](https://en.wikipedia.org/wiki/Arduino_Uno) and IoT stuffs (like MQTT). I've decided to build my own devices…\n\nI've took a comm' module from an Oregon Scientific Clock and plug it on a arduino board in order to receive data from an external temperature sensor [thgr-511](https://www.disteo-sante.fr/accessoires/1759-thgr-511-sonde-thermo-hygro-.html) (and that worked!)\n\n![clock](extras/oregonscientist.jpg)\n![module](extras/communication_module.jpg)\n\nBoosted by this success, I build several other temperature sensors.\n\n![sensor1](extras/temp_sensor_1.jpg)\n![sensor2](extras/temp_sensor_2.jpg)\n\nIn 2018 i received a [Linky](https://fr.wikipedia.org/wiki/Linky) and decided to [extract data with a Raspberry Pi Zero](https://github.com/sylvek/linkiki).\n\n![linky](extras/linky.jpg)\n\nI've also built a webpage to display data to my TV.\n\n![tv2](extras/tv2.jpg)\n\nThis dashboard was firstly displayed thanks to an original Raspberry Pi 1 and recently on a Kindle Fire TV.\n\nServer side, i've written several small scripts in Python using Mosquitto and Mongodb.\nBasically, everything was running on a raspberry pi 0/1.\n\n- In 2015, i started the project on a raspberry pi,\n- In 2017, i switched to a x86 computer and Docker,\n- In 2020, i replaced my raspberry-pi \"TV\" by a [Kindle TV Stick + Fully Kiosk](https://www.fully-kiosk.com/en/#download-box),\n- In 2022, i gave up influxdb and built a dedicated datastore\n- In 2023, domotik works on a raspberry pi 0/1\n- In 2024, nothing more…\n\n## Build / Run it\n\n### On AMD64/ARM64\n\n```\n\u003e mkdir domotik\n\u003e wget https://raw.githubusercontent.com/sylvek/domotik/master/docker-compose.yml\n\u003e docker compose up\n\n\u003e #open http://localhost:3000 for the TV show\n\u003e #open http://localhost:3333 to display Grafana\n\n\u003e #You can simulate data by using [`mosquitto_pub`](https://mosquitto.org/man/mosquitto_pub-1.html).\n\n\u003e mosquitto_pub -h localhost -t sensors/outside/temp -m 4\n\u003e mosquitto_pub -h localhost -t sensors/linky/watt -m 4000\n```\n\n### On Raspberry Pi Zero/1 (armhf)\n\n```\n\u003e mkdir /home/pi/domotik\n\u003e wget https://raw.githubusercontent.com/sylvek/domotik/master/docker-compose.armv6.yml\n\u003e docker compose -f docker-compose.armv6.yml up\n```\n\n## Use it\n\nBasically i use 3 temperature sensors and a \"watt meter\".\n\n| name              | topic                | unit     | usage                              |\n| ----------------- | -------------------- | -------- | ---------------------------------- |\n| outside           | sensors/outside/temp | xx.xx °c | a value every 10 min               |\n| living room       | sensors/living/temp  | xx.xx °c | a value every minute               |\n| room              | sensors/room/temp    | xx.xx °c | a value every minute               |\n| power consumption | sensors/linky/watt   | xxxxx    | a watt-hour value every second     |\n| power consumption | sensors/linky/indice | xxxxx    | watt consumed since the first day  |\n| power state       | sensors/linky/state  | 1 or 0   | state between high and low tariff  |\n\n| service      | link                |\n| ------------ | ------------------- |\n| tv dashboard | http://your_ip      |\n| pc dashboard | http://your_ip:3000 |\n| MQTT broker  | tcp://your_ip:1883  |\n\nI use Grafana _(plugged on SQLite)_ to display more dashboards. _(look extras/grafana-save folder)_\n\n![today](extras/grafana_1.png)\n![over 5y](extras/grafana_2.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsylvek%2Fdomotik","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsylvek%2Fdomotik","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsylvek%2Fdomotik/lists"}