Skip to content
This repository has been archived by the owner on Apr 5, 2021. It is now read-only.
/ dlibox Public archive

Home automation that does not depend on the internet

License

Notifications You must be signed in to change notification settings

maruel/dlibox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dlibox

Yet-another-home-automation project

GoDoc Go Report Card

Why another one?

  • Performant
    • When there's a power outage, it boots within 11 seconds on a RPi3.
      • I don't want to wait 3 minutes for Java (OpenHAB) or node.js (node-red) to startup. Go executables start instantaneously.
    • It is designed to run extremely well on single core systems like the C.H.I.P. or the Raspberry Pi Zero.
  • Maintainable
    • Devices can be deployed via github.com/periph/bootstrap.
    • dlibox self-updates every night.
    • The controller and the device (node) are the same Go executable. It can be simply scp'ed if desired.
    • The device has no local configuration beside the MQTT server name, which defaults to the host dlibox so if you setup your controller hostname to dlibox, you litterally have no configuration to do on the devices.
    • Uses a derivative of the Homie convention which is well designed. The tweak is that it's the controller that tells the device what nodes it shall present. This simplifies management.
    • Communicates over MQTT, which is a stable protocol and a stable implementation.
  • Secure
    • No internet connectivity is needed nor used. Everything is local on the LAN. What is in your house stays in your house.
    • Devices deployed via bootstrap apply Debian security updates automatically every night.
  • Usable
    • Web App served directly from the controller. Everything is accessed via this Web App. It is installable on mobile phones to use it like a App. It makes it trivial to make dashboards with old tablets.
  • Featureful
    • Can drive multiple strips of LEDs like the APA-102 in a fully synchronous manner, thanks to github.com/maruel/anim1d. anim1d permits to create complex animations that are synchronized across multiple nodes. This permits very long runs of LEDs strips that are fully synchronized by using multiple computers, one per few hundred LED.
    • Supports general 'home automation' like sensors and displays.
    • Leverages periph.io for all hardware access.

Look at HARDWARE.md for more information about what to buy.

There's an incomplete device implemented in C++ to run on a ESP8266 that will act as an Homie node.