I have been playing around with home automation for a while but was never really happy with the solutions. FHEM might be a great software but feels like the 80ies and is quite complicated to configure. OpenHAB seems to be provide better graphical support but requires Java to run it. When I came across pimatic it seemed like the perfect solution. Modern NodeJS package management, great device support and a graphical user interface to define rules.
The setup is well described and quite easy. Only drawback was that pimatic is designed for the Raspberry Pi and I wanted to leverage my existing Synology Disk Station. Although Synology supports NodeJS you cannot run pimatic directly on it because of the build process. So I quickly decided that I want to run it as a docker container.
The process was not straight forward all the way so here is a quick step-by-step guide:
- Place the pimatic config file on your Synology Disk Station and copy the path e.g. /volume1/docker/pimatic/
- Make sure that the name of the config file is: config-json-pimatic.json
- Open the docker application within the Synology Disk Station
- Search for „petschni/pimatic“ and double-click so that the image is being downloaded
- Connect to your DiskStation using SSH.
- sudo su
- docker images
- copy the image ID
- Run the docker container with
- docker run -it -p YOUR_PORT:PIMATIC_PORT -v /volume1/docker/pimatic/:/home/pimatic-app/configMount/ IMAGE_ID
- The container will start, install pimatic and start pimatic.
- Access pimatic @ http://SynologyIP:YOUR_PORT
- If everything is working close the command line
- Go back to the Synology UI
- Stop the container
- Mark the container and click „edit“
- Now you can change the name, CPU priorities, enable auto-restart.
- You are all set and you can start and stop the container now using the graphical Synology App (no need for the command line)
The pimatic docker image can be found here: https://hub.docker.com/r/petschni/pimatic/
Source Code @ https://github.com/petschni/pimatic
This is my first docker image so I am very much interested in feedback and suggestion to improve it!