Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vindolin/homebase14
HomeBase14 - a personal home automation app
https://github.com/vindolin/homebase14
flutter home-automation mqtt-client riverpod
Last synced: about 2 months ago
JSON representation
HomeBase14 - a personal home automation app
- Host: GitHub
- URL: https://github.com/vindolin/homebase14
- Owner: vindolin
- License: mit
- Created: 2023-01-31T13:25:26.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-10-16T13:18:23.000Z (3 months ago)
- Last Synced: 2024-10-19T10:04:13.672Z (3 months ago)
- Topics: flutter, home-automation, mqtt-client, riverpod
- Language: Dart
- Homepage:
- Size: 23.2 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# HomeBase14 - a personal home automation app
[![Flutter](https://github.com/vindolin/HomeBase14/actions/workflows/flutter.yaml/badge.svg)](https://github.com/vindolin/HomeBase14/actions/workflows/flutter.yaml)
> [!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](https://www.zigbee2mqtt.io/))
* 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](https://tasmota.github.io/docs/) 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 keyIt also lets me view the RTSP streams of two survailance cams ([media_kit](https://github.com/media-kit/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