{"id":20226650,"url":"https://github.com/rajkumargara/node-red-bridge","last_synced_at":"2026-06-05T03:32:36.982Z","repository":{"id":217962874,"uuid":"745218255","full_name":"RajkumarGara/node-red-bridge","owner":"RajkumarGara","description":"Bridge remote serial network commands for LMDI-100 and Mechonet","archived":false,"fork":false,"pushed_at":"2024-10-08T16:33:01.000Z","size":33639,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-13T23:35:02.942Z","etag":null,"topics":["lmdi","mechonet","node-red","node-red-ui","pico-w","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":null,"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/RajkumarGara.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":"2024-01-18T21:43:29.000Z","updated_at":"2024-10-08T16:33:05.000Z","dependencies_parsed_at":"2025-01-13T23:42:17.805Z","dependency_job_id":null,"html_url":"https://github.com/RajkumarGara/node-red-bridge","commit_stats":null,"previous_names":["rajkumargara/nodered-ui-to-tcp-flow","rajkumargara/node-red-bridge"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RajkumarGara%2Fnode-red-bridge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RajkumarGara%2Fnode-red-bridge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RajkumarGara%2Fnode-red-bridge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RajkumarGara%2Fnode-red-bridge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RajkumarGara","download_url":"https://codeload.github.com/RajkumarGara/node-red-bridge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241670156,"owners_count":20000327,"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":["lmdi","mechonet","node-red","node-red-ui","pico-w","raspberry-pi"],"created_at":"2024-11-14T07:19:33.249Z","updated_at":"2025-03-03T13:12:59.794Z","avatar_url":"https://github.com/RajkumarGara.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"## About\nThis repository is your go-to source for integrating digital light control and window shading systems into your smart home, using a Raspberry Pi and Pico-W. It is compatible with both iOS and Android devices through Apple HomeKit and Node-RED UI. It is a better alternative to the [homebridge-tcp-smarthome](https://github.com/RajkumarGara/homebridge-tcp-smarthome) project. \n\n**Ready to give your smart home an upgrade? Let's dive in!**\n\n[![Smart window control video](img/7.GIF)](https://youtu.be/M36LoMouvPg)\n\n## Working procedure\nThe [SmartHome.json](./SmartHome.json) flow in Node-RED on a Raspberry Pi enables the control of lights (connected through [`LMDI-100`](./docs/LMDI_Serial_Protocol.pdf)) and window blinds (connected via [`Mechonet`](./docs/Mecho_Shade_Serial_Protocol.pdf)) in a home automation setup. When an accessory is operated via Apple HomeKit or the Node-RED-UI website, Node-RED sends the command to the appropriate pseudo terminal (pty). These ptys are established by the [PtyServer](https://github.com/RajkumarGara/remote-serial-pico/blob/main/src/pi/PtyServer.js) software, which connects to each [Pico-W](https://github.com/RajkumarGara/remote-serial-pico/blob/main/src/pico/main.py) unit over TCP. Subsequently, the Pico-W relays these commands to the connected devices (LMDI or Mechonet) through RS232 communication. Node-RED displays the Pico-W responses in the Node-RED-UI for effective monitoring. Installing several Pico-W units in a building, all linked to the same WiFi network as the Raspberry Pi, enables centralized management of various devices.\n\n## Features\n1. Accessories can be operated through either Apple HomeKit or Nodered-UI website.\n2. It supports lights and window covering accessories.\n3. Number of accessories can be configured.\n4. Individual and all lights on/off control.\n5. Individual lights brightness control from 0 to 100%.\n6. Individual and all window blinds 5-level (0%, 25%, 50%, 75%, 100%) covering.\n7. Provides the status of blinds and lights.\n\n## Installation\n* Install [nodered](https://nodered.org/docs/getting-started/raspberrypi) on Raspberry-Pi by running this command on Pi's terminal.\n    ```bash\n    bash \u003c(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)\n    ```  \n* Install [nodered-red-dashboard](https://flows.nodered.org/node/node-red-dashboard) and start the node-red service.\n    ```bash\n    cd ~/.node-red\n    npm i node-red-dashboard\n    node-red-restart\n    sudo systemctl enable nodered.service\n    node-red-start\n    ```  \n* Refer [NRCHKB](https://github.com/NRCHKB/node-red-contrib-homekit-bridged?tab=readme-ov-file#easy-install) to install HomeKit package on nodered.\n\n## Running the Setup\n* Follow the instructions in [import export flow](https://flowfuse.com/blog/2023/03/3-quick-node-red-tips-5/#1.-copy-and-share-your-flows-using-export-and-import) to import [`SmartHome.json`](./SmartHome.json) to the nodered.\n* Follow the instructions in [remote-serial-pico](https://github.com/RajkumarGara/remote-serial-pico) to setup the Pico-W.\n\n## Visual Overview\n* Checkout the network diagram: [SRC](https://docs.google.com/drawings/d/1oIbP6EGNI4thhi0qzVgtGZw0lyD-F9gRc0-1tAc7O_Q/edit)\n    ![network diagram](https://docs.google.com/drawings/d/1oIbP6EGNI4thhi0qzVgtGZw0lyD-F9gRc0-1tAc7O_Q/export/png)\n\n* Writing commands to pty and reading responses from pty for each pico:\n    ![Main control flow](img/2.jpg)\n\n* Window blinds control flow: and its corresponding UI:\n    ![blinds control buttons](img/3.jpg)\n\n    ![blinds control buttons UI](img/8.jpg)\n\n* light control buttons: and its corresponding UI:\n    ![light control buttons](img/4.jpg)\n\n    ![light control buttons UI](img/9.jpg)\n\n* HomeKit accessories for Pico1:\n    ![Pico1 HomeKit accessories](img/5.jpg)\n\n* HomeKit accessories for Pico2: and its UI on iPad home:\n    ![Pico2 HomeKit accessories](img/6.jpg)\n\n    ![iPad home](img/10.jpg)\n\n## Credits\nSpecial thanks to [Medical Informatics Engineering](https://www.mieweb.com/) for their support throughout the development of this project, especially to [Doug Horner](https://github.com/horner) for his invaluable guidance.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajkumargara%2Fnode-red-bridge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frajkumargara%2Fnode-red-bridge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frajkumargara%2Fnode-red-bridge/lists"}