Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 1 addition & 34 deletions drivers/SmartThings/zigbee-switch/src/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,6 @@ local device_init = function(driver, device)
end
end

local lazy_load_if_possible = require "lazy_load_subdriver"

local zigbee_switch_driver_template = {
supported_capabilities = {
capabilities.switch,
Expand All @@ -69,38 +67,7 @@ local zigbee_switch_driver_template = {
capabilities.relativeHumidityMeasurement,
capabilities.temperatureMeasurement,
},
sub_drivers = {
lazy_load_if_possible("non_zigbee_devices"),
lazy_load_if_possible("hanssem"),
lazy_load_if_possible("aqara"),
lazy_load_if_possible("aqara-light"),
lazy_load_if_possible("ezex"),
lazy_load_if_possible("rexense"),
lazy_load_if_possible("sinope"),
lazy_load_if_possible("sinope-dimmer"),
lazy_load_if_possible("zigbee-dimmer-power-energy"),
lazy_load_if_possible("zigbee-metering-plug-power-consumption-report"),
lazy_load_if_possible("jasco"),
lazy_load_if_possible("multi-switch-no-master"),
lazy_load_if_possible("zigbee-dual-metering-switch"),
lazy_load_if_possible("rgb-bulb"),
lazy_load_if_possible("zigbee-dimming-light"),
lazy_load_if_possible("white-color-temp-bulb"),
lazy_load_if_possible("rgbw-bulb"),
(version.api < 16) and lazy_load_if_possible("zll-dimmer-bulb") or nil,
lazy_load_if_possible("ikea-xy-color-bulb"),
lazy_load_if_possible("zll-polling"),
lazy_load_if_possible("zigbee-switch-power"),
lazy_load_if_possible("ge-link-bulb"),
lazy_load_if_possible("bad_on_off_data_type"),
lazy_load_if_possible("robb"),
lazy_load_if_possible("wallhero"),
lazy_load_if_possible("inovelli"), -- Combined driver for both VZM31-SN and VZM32-SN
lazy_load_if_possible("laisiao"),
lazy_load_if_possible("tuya-multi"),
lazy_load_if_possible("frient"),
lazy_load_if_possible("frient-IO")
},
sub_drivers = require("sub_drivers"),
zigbee_handlers = {
global = {
[SIMPLE_METERING_ID] = {
Expand Down
38 changes: 38 additions & 0 deletions drivers/SmartThings/zigbee-switch/src/sub_drivers.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
-- Copyright 2026 SmartThings, Inc.
-- Licensed under the Apache License, Version 2.0
local version = require "version"

local lazy_load_if_possible = require "lazy_load_subdriver"

return {
lazy_load_if_possible("non_zigbee_devices"),
lazy_load_if_possible("hanssem"),
lazy_load_if_possible("aqara"),
lazy_load_if_possible("aqara-light"),
lazy_load_if_possible("ezex"),
lazy_load_if_possible("rexense"),
lazy_load_if_possible("sinope"),
lazy_load_if_possible("sinope-dimmer"),
lazy_load_if_possible("zigbee-dimmer-power-energy"),
lazy_load_if_possible("zigbee-metering-plug-power-consumption-report"),
lazy_load_if_possible("jasco"),
lazy_load_if_possible("multi-switch-no-master"),
lazy_load_if_possible("zigbee-dual-metering-switch"),
lazy_load_if_possible("rgb-bulb"),
lazy_load_if_possible("zigbee-dimming-light"),
lazy_load_if_possible("white-color-temp-bulb"),
lazy_load_if_possible("rgbw-bulb"),
(version.api < 16) and lazy_load_if_possible("zll-dimmer-bulb") or nil,
lazy_load_if_possible("ikea-xy-color-bulb"),
lazy_load_if_possible("zll-polling"),
lazy_load_if_possible("zigbee-switch-power"),
lazy_load_if_possible("ge-link-bulb"),
lazy_load_if_possible("bad_on_off_data_type"),
lazy_load_if_possible("robb"),
lazy_load_if_possible("wallhero"),
lazy_load_if_possible("inovelli"), -- Combined driver for both VZM31-SN and VZM32-SN
lazy_load_if_possible("laisiao"),
lazy_load_if_possible("tuya-multi"),
lazy_load_if_possible("frient"),
lazy_load_if_possible("frient-IO")
}
25 changes: 1 addition & 24 deletions drivers/SmartThings/zwave-switch/src/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ local SwitchMultilevel = (require "st.zwave.CommandClass.SwitchMultilevel")({ ve
local preferencesMap = require "preferences"
local configurationsMap = require "configurations"

local lazy_load_if_possible = require "lazy_load_subdriver"

--- Map component to end_points(channels)
---
--- @param device st.zwave.Device
Expand Down Expand Up @@ -120,28 +118,7 @@ local driver_template = {
[SwitchMultilevel.STOP_LEVEL_CHANGE] = switch_multilevel_stop_level_change_handler
}
},
sub_drivers = {
lazy_load_if_possible("eaton-accessory-dimmer"),
lazy_load_if_possible("inovelli"),
lazy_load_if_possible("dawon-smart-plug"),
lazy_load_if_possible("inovelli-2-channel-smart-plug"),
lazy_load_if_possible("zwave-dual-switch"),
lazy_load_if_possible("eaton-anyplace-switch"),
lazy_load_if_possible("fibaro-wall-plug-us"),
lazy_load_if_possible("dawon-wall-smart-switch"),
lazy_load_if_possible("zooz-power-strip"),
lazy_load_if_possible("aeon-smart-strip"),
lazy_load_if_possible("qubino-switches"),
lazy_load_if_possible("fibaro-double-switch"),
lazy_load_if_possible("fibaro-single-switch"),
lazy_load_if_possible("eaton-5-scene-keypad"),
lazy_load_if_possible("ecolink-switch"),
lazy_load_if_possible("multi-metering-switch"),
lazy_load_if_possible("zooz-zen-30-dimmer-relay"),
lazy_load_if_possible("multichannel-device"),
lazy_load_if_possible("aeotec-smart-switch"),
lazy_load_if_possible("aeotec-heavy-duty")
},
sub_drivers = require("sub_drivers"),
lifecycle_handlers = {
init = device_init,
infoChanged = info_changed,
Expand Down
28 changes: 28 additions & 0 deletions drivers/SmartThings/zwave-switch/src/sub_drivers.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

-- Copyright 2026 SmartThings, Inc.
-- Licensed under the Apache License, Version 2.0

local lazy_load_if_possible = require "lazy_load_subdriver"

return {
lazy_load_if_possible("eaton-accessory-dimmer"),
lazy_load_if_possible("inovelli"),
lazy_load_if_possible("dawon-smart-plug"),
lazy_load_if_possible("inovelli-2-channel-smart-plug"),
lazy_load_if_possible("zwave-dual-switch"),
lazy_load_if_possible("eaton-anyplace-switch"),
lazy_load_if_possible("fibaro-wall-plug-us"),
lazy_load_if_possible("dawon-wall-smart-switch"),
lazy_load_if_possible("zooz-power-strip"),
lazy_load_if_possible("aeon-smart-strip"),
lazy_load_if_possible("qubino-switches"),
lazy_load_if_possible("fibaro-double-switch"),
lazy_load_if_possible("fibaro-single-switch"),
lazy_load_if_possible("eaton-5-scene-keypad"),
lazy_load_if_possible("ecolink-switch"),
lazy_load_if_possible("multi-metering-switch"),
lazy_load_if_possible("zooz-zen-30-dimmer-relay"),
lazy_load_if_possible("multichannel-device"),
lazy_load_if_possible("aeotec-smart-switch"),
lazy_load_if_possible("aeotec-heavy-duty")
}
Loading