The new system is slightly less flexible, but the code and lua definitions is now a lot simpler and easier to understand. In fact the old lua definition was not actually correct. It is likely that existing configs require not/minimal tweaks to work again.
38 lines
895 B
Lua
38 lines
895 B
Lua
-- DO NOT MODIFY, FILE IS AUTOMATICALLY GENERATED
|
|
---@meta
|
|
|
|
---@class FulfillmentConfig
|
|
---@field openid_url string
|
|
---@field ip (string)?
|
|
---@field port (integer)?
|
|
local FulfillmentConfig
|
|
|
|
---@class Config
|
|
---@field fulfillment FulfillmentConfig
|
|
---@field modules (Module)[]
|
|
---@field mqtt MqttConfig
|
|
---@field schedule (table<string, fun() | fun()[]>)?
|
|
local Config
|
|
|
|
---@class Module
|
|
---@field setup (fun(mqtt_client: AsyncClient): Module | DeviceInterface[] | nil)?
|
|
---@field devices (DeviceInterface)[]?
|
|
---@field [number] (Module)[]?
|
|
local Module
|
|
|
|
---@class MqttConfig
|
|
---@field host string
|
|
---@field port integer
|
|
---@field client_name string
|
|
---@field username string
|
|
---@field password string
|
|
---@field tls (boolean)?
|
|
local MqttConfig
|
|
|
|
---@class AsyncClient
|
|
local AsyncClient
|
|
---@async
|
|
---@param topic string
|
|
---@param message table?
|
|
function AsyncClient:send_message(topic, message) end
|