How I wrote my own Smart Home Software using Lua

This page summarizes the projects mentioned and recommended in the original post on /r/programming

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • mako-smarthome

    Mako Lua Server for managing SmartHome devices based on the deCONZ API

  • Thank you. I mentioned in the conclusion that all code is on GitHub. Here's the repo as you're not the first one asking for it: https://github.com/renatoathaydes/mako-smarthome

  • Marcel

    Very lightweight daemon to publish figures to a MQTT broker (1wire data as temperatures, ISP real time consumption, UPS figures, meteo forecast, ...), check subscribted topics and alerts if out of range or missing. Custom decision scripts can be created in Lua. (by destroyedlolo)

  • Everything is built around MQTT messaging and I got several daemons picking, processing and submitting information. - https://github.com/destroyedlolo/Marcel is in charge of low level interface with my 1-wire network, get weather forecast, ISP figures ... Lua user script are doing simple processing and validate data if needed - https://github.com/destroyedlolo/Majordome is the root of the automation. Lua user scripts are launch based on received even and implement the automation. Initially, it was fully a Lua application, but separating the low level (C++) and user part (Lua) makes the code more easily manageable, and simply everything. - https://github.com/destroyedlolo/Selene is a framework helpers to Lua. Thanks to its pluggins, it add some capabilities to Lua to generate graphical or textual interface ... and much more like data management, multi-threading (real threading, not only co-routine that wasn't enough for such massive event driven dashboard).

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • Majordome

    Events based automation tool : Event can be timers and MQTT messages arrival. Triggers Lua scripts.

  • Everything is built around MQTT messaging and I got several daemons picking, processing and submitting information. - https://github.com/destroyedlolo/Marcel is in charge of low level interface with my 1-wire network, get weather forecast, ISP figures ... Lua user script are doing simple processing and validate data if needed - https://github.com/destroyedlolo/Majordome is the root of the automation. Lua user scripts are launch based on received even and implement the automation. Initially, it was fully a Lua application, but separating the low level (C++) and user part (Lua) makes the code more easily manageable, and simply everything. - https://github.com/destroyedlolo/Selene is a framework helpers to Lua. Thanks to its pluggins, it add some capabilities to Lua to generate graphical or textual interface ... and much more like data management, multi-threading (real threading, not only co-routine that wasn't enough for such massive event driven dashboard).

  • Selene

    Automation tool based on MQTT data. Optionnal backends to create "DRM/Cairo" "DirectFB" or "Curses" graphical applications. (by destroyedlolo)

  • Everything is built around MQTT messaging and I got several daemons picking, processing and submitting information. - https://github.com/destroyedlolo/Marcel is in charge of low level interface with my 1-wire network, get weather forecast, ISP figures ... Lua user script are doing simple processing and validate data if needed - https://github.com/destroyedlolo/Majordome is the root of the automation. Lua user scripts are launch based on received even and implement the automation. Initially, it was fully a Lua application, but separating the low level (C++) and user part (Lua) makes the code more easily manageable, and simply everything. - https://github.com/destroyedlolo/Selene is a framework helpers to Lua. Thanks to its pluggins, it add some capabilities to Lua to generate graphical or textual interface ... and much more like data management, multi-threading (real threading, not only co-routine that wasn't enough for such massive event driven dashboard).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts