public static LightSceneEntity GetConfLightingScene(int?deviceID)
        {
            LightSceneEntity lightSceneEntity = new LightSceneEntity();
            var bacnetDeviceFromDB            = lutronEntities.BACnetDevices
                                                .Where(x => x.device_id == deviceID &&
                                                       x.object_instance == (int?)LutronObjectType.Lighting_Scene)
                                                .Select(x => x).FirstOrDefault();


            IList <BacnetValue> bacnetValueList;
            BacnetAddress       bacnetAddress;

            bacnetAddress = new BacnetAddress(BacnetAddressTypes.IP, bacnetDeviceFromDB.network_id);

            bacnetAddress.RoutedSource = new BacnetAddress(BacnetAddressTypes.IP, bacnetDeviceFromDB.routed_source,
                                                           (ushort)bacnetDeviceFromDB.routed_net);

            if (bacNetClient == null)
            {
                bacNetClient = BackNetClientInit.NewBackNetClient();
            }
            bacNetClient.ReadPropertyRequest(bacnetAddress, new BacnetObjectId(BacnetObjectTypes.OBJECT_MULTI_STATE_VALUE,
                                                                               (uint)LutronObjectType.Lighting_Scene), BacnetPropertyIds.PROP_PRESENT_VALUE, out bacnetValueList);

            if (bacnetValueList != null && bacnetValueList.Count > 0)
            {
                lightSceneEntity.Value = Convert.ToString(bacnetValueList.FirstOrDefault().Value);
            }

            lightSceneEntity.DeviceID = (Int32)deviceID;

            return(lightSceneEntity);
        }
        public static LightSceneEntity SetConfLightScene(LightSceneEntity lightSceneEntity)
        {
            var bacnetDeviceFromDB = lutronEntities.BACnetDevices
                                     .Where(x => x.device_id == lightSceneEntity.DeviceID &&
                                            x.object_instance == (int?)LutronObjectType.Lighting_Scene)
                                     .Select(x => x).FirstOrDefault();

            if (bacnetDeviceFromDB != null && bacnetDeviceFromDB.bacnet_device_id > 0)
            {
                BacnetAddress bacnetAddress = new BacnetAddress(BacnetAddressTypes.IP, bacnetDeviceFromDB.network_id);
                bacnetAddress.RoutedSource = new BacnetAddress(BacnetAddressTypes.IP, bacnetDeviceFromDB.routed_source,
                                                               (ushort)bacnetDeviceFromDB.routed_net);


                BacnetValue   newLightScene      = new BacnetValue(BacnetApplicationTags.BACNET_APPLICATION_TAG_UNSIGNED_INT, Convert.ToUInt32(lightSceneEntity.Value));
                BacnetValue[] writeNewLightScene = { newLightScene };
                if (bacNetClient == null)
                {
                    bacNetClient = BackNetClientInit.NewBackNetClient();
                }
                bacNetClient.WritePropertyRequest(bacnetAddress,
                                                  new BacnetObjectId(BacnetObjectTypes.OBJECT_MULTI_STATE_VALUE, (uint)LutronObjectType.Lighting_Scene),
                                                  BacnetPropertyIds.PROP_PRESENT_VALUE, writeNewLightScene);
            }

            Thread.Sleep(1000);

            return(BackNetReadAction.GetConfLightingScene(lightSceneEntity.DeviceID));
        }
        public IHttpActionResult SetLightingLevel(LightLevelEntity lightLevel)
        {
            LightSceneEntity lightScenetemp = new LightSceneEntity();
            var deviceLightLevel            = BackNetWriteAction.SetConfLightLevel(lightLevel);
            var lightScene   = BackNetReadAction.GetConfLightingScene(lightLevel.DeviceID);
            var deviceDetail = new DeviceDetailEnity
            {
                DeviceID        = lightScene.DeviceID,
                LightScene      = lightScene.LightScene,
                LightSceneValue = lightScene.Value,
                LightLevel      = deviceLightLevel.LightLevel,
                //LightState = lightState.LightState
            };

            return(Ok(deviceDetail));
        }
        public IHttpActionResult SetLightingScene(LightSceneEntity lightscene)
        {
            LightSceneEntity lightScenetemp = new LightSceneEntity();

            lightscene.Value = EnumConstants.GetEnumValueFromDescription <LightSceneEnum>(lightscene.LightScene).ToString();
            var lightScene   = BackNetWriteAction.SetConfLightScene(lightscene);
            var lightLevel   = BackNetReadAction.GetConfLightLevel(lightscene.DeviceID);
            var deviceDetail = new DeviceDetailEnity
            {
                DeviceID        = lightScene.DeviceID,
                LightScene      = lightScene.LightScene,
                LightSceneValue = lightScene.Value,
                LightLevel      = lightLevel.LightLevel,
                //LightState = lightState.LightState
            };

            return(Ok(deviceDetail));
        }
        public IHttpActionResult SetConfLightScene(LightSceneEntity lightSceneEntity)
        {
            var lightLevel = BackNetWriteAction.SetConfLightScene(lightSceneEntity);

            return(Ok(lightLevel));
        }