Think of myHouse as a framework for collecting statistics and automating your house. Configure the sensors you want to collect data from by leveraging the included plugins (e.g. to collect weather statistics, images from the Internet, your GPS position, data collected by MySensors, etc.).
What will be presented in the web interface is completely up to you. You can define your own modules, configure all the widgets and statistics that will be presented in the order you like the most. From the interface your actuators can be controlled as well.
You can also easily create rules to be automatically alerted whenever a specific situation is taking place. Notifications are both presented within the web interface, sent by e-mail and posted on a Slack channel of your choice. A Slack bot allows also direct interaction in your natural language. It can reply to your questions, share with you statistics and charts or even control the actuators on your behalf
myHouse Project Home Page: https://myhouse-project.github.io
myHouse on Docker: https://github.com/myhouse-project/myhouse-docker
conf
(that will be mapped into /conf
inside the container) and copy in your own config.json
file if you already have it. If no configuration file is provided (e.g. first time user) the example file will be loaded and the same will be copied into /conf
. Edit it and and restart the container to apply the changes.data
(that will be mapped to /data
inside the container), where the database file will be writtenlogs
(that will be mapped to /logs
inside the container) where myHouse log files will be writtensetup
(that will be mapped to /setup
inside the container) and create a file named setup.sh
in it which will be executed inside the container before actually starting myHouse. Sample scripts for performing the most common actions (e.g. setting the timezone, connect a bluetooth speaker, etc.) are already included into the container (see the commented commands inside setup.sh
on the docker project website https://github.com/myhouse-project/myhouse-docker)docker run --rm -p 80:80 -v $(pwd)/conf:/conf -v $(pwd)/data:/data myhouseproject/myhouse
docker run myhouseproject/myhouse bash
--restart always
)--privileged
) or map the device (e.g. -v /dev/ttyUSB0:/dev/ttyUSB0
)--net=host
)-e NO_REDIS=1
and -e NO_MQTT=1
)/etc/init.d/rsyslog start
)-p 1883:1883
)/etc/init.d/ssh start
) and map port 22 (e.g. -p 2222:22
)myhouseproject/myhouse:development
--net=host
) or expose port 50140/udp (e.g. -p 50140:50140/udp)Especially when running the redis database in an independent container or if one of the scenarios above applies, providing all the command line arguments may become cumbersome. Docker compose can help in this situation, also for centralizing the configuration of all the containers.
A sample docker-compose.yml
file is provided on https://github.com/myhouse-project/myhouse-docker. Customize the file based on your needs and run it with docker-compose up -d