private static void HandleAction(dynamic data)
        {
            var client = new SmartThingsClient();

            //var commands = new List<dynamic>
            //{
            //    new
            //    {
            //        command = "on",
            //        capability = "switch",
            //        component = "main"
            //    }
            //};
            //client.Actuate(
            //    data.installedApp.config.colorLight[0].deviceConfig.deviceId.ToString(),
            //    data.authToken.ToString(),
            //    commands);

            client.Subscribe(
                data.installedApp.installedAppId.ToString(),
                data.authToken.ToString(),
                new
            {
                sourceType = "DEVICE",
                device     = new
                {
                    deviceId        = "b24fb669-96ff-49b6-9e47-30616533bd6b",
                    componentId     = "*",
                    capability      = "*",
                    attribute       = "*",
                    stateChangeOnly = true
                }
            });
        }
Exemple #2
0
        private async Task <IActionResult> HandleInstallAndUpdateEvent(dynamic data)
        {
            var client = new SmartThingsClient();

            var eventData          = data.eventData;
            var installedApp       = data.installedApp;
            var installedAppId     = installedApp.installedAppId.ToString();
            var installedAppConfig = installedApp.config;
            var doorLock           = installedAppConfig.doorLock[0];
            var doorLockId         = doorLock.deviceConfig.deviceId.ToString();

            client.Subscribe(
                data.installedApp.installedAppId.ToString(),
                data.authToken.ToString(),
                new
            {
                sourceType = "DEVICE",
                device     = new
                {
                    deviceId        = doorLockId,
                    componentId     = "*",
                    capability      = "*",
                    attribute       = "*",
                    stateChangeOnly = true
                }
            });

            return(new OkResult());
        }