Skip to content

vindolin/HomeBase14

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HomeBase14 - a personal home automation app

Flutter

Warning

This app is tailored to my specific environment and is not intended as a general home automation app!

This project was initiated as a platform for me to acquire knowledge in Flutter/Dart, providing a practical scenario to refine my skills.

Being an enthusiast of open-source home automation and owning a variety of devices with different MQTT payload structures, this project presented an excellent chance to substitute the multiple control programs with one that is custom-made for my requirements.

I experimented with various reactive state frameworks before settling on Riverpod for data-binding.

I really like Flutter's declarative approach and the robustness of the resulting app.

The project is currently a work in progress, and with the knowledge I’ve gained about Flutter/Dart and the libraries I’m utilizing, there are numerous aspects I would approach differently now.

I am continually refactoring past errors and incorporating new devices as they become part of our household.

The app currently runs in desktop mode under Linux/Windows/OSX and Android/iOS.

The following devices can be controlled/monitored via MQTT messages:

Zigbee (Zigbee2MQTT)

  • Window blinds (single and dual)
  • Thermostats (underfloor heating)
  • Ikea smart bulbs (and other dump bulbs)
  • Garden zistern pump
  • Sodastream uses (vibration sensor)
  • Multi power strip
  • Door contact sensors
  • Humidity/Temp sensors

Wifi

  • Garage door (ESP32 controlling a remote controll via transistor)
  • various Tasmota plugs
  • Plant watering system for an always thirsty coffee bush (ESP8266, servo valve)
  • Incubator for Tempeh etc. (ESP32)

Other

  • Basic IR remote controll for TV and sound bar
  • Metrics of my SMA Tripower solar controller (modbus)
  • Prusa I3 MK3s (USB Serial controller)
  • Sleep modes and output device of my main PC
  • Greenhouse temperature sensors (LoRa)
  • Configuration data is stored in an encrypted file which is decrypted with a user provided key

It also lets me view the RTSP streams of two survailance cams (media_kit)

Tip

You can find an example bare bones MQTT/Riverpod example that uses a family provider here: https://github.com/vindolin/simple_mqtt_riverpod_example

Screenshots

About

HomeBase14 - a personal home automation app

Topics

Resources

License

Stars

Watchers

Forks

Languages