{"id":15389135,"url":"https://github.com/splitbrain/nodemcu-scripts","last_synced_at":"2025-05-07T16:27:40.859Z","repository":{"id":48384610,"uuid":"93326011","full_name":"splitbrain/nodemcu-scripts","owner":"splitbrain","description":"scripts to power my nodemcu boards","archived":false,"fork":false,"pushed_at":"2021-07-28T21:15:56.000Z","size":21,"stargazers_count":3,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-28T20:04:30.933Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/splitbrain.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-04T16:22:22.000Z","updated_at":"2022-09-11T11:09:56.000Z","dependencies_parsed_at":"2022-08-26T02:32:14.586Z","dependency_job_id":null,"html_url":"https://github.com/splitbrain/nodemcu-scripts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splitbrain%2Fnodemcu-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splitbrain%2Fnodemcu-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splitbrain%2Fnodemcu-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/splitbrain%2Fnodemcu-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/splitbrain","download_url":"https://codeload.github.com/splitbrain/nodemcu-scripts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252914750,"owners_count":21824429,"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":[],"created_at":"2024-10-01T14:59:31.620Z","updated_at":"2025-05-07T16:27:40.833Z","avatar_url":"https://github.com/splitbrain.png","language":"Lua","readme":"# NodeMCU Scripts\n\u003e Scripts to power my NodeMCU boards\n\nThis is a simple framework to run on a [NodeMCU](https://www.nodemcu.com/) controller.\n\nIt provides an easy way to:\n\n- Configure the WiFi.\n- Subscribe and publish MQTT messages, handling all the possible errors by reconnecting.\n\nI will probably run multiple NodeMCUs in the future. To make it easier, they\nwill all receive the same Lua files, but each one will run a specific `app_*.lua`\n\nWhich NodeMCU is responsible for what is configured in the `nodenames` table of\n[config.lua](/config.lua), the `node.chipid()` is used to figure out where we run.\n\nThe [config.lua](/config.lua) also contains some basic setup for the WiFi and the MQTT broker.\n\nPasswords have to be placed in an unversioned `secrets.lua`.\nSee the [secrets.lua.dist](/secrets.lua.dist) file for a template.\n\nThe wifi setup has a `g.wifi.waitThen()` method accepting a callback that will\nbe run only after an IP address has been assigned. You will probably want to wait\nfor that before starting the MQTT client.\n\nSee [app_balcony.lua](/app_balcony.lua) for an example application. It allows the control of a water\npump via MQTT. However, the pump will not run when the water level is too low.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplitbrain%2Fnodemcu-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsplitbrain%2Fnodemcu-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsplitbrain%2Fnodemcu-scripts/lists"}