javalikescript / lha

light home automation application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

lha is a light home automation application

Overview

The lha application allows to

  • enrich your existing gateway such as the Hue bridge
  • record and display historical device values such as temperature
  • interact between incompatible protocols such as between ZigBee and Z-Wave
  • compose advanced automations using Blockly scripts
  • create your own Lua extensions

The lha engine manages the extensions including scripts, the things, the scheduler and a web server. The engine records thing property values in dedicated time based log files.

It is a pure Lua application built around a scheduler and an HTTP server based on luajls. It exposes a Web of Things API.

The lha application could be run on small computers such as the Raspberry PI or the WD MyCloud. It could also be run on any Linux distribution or Windows. The application is small, around 5MB, and does not need any dependency.

Extensions

Available extensions are:

  • ConBee II, Dresden elektronik ConBee REST API
    The recommended tool is deCONZ using docker
  • Philips Hue V2, Hue Bridge REST API
    The recommended tool is the Hue Bridge
  • Z-Wave JS WS, Z-Wave JS API
    The recommended tool is Z-Wave JS UI using docker
  • MQTT Broker, provides a light message broker
  • Generic
    Create virtual things, usefull for scripting
  • Web Chart
    Display thing property values in a time chart
  • Web Dashboard
    Setup tiles with relevant thing properties
  • Web Scripts
    Automatically trigger thing modifications
  • Share server folders to download and upload files
  • Users Management, adds user and permissions
  • HTTPS server, provides lha on a secure server
  • Self monitoring, based on Lua and libuv
  • Ping, Test the reachability of a host on the network

You need to include your devices using the dedicated tool such as deCONZ, Hue App or Z-Wave JS UI Control Panel.

Devices

Any device available through ConBee, Hue or Z-Wave JS could be added by enhancing the extension JSON mapping files.

See list of already available devices

Screenshots

An example of a dashboard setup with temperature and motion sensors. dashboard

A chart of temperature sensors. data-chart

An example of script to send a SMS on an intrusion. alarm-script

Setup

Download the latest release corresponding to your target OS. Unzip the archive and launch the engine using bin/lua lha.lua -ll info

Open the web interface in a browser. Go to the extension section to add and configure your extensions.

Note that you will need to provide an authorized user to use the ConBee or Hue bridge.

Dependencies

The lha release includes web extensions using the following libraries:

About

light home automation application

License:MIT License


Languages

Language:Lua 58.9%Language:JavaScript 31.4%Language:HTML 6.3%Language:CSS 2.8%Language:Makefile 0.5%Language:Batchfile 0.0%Language:Shell 0.0%