Further work on automatically generating lua type definitions
This commit is contained in:
@@ -1,27 +1,40 @@
|
||||
--- @meta
|
||||
|
||||
--- @class WrappedDevice
|
||||
WrappedDevice = {}
|
||||
--- @return string
|
||||
function WrappedDevice:get_id() end
|
||||
|
||||
--- @class WrappedAsyncClient
|
||||
|
||||
--- @class EventChannel
|
||||
--- @return EventChannel
|
||||
function automation.device_manager:event_channel() end
|
||||
|
||||
automation = {}
|
||||
|
||||
--- @class Device
|
||||
--- @class Config
|
||||
|
||||
--- @class DeviceManager
|
||||
automation.device_manager = {}
|
||||
--- @param device WrappedDevice
|
||||
function automation.device_manager:add(device) end
|
||||
|
||||
--- @class MqttClient
|
||||
automation.mqtt_client = {}
|
||||
--- @param when string
|
||||
--- @param func function
|
||||
function automation.device_manager:schedule(when, func) end
|
||||
|
||||
--- @param identifier string
|
||||
--- @param config Config
|
||||
--- @return Device
|
||||
function automation.device_manager:create(identifier, config) end
|
||||
automation.util = {}
|
||||
--- @param env string
|
||||
--- @return string
|
||||
function automation.util.get_env(env) end
|
||||
|
||||
--- @class DebugBridge
|
||||
DebugBridge = {}
|
||||
--- @class Fulfillment
|
||||
--- @field openid_url string|nil
|
||||
automation.fulfillment = {}
|
||||
|
||||
--- @class DebugBridgeConfig
|
||||
--- @field topic string
|
||||
--- @class MqttConfig
|
||||
--- @param config MqttConfig
|
||||
--- @return WrappedAsyncClient
|
||||
function automation.new_mqtt_client(config) end
|
||||
|
||||
--- @param config DebugBridgeConfig
|
||||
--- @return Config
|
||||
function DebugBridge.new(config) end
|
||||
--- TODO: Generate this automatically
|
||||
--- @alias OutletType "Outlet"|"Kettle"|"Charger"|"Light"
|
||||
--- @alias TriggerDevicesHelper WrappedDevice[]
|
||||
|
||||
183
definitions/generated.lua
Normal file
183
definitions/generated.lua
Normal file
@@ -0,0 +1,183 @@
|
||||
-- WARN: This file is automatically generated, do not manually edit
|
||||
|
||||
---@meta
|
||||
--- @class MqttDeviceConfig
|
||||
--- @field topic String
|
||||
|
||||
--- @class AirFilter
|
||||
AirFilter = {}
|
||||
--- @param config AirFilterConfig
|
||||
--- @return WrappedDevice
|
||||
function AirFilter.new(config) end
|
||||
|
||||
--- @class AirFilterConfig
|
||||
--- @field name String
|
||||
--- @field room String|nil
|
||||
--- @field topic String
|
||||
--- @field client WrappedAsyncClient
|
||||
|
||||
--- @class AudioSetup
|
||||
AudioSetup = {}
|
||||
--- @param config AudioSetupConfig
|
||||
--- @return WrappedDevice
|
||||
function AudioSetup.new(config) end
|
||||
|
||||
--- @class AudioSetupConfig
|
||||
--- @field identifier String
|
||||
--- @field topic String
|
||||
--- @field mixer WrappedDevice
|
||||
--- @field speakers WrappedDevice
|
||||
--- @field client WrappedAsyncClient
|
||||
|
||||
--- @class ContactSensor
|
||||
ContactSensor = {}
|
||||
--- @param config ContactSensorConfig
|
||||
--- @return WrappedDevice
|
||||
function ContactSensor.new(config) end
|
||||
|
||||
--- @class ContactSensorConfig
|
||||
--- @field identifier String
|
||||
--- @field topic String
|
||||
--- @field presence PresenceDeviceConfig|nil
|
||||
--- @field trigger TriggerConfig|nil
|
||||
--- @field client WrappedAsyncClient
|
||||
|
||||
--- @class PresenceDeviceConfig
|
||||
--- @field topic String
|
||||
--- @field timeout u64
|
||||
|
||||
--- @class TriggerConfig
|
||||
--- @field devices TriggerDevicesHelper
|
||||
--- @field timeout u64|nil
|
||||
|
||||
--- @class DebugBridge
|
||||
DebugBridge = {}
|
||||
--- @param config DebugBridgeConfig
|
||||
--- @return WrappedDevice
|
||||
function DebugBridge.new(config) end
|
||||
|
||||
--- @class DebugBridgeConfig
|
||||
--- @field identifier String
|
||||
--- @field topic String
|
||||
--- @field client WrappedAsyncClient
|
||||
|
||||
--- @class HueBridge
|
||||
HueBridge = {}
|
||||
--- @param config HueBridgeConfig
|
||||
--- @return WrappedDevice
|
||||
function HueBridge.new(config) end
|
||||
|
||||
--- @class HueBridgeConfig
|
||||
--- @field identifier String
|
||||
--- @field ip Ipv4Addr
|
||||
--- @field login String
|
||||
--- @field flags FlagIDs
|
||||
|
||||
--- @class FlagIDs
|
||||
--- @field presence isize
|
||||
--- @field darkness isize
|
||||
|
||||
--- @class HueGroup
|
||||
HueGroup = {}
|
||||
--- @param config HueGroupConfig
|
||||
--- @return WrappedDevice
|
||||
function HueGroup.new(config) end
|
||||
|
||||
--- @class HueGroupConfig
|
||||
--- @field identifier String
|
||||
--- @field ip Ipv4Addr
|
||||
--- @field login String
|
||||
--- @field group_id isize
|
||||
--- @field timer_id isize
|
||||
--- @field scene_id String
|
||||
--- @field remotes MqttDeviceConfig []|nil
|
||||
--- @field client WrappedAsyncClient
|
||||
|
||||
--- @class IkeaOutlet
|
||||
IkeaOutlet = {}
|
||||
--- @param config IkeaOutletConfig
|
||||
--- @return WrappedDevice
|
||||
function IkeaOutlet.new(config) end
|
||||
|
||||
--- @class IkeaOutletConfig
|
||||
--- @field name String
|
||||
--- @field room String|nil
|
||||
--- @field topic String
|
||||
--- @field outlet_type OutletType|nil
|
||||
--- @field timeout u64|nil
|
||||
--- @field remotes MqttDeviceConfig []|nil
|
||||
--- @field client WrappedAsyncClient
|
||||
|
||||
--- @class KasaOutlet
|
||||
KasaOutlet = {}
|
||||
--- @param config KasaOutletConfig
|
||||
--- @return WrappedDevice
|
||||
function KasaOutlet.new(config) end
|
||||
|
||||
--- @class KasaOutletConfig
|
||||
--- @field identifier String
|
||||
--- @field ip Ipv4Addr
|
||||
|
||||
--- @class LightSensor
|
||||
LightSensor = {}
|
||||
--- @param config LightSensorConfig
|
||||
--- @return WrappedDevice
|
||||
function LightSensor.new(config) end
|
||||
|
||||
--- @class LightSensorConfig
|
||||
--- @field identifier String
|
||||
--- @field topic String
|
||||
--- @field min isize
|
||||
--- @field max isize
|
||||
--- @field event_channel EventChannel
|
||||
--- @field client WrappedAsyncClient
|
||||
|
||||
--- @class Ntfy
|
||||
Ntfy = {}
|
||||
--- @param config NtfyConfig
|
||||
--- @return WrappedDevice
|
||||
function Ntfy.new(config) end
|
||||
|
||||
--- @class NtfyConfig
|
||||
--- @field url String|nil
|
||||
--- @field topic String
|
||||
--- @field event_channel EventChannel
|
||||
|
||||
--- @class Presence
|
||||
Presence = {}
|
||||
--- @param config PresenceConfig
|
||||
--- @return WrappedDevice
|
||||
function Presence.new(config) end
|
||||
|
||||
--- @class PresenceConfig
|
||||
--- @field topic String
|
||||
--- @field event_channel EventChannel
|
||||
--- @field client WrappedAsyncClient
|
||||
|
||||
--- @class WakeOnLAN
|
||||
WakeOnLAN = {}
|
||||
--- @param config WakeOnLANConfig
|
||||
--- @return WrappedDevice
|
||||
function WakeOnLAN.new(config) end
|
||||
|
||||
--- @class WakeOnLANConfig
|
||||
--- @field name String
|
||||
--- @field room String|nil
|
||||
--- @field topic String
|
||||
--- @field mac_address MacAddress
|
||||
--- @field broadcast_ip Ipv4Addr|nil
|
||||
--- @field client WrappedAsyncClient
|
||||
|
||||
--- @class Washer
|
||||
Washer = {}
|
||||
--- @param config WasherConfig
|
||||
--- @return WrappedDevice
|
||||
function Washer.new(config) end
|
||||
|
||||
--- @class WasherConfig
|
||||
--- @field identifier String
|
||||
--- @field topic String
|
||||
--- @field threshold f32
|
||||
--- @field event_channel EventChannel
|
||||
--- @field client WrappedAsyncClient
|
||||
|
||||
10
definitions/rust.lua
Normal file
10
definitions/rust.lua
Normal file
@@ -0,0 +1,10 @@
|
||||
--- @meta
|
||||
|
||||
--- @alias String string
|
||||
|
||||
--- @alias u64 number
|
||||
--- @alias isize number
|
||||
--- @alias f32 number
|
||||
|
||||
--- @alias Ipv4Addr string
|
||||
--- @alias MacAddress string
|
||||
Reference in New Issue
Block a user