{"id":24161435,"url":"https://github.com/simonthorell/rpi-smart-home","last_synced_at":"2026-04-07T09:31:16.964Z","repository":{"id":272026329,"uuid":"915260434","full_name":"simonthorell/rpi-smart-home","owner":"simonthorell","description":"RaspberryPi Docker Compose Smart Home Configuration","archived":false,"fork":false,"pushed_at":"2025-01-18T20:19:00.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-11T03:49:32.486Z","etag":null,"topics":["docker","homebridge","iot","mqtt","raspberry-pi","smart-home","zigbee2mqtt"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simonthorell.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":"2025-01-11T11:43:47.000Z","updated_at":"2025-01-12T21:27:12.000Z","dependencies_parsed_at":"2025-01-11T15:26:57.537Z","dependency_job_id":"009d5f43-a11a-41ea-bd1a-bf2a69c06a9f","html_url":"https://github.com/simonthorell/rpi-smart-home","commit_stats":null,"previous_names":["simonthorell/rpi-smart-home"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/simonthorell/rpi-smart-home","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonthorell%2Frpi-smart-home","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonthorell%2Frpi-smart-home/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonthorell%2Frpi-smart-home/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonthorell%2Frpi-smart-home/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonthorell","download_url":"https://codeload.github.com/simonthorell/rpi-smart-home/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonthorell%2Frpi-smart-home/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31507927,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["docker","homebridge","iot","mqtt","raspberry-pi","smart-home","zigbee2mqtt"],"created_at":"2025-01-12T17:16:43.466Z","updated_at":"2026-04-07T09:31:16.948Z","avatar_url":"https://github.com/simonthorell.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rpi-smart-home\n\n## Introduction\n\nSay goodbye to cluttered Smart Home IoT setups with multiple hubs/gateways. The `rpi-smart-home` project transforms a single Raspberry Pi into a unified smart home gateway. Using MQTT as the backbone, this setup provides seamless communication across devices, regardless of brand or protocol.\n\n### Key Benefits:\n\n- **Simplified Setup**: Replace all your IKEA, Aqara, Philips and other gateways with a single device.\n- **Interoperability**: Use MQTT to connect and automate devices across ecosystems.\n- **Custom Automation**: Build advanced workflows with for example NodeRED.\n- **Cost-Effective**: Avoid expensive brand-specific gateways.\n\n### Example Use Cases:\n\n- **Apple HomeKit**: Integrate Zigbee devices via Homebridge, enabling control and automation through the Apple Home app.\n- **Google Home**: Use MQTT with NodeRED or Home Assistant to bridge devices, allowing you to control non-Google devices through the Google Home app or voice commands.\n- **Amazon Alexa**: Pair MQTT-connected devices with Alexa using Home Assistant or custom NodeRED flows for voice control.\n- **NodeRED**: Create advanced automations and integrations by connecting MQTT topics to other services, such as sending alerts, controlling devices, or integrating with APIs like Slack or Telegram.\n- **Home Assistant**: Combine MQTT with Home Assistant's powerful dashboard and automation tools to control and monitor all your devices in one place.\n- **Dashboards and Visualizations**: Pair MQTT with platforms like Grafana for real-time visualizations of your IoT data.\n\n---\n\n## Flash RaspberryOS to RPi\n\n1. Download the [Rasberry Pi Imager](https://www.raspberrypi.com/software/)\n2. Select the following:\n\n- Device: _Select the appropriate RPi device you use_.\n- OS: Raspberry Pi OS (64-bit).\n- Storage: Mount an empty SD-card and select it.\n\n3. When prompted to add custom settings, say `yes`and press `Edit Settings`:\n\n- Set your hostname to `smarthome`\n- Set a password of choice\n- Enter your WIFI network SSID and password.\n- Set locale settings as per your preference.\n- Enable SSH with password authentication.\n\n4. When flashing is complete, insert the SD-card in the RPi and boot it up.\n\n---\n\n## SSH into your RPi\n\n```sh\nssh smarthome@smarthome.local\n\n# If this would not work, you can also try with IP-address\nssh smarthome@\u003cIP-ADDRESS\u003e\n```\n\nEnter the password you set in the flash process.\n\n---\n\n## Update the RPi\n\n```sh\nsudo apt-get update \u0026\u0026 apt-get upgrade -y\n```\n\nEnter the password if prompted.\n\n---\n\n## Clone the `rpi-smart-home` repository\n\n```sh\ngit clone https://github.com/simonthorell/rpi-smart-home.git \u0026\u0026 cd rpi-smart-home\n```\n\n---\n\n## Run setup scripts\n\nMake the scripts executable:\n\n```sh\nchmod +x ./scripts\n```\n\n#### 1. Run the RPi config script:\n\n```sh\n./scripts/conf-rpi.sh\n```\n\n#### 2. Run the boot script:\n\n```sh\n./scripts/conf-boot.sh\n```\n\n_*** You may get promted to reboot after these executed. If so, say `yes` and reboot. You will need to SSH back into the device as per previous step and continue from where you left off. ***_\n\n---\n\n## Get your RPi host IP address\n\nRun the following command and note down the first IP-address in the list.\n\n```sh\nhostname -I\n```\n\n_It should look something like 192.168.XX.XXX which is your `\u003cRPI-IP-ADDRESS\u003e`_\n\n---\n\n## Access Web Interfaces\n\nOpen a web browser connected to the same network as the smarthome RaspberryPi.\n\n**Zigbee2Mqtt**: `http://\u003cRPI-IP-ADDRESS\u003e:8080`  \n**Homebridge**: `http://\u003cRPI-IP-ADDRESS\u003e:8581`\n\n---\n\n## Zigbee Dongle\n\n### Update Skyconnect Zigbee Dongle\n\nIf you are using the HomeAssistant Skyconnect Zigbee dongle, connect the dongle to a desktop computer and follow this link and update it with latest firmware:\n\n- https://connectzbt1.home-assistant.io/firmware-update/#from-skyconnect\n\n### Locate ZigBee Dongle\n\nList connected devices to locate your ZigBee USB stick:\n\n```sh\nls /dev/serial/by-id/\n```\n\nLook for an entry resembling:\n\n```sh\nusb-Nabu_Casa_Home_Assistant_Connect_ZBT-1_eee059dfa939ef11b57253f454516304-if00-port0\n```\n\nCheck where the symlink points:\n\n```sh\nls -l /dev/serial/by-id/usb-Nabu_Casa_Home_Assistant_Connect_ZBT-1_eee059dfa939ef11b57253f454516304-if00-port0\n```\n\nTake a look at the last part that should say: `../../ttyUSB0`.\n\n### [Optional] - Update Zigbee Dongle Port\n\n#### 1. Open `docker-compose.yml` and update `ttyUSB0` with your dongle port under zigbee2mqtt service:\n\n```sh\ndevices:\n      - \"/dev/ttyUSB0\"\n```\n\n#### 2. Update the Zigbee2MQTT configuration:\n\n```sh\nnano zigbee2mqtt/data/configuration.yaml\n```\n\nReplace `ttyACM0` with your dongle port here:\n\n```sh\nmqtt:\n  base_topic: zigbee2mqtt\n  server: mqtt://mosquitto\n  serial:\n      port: /dev/ttyACM0\n```\n\n---\n\n## MQTT Explorer\n\nIf you want to monitor the MQTT messages, install [MQTT Explorer](https://mqtt-explorer.com/) on a desktop computer on the network, and add the following config:\n\n- **Encryption**: false (unless you have enabled TLS in mosquitto config file)\n- **Host**: `\u003cRPI-IP-ADDRESS\u003e`\n- **Port**: `1883`\n\n---\n\n## Connect Zigbee IoT devices\n\n### Zigbee2MQTT\n\n1. Open a browser and go to `http://\u003cRPI-IP-ADDRESS\u003e:8080`.\n2. In the menubar, click the button `Permit join (All)`\n3. Reset the state of your IoT device. Check this [link](https://www.zigbee2mqtt.io/guide/usage/pairing_devices.html) for details.\n4. Set a name (also check 'Update Home Assistant entity ID').\n\n### Homebridge\n\n1. Open a browser and go to `http://\u003cRPI-IP-ADDRESS\u003e:8581`.\n2. Set your login credentials if it's your first time logging in.\n3. Go to `Plugins` and install `homebridge-z2m` (Homebridge Zigbee2MQTT).\n4. Go to `Accessories` and make sure your IoT-device is visible.\n\n### Apple Homekit\n\n1. Click the `+` button on the top and select `Add Accessory`\n2. Click `More options...`.\n3. Select the Homebridge and Accessories you want to add and follow the HomeKit instructions.\n\n_The Apple UI is a bit confusing, so if you add the bridge via settings, you will not see your IoT devices in HomeKit_\n\n---\n\n# Links\n\n- [Homebridge Docker](https://github.com/homebridge/homebridge/wiki/Install-Homebridge-on-Docker#install-homebridge)\n- [Zigbee2MQTT Docker](https://www.zigbee2mqtt.io/guide/installation/02_docker.html#docker-compose)\n\n---\n\n# Licence\n\nAs per attached `LICENCE` file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonthorell%2Frpi-smart-home","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonthorell%2Frpi-smart-home","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonthorell%2Frpi-smart-home/lists"}