lha is a light home automation application
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
- design web views using HTML and Vue.js
- 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.
lha comes with a bunch of core extensions and allows to add new ones.
See details of extensions
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
An example of a dashboard setup with temperature and motion sensors.
A chart of temperature sensors.
An example of script to send a SMS on an intrusion.
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.
The lha release includes web extensions using the following libraries:
- "vuejs" is licensed under the MIT License see https://vuejs.org/
Reactive, component-oriented view layer for modern web interfaces - "blockly" is licensed under the Apache License 2.0 see https://developers.google.com/blockly/
Blockly is a library from Google for building beginner-friendly block-based programming languages - "Chart.js" is licensed under the MIT License see http://chartjs.org/
Simple yet flexible JavaScript charting for designers & developers - "Moment.js" is licensed under the MIT License see https://momentjs.com/
Parse, validate, manipulate, and display dates and times in JavaScript - "Font Awesome Free" is licensed under multiple licenses see https://fontawesome.com/license/free
The iconic font and CSS framework - "fetch" is licensed under the MIT license see https://github.com/github/fetch/releases
- "promise" is licensed under the MIT license see https://github.com/taylorhakes/promise-polyfill