Skip to content

Hywan/LaMaisonVivante

Repository files navigation

Home Automation programs for La Maison Vivante

Some programs used to automate our house. The house is entirely self-sufficient, which means it is out-of-grid for water and electricity. There is also no central heating system. And for the most curious of you, dear readers, the house is made of straw, wood, and earth, while being super modern! But this repository is about programs that are used for the home automation, monitoring etc.

Navigation

🪟 Blinds

Blinds are controlled by the blinds.ino program, that lands in a Controllino, along with its companion blinds. Learn more.

🚿 Domestic Hot Water and 🌬️ Ventilation

Supplied air, extracted air, temperatures, CO2, Domestic Hot Water (DHW), Storage Hot Water (SHW) etc. are monitored with the nilan program. Learn more.

⚡ Electricity

Batteries, PV inverter, and house are monitored with the victron-reader program. Learn more.

💡 Lights

Lights are controlled by the lights.ino program, that lands in a Controllino, along with its companion lights. Learn more.

💧 Water tanks

The house uses rain for everything. Rain is collected inside 2 water tanks. The tanks program runs in an ESP to calculate the remaining water in the tanks. Learn more.

Transport

The transport is composed of two parts: The (electric) vehicle itself, and its charging station:

🚗 Electric vehicle

The electric vehicle is a Kia EV6, it has its own program to fetch vehicle data via Kia Connect. Learn more.

🔌 Charging station

The charging station is an Alfen Eve Single S-line, it has its own program to fetch and to control it. Learn more.

🌤️ Weather

Weather can be requested through the weather program. It collects and exposes a set of interesting weather data. Learn more.

Domestic Appliances

Domestic Appliances are used for thiner monitoring. For the moment, only the dishwasher is supported with the vzug-reader program. Learn more.

🎨 Hub

The hub contains several programs:

The UI

The UI is a Web application that can be installed natively or run in a browser. It can be understood as a WebThing gateway. It provides a nice real-time overview of several WebThings, like the battery, the solar PV, the ventilation, the domestic hot water, the humidity etc. It also adds actions to control several things, like the lights and the blinds. Learn more.

Home Realtime Metrics Daily Metrics
UI: Home UI: Real time metrics (1/2) UI: Real time metrics (2/2) UI: Daily metrics

💾 The Database

The Database is based on PostgreSQL + Timescale. It contains time-series of the data fetched by the WebThings. It provides metrics, and can be used to automate some parts of the house. Learn more.

The Database is filled by the Event Aggregator.

The Event Aggregator

The Event Aggregator is a very simple program that fetches data from various WebThings, and saves them in the Database. That's it! Learn more.

The Event Automator

The Event Automator is an attempt to automate certain actions in the house, by looking at the data in the Database to trigger some WebThing'actions. Learn more.

🐧 Services

The services/ directory contains all service definitions ready to be consumed by systemctl. Learn more.

Install

To compile all Rust programs (readers or controllers), run the following:

$ cargo build --release --workspace

The other .ino programs must be installed manually for the moment. Check respective README.mds.

License

The license is WTFPL.

       DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
                Version 2, December 2004

Copyright (C) 2021- Ivan Enderlin <ivan@mnt.io>

Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.

           DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
  TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

 0. You just DO WHAT THE FUCK YOU WANT TO.