Skip to content

Non-public configuration for my personal smart home setup.

Notifications You must be signed in to change notification settings

IanStorm/my-smart-home-node-red

Repository files navigation

My Smart Home - Node-RED

GitHub Actions Docker Pulls Docker Stars

Smart Home project for private purposes. Unifies the management of various device types like smart plugs, smart radiator controls, robotic vacuum cleaner, etc.

🐳 Make sure you have installed Docker.

See how to put this repo in action at IanStorm/my-smart-home-ras-pi.

How to use in "production"? 👨‍💼 👩‍💼

  1. Follow "How to get a pre-built Docker image?"
  2. Ensure ./credentials/docker-env.list exists. See "a word on docker-env.list".
  3. Start a Docker instance:
$	docker run --rm -i -t --network host -p 1880:1880 --env-file ./credentials/docker-env.list ianstorm/my-smart-home-node-red:latest

Screenshots 🖼️

Screenshot Favorites page

Screenshot Menu

Screenshot Study page

Screenshot Bathroom page

Screenshot Balcony page

Screenshot Hallway 1 page

Screenshot Hallway 2 page

Screenshot Bedroom page

Screenshot Living-kitchen Area page

Screenshot Monitoring page

Screenshot System page

How to develop, i.e. how to change the flows? 👨‍💻 👩‍💻

Make sure you have installed Visual Studio Code.

  1. Clone this repository.
  2. cd inside the cloned folder.
  3. In flow-manager-cfg.json adapt filter to only load desired flows. (Mind: Make sure to include all flows containing credentials.)
  4. In settings.js set disableEditor: false (instead of true).
  5. Build the Docker image: Run the vscode task build.
  6. Ensure ./credentials/docker-env.list exists. See "a word on docker-env.list".
  7. Start a Docker instance: Run the vscode task run (dev).
  8. Open any browser and enter http://localhost:1880.
  9. Start coding, changes will be reflected in your local machine.

Appendix

How to get a pre-built Docker image? ☁️

Get the latest Docker image from Docker Hub:

$	docker pull ianstorm/my-smart-home-node-red:latest

A word on docker-env.list 📝

The file needs to have the following content:

NODE_RED_CREDENTIAL_SECRET=your_secret_goes_here

⚠️ Make sure to keep the secret otherwise the flows cannot be decoded/decrypted anymore.