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

maruel/dlibox

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
cmd
 
 
 
 
 
 
esp
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.