{"id":20549408,"url":"https://github.com/destroyedlolo/majordome","last_synced_at":"2025-04-14T11:03:07.283Z","repository":{"id":46113802,"uuid":"58405571","full_name":"destroyedlolo/Majordome","owner":"destroyedlolo","description":"Events based automation tool based on timers and MQTT messages arrival. The application is a galaxy of small Lua tasks.","archived":false,"fork":false,"pushed_at":"2024-10-27T16:57:38.000Z","size":813,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-10-28T00:31:38.453Z","etag":null,"topics":["lua","mqtt-message","scenarii","smarthome"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/destroyedlolo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-09T20:22:35.000Z","updated_at":"2024-10-27T11:28:59.000Z","dependencies_parsed_at":"2023-12-12T13:26:52.373Z","dependency_job_id":"e5028a9f-bb37-4a5a-9c5e-1b47b42906a7","html_url":"https://github.com/destroyedlolo/Majordome","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/destroyedlolo%2FMajordome","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/destroyedlolo%2FMajordome/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/destroyedlolo%2FMajordome/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/destroyedlolo%2FMajordome/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/destroyedlolo","download_url":"https://codeload.github.com/destroyedlolo/Majordome/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224866851,"owners_count":17382914,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lua","mqtt-message","scenarii","smarthome"],"created_at":"2024-11-16T02:17:50.759Z","updated_at":"2025-04-14T11:03:07.277Z","avatar_url":"https://github.com/destroyedlolo.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"A lightweight, event driven **Automation System**.\n\n![icon](https://github.com/destroyedlolo/HomeDashboard/blob/master/SeleniteDFB/Images/Majordome.png)\n[![Last Commit](https://img.shields.io/github/last-commit/destroyedlolo/Majordome?logo=github\u0026label=latest%20commit\u0026style=flat-square)](https://github.com/destroyedlolo/Majordome/releases/latest)\n[![Latest Release](https://img.shields.io/github/v/release/destroyedlolo/Majordome?logo=github\u0026label=latest%20release\u0026style=flat-square)](https://github.com/destroyedlolo/Majordome/releases/latest)\u003cbr\u003e\n(no commit for long time doesn't mean this project is stalling but reached a stable state and I switched to others activities :relaxed:)\n\n----\n\u003e [!IMPORTANT]\n\u003e **Master** branch is the stable, well tested and industries grade version.\u003cbr\u003e\n\u003e **Toile** and **V6** branches are currently on heavy development. It's not yet fully tested and stable (i.e. subject to changes).\n\n----\n\n\nWithin **Majordome**, your application is built around a galaxy of small tasks orchestrated by efficient but resource conservative mechanisms.\u003cbr\u003e\nYou organize your code into independent and **stateless Lua functions** that are called when an event happened and/or conditions are met (*like what AWS Lambda does*). Tasks are executed only if necessary in the massively threaded Majordome engine, resulting in an as reduced as possible system footprint.\n\nAs of **V6**, you can also feed industries standard **PostgreSQL** databases with incoming data in a *LowCode* (or even *NoCode*) way. Take a look on [comprehensive provided example](Documentations/Database/SamplesCode).\n\nFollowing the [KISS principle](https://en.wikipedia.org/wiki/KISS_principle), **Majordome** depends mainly on **MQTT messaging** and **timers** to trigger tasks, delegating real world communication to other dedicated components (like [Marcel](https://github.com/destroyedlolo/Marcel) in my case).\n\n---\n\nTypical use-cases :\n---\n- Smart home automation [^1]\n- SCADA automation\n- centralizing data gathering and processing, fault detection\n- your imagination is the limit ...\n\n---\n\n[Documentations](/Documentations/) explains how to configure automation within Majordome\n\n---\n\nAny contributions are greatly appreciated.\n\n[^1]: **Majordome**, with the help of **Marcel** for the \"*real world*\" part, drive my smart house for 7 years without any glitches. See `MaMaison` branch for this complete and real life implementation.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdestroyedlolo%2Fmajordome","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdestroyedlolo%2Fmajordome","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdestroyedlolo%2Fmajordome/lists"}