View app.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
const express = require('express'); | |
const bodyParser = require('body-parser'); | |
const SmartApp = require('@smartthings/smartapp'); | |
const axios = require('axios'); | |
require('dotenv').config(); | |
const server = module.exports = express(); | |
server.use(bodyParser.json()); |
View command_handlers.lua
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local log = require "log" | |
local capabilities = require "st.capabilities" | |
local utils= require "st.utils" | |
local command_handlers = {} | |
-- callback to handle an `on` capability command | |
function command_handlers.switch_on(driver, device, command) | |
log.debug(string.format("[%s] calling set_power(on)", device.device_network_id)) | |
device:emit_event(capabilities.switch.switch.on()) |
View messageHandler.lua
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local read_attribute = require "st.zigbee.zcl.global_commands.read_attribute" | |
local write_attribute = require "st.zigbee.zcl.global_commands.write_attribute" | |
local messages = require "st.zigbee.messages" | |
local zb_const = require "st.zigbee.constants" | |
local zcl_messages = require "st.zigbee.zcl" | |
local data_types = require "st.zigbee.data_types" | |
local messageHandler = {} | |
messageHandler.build_zcl_message = function(device,cluster_id,zclh,body_message,mfg_specific_code) |
View init.lua
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- require st provided libraries | |
local capabilities = require "st.capabilities" | |
local Driver = require "st.driver" | |
local log = require "log" | |
-- require custom handlers from driver package | |
local discovery = require "discovery" | |
--construct the custom capability to use it in the driver | |
--This is the result of the command >> smartthings capabilities namespace.oneiteminlist -j | |
local oneiteminlist = capabilities.build_cap_from_json_string([[ |
View init.lua
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local caps = require "st.capabilities" | |
local zcl_clusters = require "st.zigbee.zcl.clusters" | |
local ZigbeeDriver = require "st.zigbee" | |
local constants = require "st.zigbee.constants" | |
local defaults = require "st.zigbee.defaults" | |
local contact_sensor_defaults = require "st.zigbee.defaults.contactSensor_defaults" | |
local data_types = require "st.zigbee.data_types" | |
local fancy_switch_def = [[{ | |
"id": "commonsmall09402.copySwitch", |
View init(main).lua
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
local capabilities = require "st.capabilities" | |
local zcl_clusters = require "st.zigbee.zcl.clusters" | |
local ZigbeeDriver = require "st.zigbee" | |
local constants = require "st.zigbee.constants" | |
local defaults = require "st.zigbee.defaults" | |
local contact_sensor_defaults = require "st.zigbee.defaults.contactSensor_defaults" | |
local data_types = require "st.zigbee.data_types" | |
local common = require("common") | |
local function acceleration_handler(driver, device, value, zb_rx) |
View presentation.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"dashboard": { | |
"states": [ | |
{ | |
"component": "main", | |
"capability": "switch", | |
"version": 1, | |
"values": [] | |
} | |
], |
View server.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'use strict'; | |
const express = require('express'); | |
const bodyParser = require('body-parser'); | |
const SmartApp = require('@smartthings/smartapp'); | |
require('dotenv').config(); | |
const server = module.exports = express(); | |
server.use(bodyParser.json()); |
View rule.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "Rule with several conditions but no depth", | |
"actions": [ | |
{ | |
"if": { | |
"equals": { | |
"right": { | |
"device": { | |
"devices": [ | |
"Dimmer1-ID" |
View dthFunctions.groovy
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//Function called when the command of the Custom Capability is executed (from the app, API or SmartApp) | |
def setAttr(String arg){ | |
log.trace("attr ${arg}") | |
sendEvent(name:"attr",value:arg) | |
state.configValue = 0 | |
switch(arg){ | |
case 'option1': | |
state.configValue= 20 | |
break; | |
case 'option2': |
NewerOlder