From 4e349bb75fb2e49b34182aba9fde238594c4a7e9 Mon Sep 17 00:00:00 2001 From: Daric Teske Date: Tue, 19 Dec 2023 21:40:11 -0600 Subject: [PATCH] new office routine --- HomeAssistantGenerated.cs | 2237 ++++++-------- NetDaemonCodegen/EntityMetaData.json | 446 +-- NetDaemonCodegen/ServicesMetaData.json | 3865 ++++++++++++------------ apps/HallwayAutomation.cs | 74 +- apps/HomeSchedule.cs | 220 +- apps/LaundryRoomAutomation.cs | 34 +- apps/LivingRoomAutomation.cs | 84 +- apps/MasterBedroomAutomation.cs | 76 +- apps/OfficeAutomation.cs | 22 +- 9 files changed, 3336 insertions(+), 3722 deletions(-) diff --git a/HomeAssistantGenerated.cs b/HomeAssistantGenerated.cs index 8443f3f..c42a64b 100644 --- a/HomeAssistantGenerated.cs +++ b/HomeAssistantGenerated.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // Generated using NetDaemon CodeGenerator nd-codegen v23.33.0.0 -// At: 2023-09-05T21:55:04.5431342-05:00 +// At: 2023-12-19T21:35:12.5124840-06:00 // // *** Make sure the version of the codegen tool and your nugets Joysoftware.NetDaemon.* have the same version.*** // You can use following command to keep it up to date with the latest version: @@ -67,7 +67,6 @@ public static IServiceCollection AddHomeAssistantGenerated(this IServiceCollecti serviceCollection.AddTransient(); serviceCollection.AddTransient(); serviceCollection.AddTransient(); - serviceCollection.AddTransient(); serviceCollection.AddTransient(); serviceCollection.AddTransient(); serviceCollection.AddTransient(); @@ -172,24 +171,18 @@ public BinarySensorEntities(IHaContext haContext) _haContext = haContext; } - ///Basement Steps Sensor Motion - public BinarySensorEntity BasementStepsSensorMotion => new(_haContext, "binary_sensor.basement_steps_sensor_motion"); - ///Deck Door Opening - public BinarySensorEntity DeckDoorOpening => new(_haContext, "binary_sensor.deck_door_opening"); + ///Closet Sensor Motion + public BinarySensorEntity ClosetSensorMotion => new(_haContext, "binary_sensor.closet_sensor_motion"); ///dteske-pixel High accuracy mode public BinarySensorEntity DteskePixelHighAccuracyMode => new(_haContext, "binary_sensor.dteske_pixel_high_accuracy_mode"); - ///Garage Door MyQ Gateway - public BinarySensorEntity GarageDoorMyqGateway => new(_haContext, "binary_sensor.garage_door_myq_gateway"); - ///Garage Door MyQ Gateway - public BinarySensorEntity GarageDoorMyqGateway2 => new(_haContext, "binary_sensor.garage_door_myq_gateway_2"); ///Hallway Sensor Motion public BinarySensorEntity HallwaySensorMotion => new(_haContext, "binary_sensor.hallway_sensor_motion"); ///Laundry Room Sensor Motion public BinarySensorEntity LaundryRoomSensorMotion => new(_haContext, "binary_sensor.laundry_room_sensor_motion"); - ///Master Closet Sensor Motion - public BinarySensorEntity MasterClosetMotion => new(_haContext, "binary_sensor.master_closet_motion"); - ///Office Sensor Motion - public BinarySensorEntity OfficeSensorMotion => new(_haContext, "binary_sensor.office_sensor_motion"); + ///Motion Sensor 2 Motion + public BinarySensorEntity MotionSensor2Motion => new(_haContext, "binary_sensor.motion_sensor_2_motion"); + ///Office Motion Sensor Motion + public BinarySensorEntity OfficeMotionSensor => new(_haContext, "binary_sensor.office_motion_sensor"); ///Remote UI public BinarySensorEntity RemoteUi => new(_haContext, "binary_sensor.remote_ui"); } @@ -202,38 +195,24 @@ public ButtonEntities(IHaContext haContext) _haContext = haContext; } - ///Basement Steps Sensor Identify - public ButtonEntity BasementStepsSensorIdentify => new(_haContext, "button.basement_steps_sensor_identify"); - ///Basement Switch Identify - public ButtonEntity BasementSwitchIdentify => new(_haContext, "button.basement_switch_identify"); - ///Deck Door Identify - public ButtonEntity DeckDoorIdentify => new(_haContext, "button.deck_door_identify"); - ///Dining Room Switch Identify - public ButtonEntity DiningRoomSwitchIdentify => new(_haContext, "button.dining_room_switch_identify"); - ///Driveway Switch Identify - public ButtonEntity DrivewaySwitchIdentify => new(_haContext, "button.driveway_switch_identify"); - ///Entryway Switch Identify - public ButtonEntity EntrywaySwitchIdentify => new(_haContext, "button.entryway_switch_identify"); - ///Hallway Switch Identify - public ButtonEntity HallwaySwitchIdentify => new(_haContext, "button.hallway_switch_identify"); - ///Identify Elements AC4B - public ButtonEntity IdentifyElementsAc4b => new(_haContext, "button.identify_elements_ac4b"); - ///Identify Shapes 7B48 - public ButtonEntity IdentifyShapes7b48 => new(_haContext, "button.identify_shapes_7b48"); ///Living Room Button Identify public ButtonEntity LivingRoomButtonIdentify => new(_haContext, "button.living_room_button_identify"); - ///Living Room Square Lamp Identify - public ButtonEntity LivingRoomSquareLampIdentify => new(_haContext, "button.living_room_square_lamp_identify"); - ///Living Room Switch Identify - public ButtonEntity LivingRoomSwitchIdentify => new(_haContext, "button.living_room_switch_identify"); - ///Living Room Table Identify - public ButtonEntity LivingRoomTableIdentify => new(_haContext, "button.living_room_table_identify"); - ///Master Bedroom Button Identify - public ButtonEntity MasterBedroomButtonIdentify => new(_haContext, "button.master_bedroom_button_identify"); - ///Office Button Identify - public ButtonEntity OfficeButtonIdentify => new(_haContext, "button.office_button_identify"); - ///Office Sensor Identify - public ButtonEntity OfficeSensorIdentify => new(_haContext, "button.office_sensor_identify"); + ///Motion Sensor 2 Identify + public ButtonEntity MotionSensor2Identify => new(_haContext, "button.motion_sensor_2_identify"); + ///Office Motion Sensor Identify + public ButtonEntity OfficeMotionSensorIdentify => new(_haContext, "button.office_motion_sensor_identify"); + ///Outlet 1 Identify + public ButtonEntity Outlet1Identify => new(_haContext, "button.outlet_1_identify"); + ///Outlet 2 Identify + public ButtonEntity Outlet2Identify => new(_haContext, "button.outlet_2_identify"); + ///Outlet 3 Identify + public ButtonEntity Outlet3Identify => new(_haContext, "button.outlet_3_identify"); + ///Outlet 4 Identify + public ButtonEntity Outlet4Identify => new(_haContext, "button.outlet_4_identify"); + ///Outlet 5 Identify + public ButtonEntity Outlet5Identify => new(_haContext, "button.outlet_5_identify"); + ///Outlet 6 Identify + public ButtonEntity Outlet6Identify => new(_haContext, "button.outlet_6_identify"); } public partial class CoverEntities @@ -270,18 +249,6 @@ public InputBooleanEntities(IHaContext haContext) _haContext = haContext; } - ///netdaemon_automations_hallway_automation - public InputBooleanEntity NetdaemonAutomationsHallwayAutomation => new(_haContext, "input_boolean.netdaemon_automations_hallway_automation"); - ///netdaemon_automations_home_schedule - public InputBooleanEntity NetdaemonAutomationsHomeSchedule => new(_haContext, "input_boolean.netdaemon_automations_home_schedule"); - ///netdaemon_automations_laundry_room_automation - public InputBooleanEntity NetdaemonAutomationsLaundryRoomAutomation => new(_haContext, "input_boolean.netdaemon_automations_laundry_room_automation"); - ///netdaemon_automations_living_room_automation - public InputBooleanEntity NetdaemonAutomationsLivingRoomAutomation => new(_haContext, "input_boolean.netdaemon_automations_living_room_automation"); - ///netdaemon_automations_master_bedroom_automation - public InputBooleanEntity NetdaemonAutomationsMasterBedroomAutomation => new(_haContext, "input_boolean.netdaemon_automations_master_bedroom_automation"); - ///netdaemon_automations_office_automation - public InputBooleanEntity NetdaemonAutomationsOfficeAutomation => new(_haContext, "input_boolean.netdaemon_automations_office_automation"); ///Office Motion Allowed public InputBooleanEntity OfficeMotionAllowed => new(_haContext, "input_boolean.office_motion_allowed"); } @@ -294,62 +261,12 @@ public LightEntities(IHaContext haContext) _haContext = haContext; } - ///Basement Switch Light - public LightEntity BasementSwitchLight => new(_haContext, "light.basement_switch_light"); - ///Dining Room Switch Light - public LightEntity DiningRoomSwitchLight => new(_haContext, "light.dining_room_switch_light"); - ///Driveway Switch Light - public LightEntity DrivewaySwitchLight => new(_haContext, "light.driveway_switch_light"); - ///Elements AC4B - public LightEntity ElementsAc4b => new(_haContext, "light.elements_ac4b"); - ///Entryway Switch Light - public LightEntity EntrywaySwitchLight => new(_haContext, "light.entryway_switch_light"); - ///Hallway 1 - public LightEntity Hallway1 => new(_haContext, "light.hallway_1"); - ///Hallway 2 - public LightEntity Hallway2 => new(_haContext, "light.hallway_2"); - ///Hallway Lights - public LightEntity HallwayLights => new(_haContext, "light.hallway_lights"); - ///Hallway Switch Light - public LightEntity HallwaySwitch => new(_haContext, "light.hallway_switch"); - ///Hue filament bulb 1 - public LightEntity HueFilamentBulb1 => new(_haContext, "light.hue_filament_bulb_1"); - ///Hue filament bulb 2 - public LightEntity HueFilamentBulb2 => new(_haContext, "light.hue_filament_bulb_2"); - ///Hue filament bulb 3 - public LightEntity HueFilamentBulb3 => new(_haContext, "light.hue_filament_bulb_3"); - ///Kitchen Overhead - public LightEntity KitchenOverhead => new(_haContext, "light.kitchen_overhead"); - ///Kitchen Sink - public LightEntity KitchenSink => new(_haContext, "light.kitchen_sink"); - ///Kitchen Tall 1 - public LightEntity KitchenTall1 => new(_haContext, "light.kitchen_tall_1"); - ///Kitchen Tall 2 - public LightEntity KitchenTall2 => new(_haContext, "light.kitchen_tall_2"); - ///Kitchen Tall 3 - public LightEntity KitchenTall3 => new(_haContext, "light.kitchen_tall_3"); - ///Lamp - public LightEntity Lamp => new(_haContext, "light.lamp"); - ///Laundry Room Light - public LightEntity LaundryRoomLight => new(_haContext, "light.laundry_room_light"); - ///Living Room Lamp - public LightEntity LivingRoomLamp => new(_haContext, "light.living_room_lamp"); - ///Living Room Switch Light - public LightEntity LivingRoomSwitchLight => new(_haContext, "light.living_room_switch_light"); - ///Master Closet 1 - public LightEntity MasterCloset1 => new(_haContext, "light.master_closet_1"); - ///Master Closet 2 - public LightEntity MasterCloset2 => new(_haContext, "light.master_closet_2"); - ///Nightstand - public LightEntity Nightstand => new(_haContext, "light.nightstand"); - ///Office Desk Lamp 1 - public LightEntity OfficeDeskLamp1 => new(_haContext, "light.office_desk_lamp_1"); - ///Office Desk Lamp 2 - public LightEntity OfficeDeskLamp2 => new(_haContext, "light.office_desk_lamp_2"); - ///Office Desk Lamps - public LightEntity OfficeDeskLamps => new(_haContext, "light.office_desk_lamps"); - ///Shapes 7B48 - public LightEntity Shapes7b48 => new(_haContext, "light.shapes_7b48"); + ///Hue Bloom + public LightEntity HueBloom => new(_haContext, "light.hue_bloom"); + ///Hue Bloom 2 + public LightEntity HueBloom2 => new(_haContext, "light.hue_bloom_2"); + ///Office Lights + public LightEntity OfficeLights => new(_haContext, "light.office_lights"); } public partial class MediaPlayerEntities @@ -446,16 +363,6 @@ public SensorEntities(IHaContext haContext) public SensorEntity DteskePixelNextAlarm => new(_haContext, "sensor.dteske_pixel_next_alarm"); ///dteske-pixel Volume level alarm public SensorEntity DteskePixelVolumeLevelAlarm => new(_haContext, "sensor.dteske_pixel_volume_level_alarm"); - ///google_wifi_current_version - public SensorEntity GoogleWifiCurrentVersion => new(_haContext, "sensor.google_wifi_current_version"); - ///google_wifi_last_restart - public SensorEntity GoogleWifiLastRestart => new(_haContext, "sensor.google_wifi_last_restart"); - ///google_wifi_local_ip - public SensorEntity GoogleWifiLocalIp => new(_haContext, "sensor.google_wifi_local_ip"); - ///google_wifi_new_version - public SensorEntity GoogleWifiNewVersion => new(_haContext, "sensor.google_wifi_new_version"); - ///google_wifi_status - public SensorEntity GoogleWifiStatus => new(_haContext, "sensor.google_wifi_status"); ///Sun Next dawn public SensorEntity SunNextDawn => new(_haContext, "sensor.sun_next_dawn"); ///Sun Next dusk @@ -468,18 +375,18 @@ public SensorEntities(IHaContext haContext) public SensorEntity SunNextRising => new(_haContext, "sensor.sun_next_rising"); ///Sun Next setting public SensorEntity SunNextSetting => new(_haContext, "sensor.sun_next_setting"); - ///Basement Steps Sensor Battery - public NumericSensorEntity BasementStepsSensorBattery => new(_haContext, "sensor.basement_steps_sensor_battery"); + ///Closet Sensor Battery + public NumericSensorEntity ClosetSensorBattery => new(_haContext, "sensor.closet_sensor_battery"); + ///Closet Sensor Illuminance + public NumericSensorEntity ClosetSensorIlluminance => new(_haContext, "sensor.closet_sensor_illuminance"); + ///Closet Sensor Temperature + public NumericSensorEntity ClosetSensorTemperature => new(_haContext, "sensor.closet_sensor_temperature"); ///CPU Speed public NumericSensorEntity CpuSpeed => new(_haContext, "sensor.cpu_speed"); - ///Deck Door Battery - public NumericSensorEntity DeckDoorBattery => new(_haContext, "sensor.deck_door_battery"); ///dteske-pixel Battery level public NumericSensorEntity DteskePixelBatteryLevel => new(_haContext, "sensor.dteske_pixel_battery_level"); ///dteske-pixel High accuracy update interval public NumericSensorEntity DteskePixelHighAccuracyUpdateInterval => new(_haContext, "sensor.dteske_pixel_high_accuracy_update_interval"); - ///google_wifi_uptime - public NumericSensorEntity GoogleWifiUptime => new(_haContext, "sensor.google_wifi_uptime"); ///Hallway Sensor Battery public NumericSensorEntity HallwaySensorBattery => new(_haContext, "sensor.hallway_sensor_battery"); ///Hallway Sensor Illuminance @@ -498,18 +405,10 @@ public SensorEntities(IHaContext haContext) public NumericSensorEntity LaundryRoomSensorTemperature => new(_haContext, "sensor.laundry_room_sensor_temperature"); ///Living Room Button Battery public NumericSensorEntity LivingRoomButtonBattery => new(_haContext, "sensor.living_room_button_battery"); - ///Master Bedroom Button Battery - public NumericSensorEntity MasterBedroomButtonBattery => new(_haContext, "sensor.master_bedroom_button_battery"); - ///Master Closet Sensor Battery - public NumericSensorEntity MasterClosetBattery => new(_haContext, "sensor.master_closet_battery"); - ///Master Closet Sensor Illuminance - public NumericSensorEntity MasterClosetIlluminance => new(_haContext, "sensor.master_closet_illuminance"); - ///Master Closet Sensor Temperature - public NumericSensorEntity MasterClosetTemperature => new(_haContext, "sensor.master_closet_temperature"); - ///Office Button Battery - public NumericSensorEntity OfficeButtonBattery => new(_haContext, "sensor.office_button_battery"); - ///Office Sensor Battery - public NumericSensorEntity OfficeSensorBattery => new(_haContext, "sensor.office_sensor_battery"); + ///Motion Sensor 2 Battery + public NumericSensorEntity MotionSensor2Battery => new(_haContext, "sensor.motion_sensor_2_battery"); + ///Office Motion Sensor Battery + public NumericSensorEntity OfficeMotionSensorBattery => new(_haContext, "sensor.office_motion_sensor_battery"); } public partial class SunEntities @@ -532,22 +431,30 @@ public SwitchEntities(IHaContext haContext) _haContext = haContext; } - ///Hallway Sensor Illuminance - public SwitchEntity HallwaySensorIlluminance => new(_haContext, "switch.hallway_sensor_illuminance"); - ///Hallway Sensor Motion - public SwitchEntity HallwaySensorMotion => new(_haContext, "switch.hallway_sensor_motion"); - ///Laundry Room Sensor Illuminance - public SwitchEntity LaundryRoomSensorIlluminance => new(_haContext, "switch.laundry_room_sensor_illuminance"); - ///Laundry Room Sensor Motion - public SwitchEntity LaundryRoomSensorMotion => new(_haContext, "switch.laundry_room_sensor_motion"); - ///Living Room Square Lamp Switch - public SwitchEntity LivingRoomSquareLampSwitch => new(_haContext, "switch.living_room_square_lamp_switch"); - ///Living Room Table Switch - public SwitchEntity LivingRoomTableSwitch => new(_haContext, "switch.living_room_table_switch"); - ///Master Closet Sensor Illuminance - public SwitchEntity MasterClosetIlluminance => new(_haContext, "switch.master_closet_illuminance"); - ///Master Closet Sensor Motion - public SwitchEntity MasterClosetMotion => new(_haContext, "switch.master_closet_motion"); + ///Closet Sensor Light sensor enabled + public SwitchEntity ClosetSensorLightSensorEnabled => new(_haContext, "switch.closet_sensor_light_sensor_enabled"); + ///Closet Sensor Motion sensor enabled + public SwitchEntity ClosetSensorMotionSensorEnabled => new(_haContext, "switch.closet_sensor_motion_sensor_enabled"); + ///Hallway Sensor Light sensor enabled + public SwitchEntity HallwaySensorLightSensorEnabled => new(_haContext, "switch.hallway_sensor_light_sensor_enabled"); + ///Hallway Sensor Motion sensor enabled + public SwitchEntity HallwaySensorMotionSensorEnabled => new(_haContext, "switch.hallway_sensor_motion_sensor_enabled"); + ///Laundry Room Sensor Light sensor enabled + public SwitchEntity LaundryRoomSensorLightSensorEnabled => new(_haContext, "switch.laundry_room_sensor_light_sensor_enabled"); + ///Laundry Room Sensor Motion sensor enabled + public SwitchEntity LaundryRoomSensorMotionSensorEnabled => new(_haContext, "switch.laundry_room_sensor_motion_sensor_enabled"); + ///Outlet 1 Switch + public SwitchEntity Outlet1 => new(_haContext, "switch.outlet_1"); + ///Outlet 2 Switch + public SwitchEntity Outlet2 => new(_haContext, "switch.outlet_2"); + ///Outlet 3 Switch + public SwitchEntity Outlet3 => new(_haContext, "switch.outlet_3"); + ///Outlet 4 Switch + public SwitchEntity Outlet4 => new(_haContext, "switch.outlet_4"); + ///Outlet 5 Switch + public SwitchEntity Outlet5 => new(_haContext, "switch.outlet_5"); + ///Outlet 6 Switch + public SwitchEntity Outlet6 => new(_haContext, "switch.outlet_6"); } public partial class WeatherEntities @@ -1340,8 +1247,6 @@ public interface IServices GroupServices Group { get; } - HomeassistantServices Homeassistant { get; } - HueServices Hue { get; } InputBooleanServices InputBoolean { get; } @@ -1423,7 +1328,6 @@ public Services(IHaContext haContext) public FfmpegServices Ffmpeg => new(_haContext); public FrontendServices Frontend => new(_haContext); public GroupServices Group => new(_haContext); - public HomeassistantServices Homeassistant => new(_haContext); public HueServices Hue => new(_haContext); public InputBooleanServices InputBoolean => new(_haContext); public InputButtonServices InputButton => new(_haContext); @@ -1462,106 +1366,106 @@ public AlarmControlPanelServices(IHaContext haContext) _haContext = haContext; } - ///Send the alarm the command for arm away. + ///Sets the alarm to: _armed, no one home_. ///The target for this service call public void AlarmArmAway(ServiceTarget target, AlarmControlPanelAlarmArmAwayParameters data) { _haContext.CallService("alarm_control_panel", "alarm_arm_away", target, data); } - ///Send the alarm the command for arm away. + ///Sets the alarm to: _armed, no one home_. ///The target for this service call - ///An optional code to arm away the alarm control panel with. eg: 1234 + ///Code to arm the alarm. eg: 1234 public void AlarmArmAway(ServiceTarget target, string? code = null) { _haContext.CallService("alarm_control_panel", "alarm_arm_away", target, new AlarmControlPanelAlarmArmAwayParameters { Code = code }); } - ///Send arm custom bypass command. + ///Arms the alarm while allowing to bypass a custom area. ///The target for this service call public void AlarmArmCustomBypass(ServiceTarget target, AlarmControlPanelAlarmArmCustomBypassParameters data) { _haContext.CallService("alarm_control_panel", "alarm_arm_custom_bypass", target, data); } - ///Send arm custom bypass command. + ///Arms the alarm while allowing to bypass a custom area. ///The target for this service call - ///An optional code to arm custom bypass the alarm control panel with. eg: 1234 + ///Code to arm the alarm. eg: 1234 public void AlarmArmCustomBypass(ServiceTarget target, string? code = null) { _haContext.CallService("alarm_control_panel", "alarm_arm_custom_bypass", target, new AlarmControlPanelAlarmArmCustomBypassParameters { Code = code }); } - ///Send the alarm the command for arm home. + ///Sets the alarm to: _armed, but someone is home_. ///The target for this service call public void AlarmArmHome(ServiceTarget target, AlarmControlPanelAlarmArmHomeParameters data) { _haContext.CallService("alarm_control_panel", "alarm_arm_home", target, data); } - ///Send the alarm the command for arm home. + ///Sets the alarm to: _armed, but someone is home_. ///The target for this service call - ///An optional code to arm home the alarm control panel with. eg: 1234 + ///Code to arm the alarm. eg: 1234 public void AlarmArmHome(ServiceTarget target, string? code = null) { _haContext.CallService("alarm_control_panel", "alarm_arm_home", target, new AlarmControlPanelAlarmArmHomeParameters { Code = code }); } - ///Send the alarm the command for arm night. + ///Sets the alarm to: _armed for the night_. ///The target for this service call public void AlarmArmNight(ServiceTarget target, AlarmControlPanelAlarmArmNightParameters data) { _haContext.CallService("alarm_control_panel", "alarm_arm_night", target, data); } - ///Send the alarm the command for arm night. + ///Sets the alarm to: _armed for the night_. ///The target for this service call - ///An optional code to arm night the alarm control panel with. eg: 1234 + ///Code to arm the alarm. eg: 1234 public void AlarmArmNight(ServiceTarget target, string? code = null) { _haContext.CallService("alarm_control_panel", "alarm_arm_night", target, new AlarmControlPanelAlarmArmNightParameters { Code = code }); } - ///Send the alarm the command for arm vacation. + ///Sets the alarm to: _armed for vacation_. ///The target for this service call public void AlarmArmVacation(ServiceTarget target, AlarmControlPanelAlarmArmVacationParameters data) { _haContext.CallService("alarm_control_panel", "alarm_arm_vacation", target, data); } - ///Send the alarm the command for arm vacation. + ///Sets the alarm to: _armed for vacation_. ///The target for this service call - ///An optional code to arm vacation the alarm control panel with. eg: 1234 + ///Code to arm the alarm. eg: 1234 public void AlarmArmVacation(ServiceTarget target, string? code = null) { _haContext.CallService("alarm_control_panel", "alarm_arm_vacation", target, new AlarmControlPanelAlarmArmVacationParameters { Code = code }); } - ///Send the alarm the command for disarm. + ///Disarms the alarm. ///The target for this service call public void AlarmDisarm(ServiceTarget target, AlarmControlPanelAlarmDisarmParameters data) { _haContext.CallService("alarm_control_panel", "alarm_disarm", target, data); } - ///Send the alarm the command for disarm. + ///Disarms the alarm. ///The target for this service call - ///An optional code to disarm the alarm control panel with. eg: 1234 + ///Code to disarm the alarm. eg: 1234 public void AlarmDisarm(ServiceTarget target, string? code = null) { _haContext.CallService("alarm_control_panel", "alarm_disarm", target, new AlarmControlPanelAlarmDisarmParameters { Code = code }); } - ///Send the alarm the command for trigger. + ///Enables an external alarm trigger. ///The target for this service call public void AlarmTrigger(ServiceTarget target, AlarmControlPanelAlarmTriggerParameters data) { _haContext.CallService("alarm_control_panel", "alarm_trigger", target, data); } - ///Send the alarm the command for trigger. + ///Enables an external alarm trigger. ///The target for this service call - ///An optional code to trigger the alarm control panel with. eg: 1234 + ///Code to arm the alarm. eg: 1234 public void AlarmTrigger(ServiceTarget target, string? code = null) { _haContext.CallService("alarm_control_panel", "alarm_trigger", target, new AlarmControlPanelAlarmTriggerParameters { Code = code }); @@ -1570,49 +1474,49 @@ public void AlarmTrigger(ServiceTarget target, string? code = null) public partial record AlarmControlPanelAlarmArmAwayParameters { - ///An optional code to arm away the alarm control panel with. eg: 1234 + ///Code to arm the alarm. eg: 1234 [JsonPropertyName("code")] public string? Code { get; init; } } public partial record AlarmControlPanelAlarmArmCustomBypassParameters { - ///An optional code to arm custom bypass the alarm control panel with. eg: 1234 + ///Code to arm the alarm. eg: 1234 [JsonPropertyName("code")] public string? Code { get; init; } } public partial record AlarmControlPanelAlarmArmHomeParameters { - ///An optional code to arm home the alarm control panel with. eg: 1234 + ///Code to arm the alarm. eg: 1234 [JsonPropertyName("code")] public string? Code { get; init; } } public partial record AlarmControlPanelAlarmArmNightParameters { - ///An optional code to arm night the alarm control panel with. eg: 1234 + ///Code to arm the alarm. eg: 1234 [JsonPropertyName("code")] public string? Code { get; init; } } public partial record AlarmControlPanelAlarmArmVacationParameters { - ///An optional code to arm vacation the alarm control panel with. eg: 1234 + ///Code to arm the alarm. eg: 1234 [JsonPropertyName("code")] public string? Code { get; init; } } public partial record AlarmControlPanelAlarmDisarmParameters { - ///An optional code to disarm the alarm control panel with. eg: 1234 + ///Code to disarm the alarm. eg: 1234 [JsonPropertyName("code")] public string? Code { get; init; } } public partial record AlarmControlPanelAlarmTriggerParameters { - ///An optional code to trigger the alarm control panel with. eg: 1234 + ///Code to arm the alarm. eg: 1234 [JsonPropertyName("code")] public string? Code { get; init; } } @@ -1625,50 +1529,50 @@ public AutomationServices(IHaContext haContext) _haContext = haContext; } - ///Reload the automation configuration. + ///Reloads the automation configuration. public void Reload() { _haContext.CallService("automation", "reload", null); } - ///Toggle (enable / disable) an automation. + ///Toggles (enable / disable) an automation. ///The target for this service call public void Toggle(ServiceTarget target) { _haContext.CallService("automation", "toggle", target); } - ///Trigger the actions of an automation. + ///Triggers the actions of an automation. ///The target for this service call public void Trigger(ServiceTarget target, AutomationTriggerParameters data) { _haContext.CallService("automation", "trigger", target, data); } - ///Trigger the actions of an automation. + ///Triggers the actions of an automation. ///The target for this service call - ///Whether or not the conditions will be skipped. + ///Defines whether or not the conditions will be skipped. public void Trigger(ServiceTarget target, bool? skipCondition = null) { _haContext.CallService("automation", "trigger", target, new AutomationTriggerParameters { SkipCondition = skipCondition }); } - ///Disable an automation. + ///Disables an automation. ///The target for this service call public void TurnOff(ServiceTarget target, AutomationTurnOffParameters data) { _haContext.CallService("automation", "turn_off", target, data); } - ///Disable an automation. + ///Disables an automation. ///The target for this service call - ///Stop currently running actions. + ///Stops currently running actions. public void TurnOff(ServiceTarget target, bool? stopActions = null) { _haContext.CallService("automation", "turn_off", target, new AutomationTurnOffParameters { StopActions = stopActions }); } - ///Enable an automation. + ///Enables an automation. ///The target for this service call public void TurnOn(ServiceTarget target) { @@ -1678,14 +1582,14 @@ public void TurnOn(ServiceTarget target) public partial record AutomationTriggerParameters { - ///Whether or not the conditions will be skipped. + ///Defines whether or not the conditions will be skipped. [JsonPropertyName("skip_condition")] public bool? SkipCondition { get; init; } } public partial record AutomationTurnOffParameters { - ///Stop currently running actions. + ///Stops currently running actions. [JsonPropertyName("stop_actions")] public bool? StopActions { get; init; } } @@ -1698,7 +1602,7 @@ public BackupServices(IHaContext haContext) _haContext = haContext; } - ///Create a new backup. + ///Creates a new backup. public void Create() { _haContext.CallService("backup", "create", null); @@ -1729,76 +1633,76 @@ public CameraServices(IHaContext haContext) _haContext = haContext; } - ///Disable the motion detection in a camera. + ///Disables the motion detection. ///The target for this service call public void DisableMotionDetection(ServiceTarget target) { _haContext.CallService("camera", "disable_motion_detection", target); } - ///Enable the motion detection in a camera. + ///Enables the motion detection. ///The target for this service call public void EnableMotionDetection(ServiceTarget target) { _haContext.CallService("camera", "enable_motion_detection", target); } - ///Play camera stream on supported media player. + ///Plays the camera stream on a supported media player. ///The target for this service call public void PlayStream(ServiceTarget target, CameraPlayStreamParameters data) { _haContext.CallService("camera", "play_stream", target, data); } - ///Play camera stream on supported media player. + ///Plays the camera stream on a supported media player. ///The target for this service call - ///Name(s) of media player to stream to. - ///Stream format supported by media player. + ///Media players to stream to. + ///Stream format supported by the media player. public void PlayStream(ServiceTarget target, string mediaPlayer, object? format = null) { _haContext.CallService("camera", "play_stream", target, new CameraPlayStreamParameters { MediaPlayer = mediaPlayer, Format = format }); } - ///Record live camera feed. + ///Creates a recording of a live camera feed. ///The target for this service call public void Record(ServiceTarget target, CameraRecordParameters data) { _haContext.CallService("camera", "record", target, data); } - ///Record live camera feed. + ///Creates a recording of a live camera feed. ///The target for this service call - ///Template of a Filename. Variable is entity_id. Must be mp4. eg: /tmp/snapshot_{{ entity_id.name }}.mp4 - ///Target recording length. - ///Target lookback period to include in addition to duration. Only available if there is currently an active HLS stream. + ///Template of a filename. Variable available is `entity_id`. Must be mp4. eg: /tmp/snapshot_{{ entity_id.name }}.mp4 + ///Planned duration of the recording. The actual duration may vary. + ///Planned lookback period to include in the recording (in addition to the duration). Only available if there is currently an active HLS stream. The actual length of the lookback period may vary. public void Record(ServiceTarget target, string filename, long? duration = null, long? lookback = null) { _haContext.CallService("camera", "record", target, new CameraRecordParameters { Filename = filename, Duration = duration, Lookback = lookback }); } - ///Take a snapshot from a camera. + ///Takes a snapshot from a camera. ///The target for this service call public void Snapshot(ServiceTarget target, CameraSnapshotParameters data) { _haContext.CallService("camera", "snapshot", target, data); } - ///Take a snapshot from a camera. + ///Takes a snapshot from a camera. ///The target for this service call - ///Template of a Filename. Variable is entity_id. eg: /tmp/snapshot_{{ entity_id.name }}.jpg + ///Template of a filename. Variable available is `entity_id`. eg: /tmp/snapshot_{{ entity_id.name }}.jpg public void Snapshot(ServiceTarget target, string filename) { _haContext.CallService("camera", "snapshot", target, new CameraSnapshotParameters { Filename = filename }); } - ///Turn off camera. + ///Turns off the camera. ///The target for this service call public void TurnOff(ServiceTarget target) { _haContext.CallService("camera", "turn_off", target); } - ///Turn on camera. + ///Turns on the camera. ///The target for this service call public void TurnOn(ServiceTarget target) { @@ -1808,33 +1712,33 @@ public void TurnOn(ServiceTarget target) public partial record CameraPlayStreamParameters { - ///Name(s) of media player to stream to. + ///Media players to stream to. [JsonPropertyName("media_player")] public string? MediaPlayer { get; init; } - ///Stream format supported by media player. + ///Stream format supported by the media player. [JsonPropertyName("format")] public object? Format { get; init; } } public partial record CameraRecordParameters { - ///Template of a Filename. Variable is entity_id. Must be mp4. eg: /tmp/snapshot_{{ entity_id.name }}.mp4 + ///Template of a filename. Variable available is `entity_id`. Must be mp4. eg: /tmp/snapshot_{{ entity_id.name }}.mp4 [JsonPropertyName("filename")] public string? Filename { get; init; } - ///Target recording length. + ///Planned duration of the recording. The actual duration may vary. [JsonPropertyName("duration")] public long? Duration { get; init; } - ///Target lookback period to include in addition to duration. Only available if there is currently an active HLS stream. + ///Planned lookback period to include in the recording (in addition to the duration). Only available if there is currently an active HLS stream. The actual length of the lookback period may vary. [JsonPropertyName("lookback")] public long? Lookback { get; init; } } public partial record CameraSnapshotParameters { - ///Template of a Filename. Variable is entity_id. eg: /tmp/snapshot_{{ entity_id.name }}.jpg + ///Template of a filename. Variable available is `entity_id`. eg: /tmp/snapshot_{{ entity_id.name }}.jpg [JsonPropertyName("filename")] public string? Filename { get; init; } } @@ -1847,16 +1751,16 @@ public CastServices(IHaContext haContext) _haContext = haContext; } - ///Show a Lovelace view on a Chromecast. + ///Shows a dashboard view on a Chromecast device. public void ShowLovelaceView(CastShowLovelaceViewParameters data) { _haContext.CallService("cast", "show_lovelace_view", null, data); } - ///Show a Lovelace view on a Chromecast. - ///Media Player entity to show the Lovelace view on. - ///The URL path of the Lovelace dashboard to show. eg: lovelace-cast - ///The path of the Lovelace view to show. eg: downstairs + ///Shows a dashboard view on a Chromecast device. + ///Media player entity to show the dashboard view on. + ///The URL path of the dashboard to show. eg: lovelace-cast + ///The path of the dashboard view to show. eg: downstairs public void ShowLovelaceView(string entityId, string dashboardPath, string? viewPath = null) { _haContext.CallService("cast", "show_lovelace_view", null, new CastShowLovelaceViewParameters { EntityId = entityId, DashboardPath = dashboardPath, ViewPath = viewPath }); @@ -1865,15 +1769,15 @@ public void ShowLovelaceView(string entityId, string dashboardPath, string? view public partial record CastShowLovelaceViewParameters { - ///Media Player entity to show the Lovelace view on. + ///Media player entity to show the dashboard view on. [JsonPropertyName("entity_id")] public string? EntityId { get; init; } - ///The URL path of the Lovelace dashboard to show. eg: lovelace-cast + ///The URL path of the dashboard to show. eg: lovelace-cast [JsonPropertyName("dashboard_path")] public string? DashboardPath { get; init; } - ///The path of the Lovelace view to show. eg: downstairs + ///The path of the dashboard view to show. eg: downstairs [JsonPropertyName("view_path")] public string? ViewPath { get; init; } } @@ -1886,14 +1790,14 @@ public ClimateServices(IHaContext haContext) _haContext = haContext; } - ///Turn auxiliary heater on/off for climate device. + ///Turns auxiliary heater on/off. ///The target for this service call public void SetAuxHeat(ServiceTarget target, ClimateSetAuxHeatParameters data) { _haContext.CallService("climate", "set_aux_heat", target, data); } - ///Turn auxiliary heater on/off for climate device. + ///Turns auxiliary heater on/off. ///The target for this service call ///New value of auxiliary heater. public void SetAuxHeat(ServiceTarget target, bool auxHeat) @@ -1901,107 +1805,107 @@ public void SetAuxHeat(ServiceTarget target, bool auxHeat) _haContext.CallService("climate", "set_aux_heat", target, new ClimateSetAuxHeatParameters { AuxHeat = auxHeat }); } - ///Set fan operation for climate device. + ///Sets fan operation mode. ///The target for this service call public void SetFanMode(ServiceTarget target, ClimateSetFanModeParameters data) { _haContext.CallService("climate", "set_fan_mode", target, data); } - ///Set fan operation for climate device. + ///Sets fan operation mode. ///The target for this service call - ///New value of fan mode. eg: low + ///Fan operation mode. eg: low public void SetFanMode(ServiceTarget target, string fanMode) { _haContext.CallService("climate", "set_fan_mode", target, new ClimateSetFanModeParameters { FanMode = fanMode }); } - ///Set target humidity of climate device. + ///Sets target humidity. ///The target for this service call public void SetHumidity(ServiceTarget target, ClimateSetHumidityParameters data) { _haContext.CallService("climate", "set_humidity", target, data); } - ///Set target humidity of climate device. + ///Sets target humidity. ///The target for this service call - ///New target humidity for climate device. + ///Target humidity. public void SetHumidity(ServiceTarget target, long humidity) { _haContext.CallService("climate", "set_humidity", target, new ClimateSetHumidityParameters { Humidity = humidity }); } - ///Set HVAC operation mode for climate device. + ///Sets HVAC operation mode. ///The target for this service call public void SetHvacMode(ServiceTarget target, ClimateSetHvacModeParameters data) { _haContext.CallService("climate", "set_hvac_mode", target, data); } - ///Set HVAC operation mode for climate device. + ///Sets HVAC operation mode. ///The target for this service call - ///New value of operation mode. + ///HVAC operation mode. public void SetHvacMode(ServiceTarget target, object? hvacMode = null) { _haContext.CallService("climate", "set_hvac_mode", target, new ClimateSetHvacModeParameters { HvacMode = hvacMode }); } - ///Set preset mode for climate device. + ///Sets preset mode. ///The target for this service call public void SetPresetMode(ServiceTarget target, ClimateSetPresetModeParameters data) { _haContext.CallService("climate", "set_preset_mode", target, data); } - ///Set preset mode for climate device. + ///Sets preset mode. ///The target for this service call - ///New value of preset mode. eg: away + ///Preset mode. eg: away public void SetPresetMode(ServiceTarget target, string presetMode) { _haContext.CallService("climate", "set_preset_mode", target, new ClimateSetPresetModeParameters { PresetMode = presetMode }); } - ///Set swing operation for climate device. + ///Sets swing operation mode. ///The target for this service call public void SetSwingMode(ServiceTarget target, ClimateSetSwingModeParameters data) { _haContext.CallService("climate", "set_swing_mode", target, data); } - ///Set swing operation for climate device. + ///Sets swing operation mode. ///The target for this service call - ///New value of swing mode. eg: horizontal + ///Swing operation mode. eg: horizontal public void SetSwingMode(ServiceTarget target, string swingMode) { _haContext.CallService("climate", "set_swing_mode", target, new ClimateSetSwingModeParameters { SwingMode = swingMode }); } - ///Set target temperature of climate device. + ///Sets target temperature. ///The target for this service call public void SetTemperature(ServiceTarget target, ClimateSetTemperatureParameters data) { _haContext.CallService("climate", "set_temperature", target, data); } - ///Set target temperature of climate device. + ///Sets target temperature. ///The target for this service call - ///New target temperature for HVAC. - ///New target high temperature for HVAC. - ///New target low temperature for HVAC. - ///HVAC operation mode to set temperature to. + ///Target temperature. + ///High target temperature. + ///Low target temperature. + ///HVAC operation mode. public void SetTemperature(ServiceTarget target, double? temperature = null, double? targetTempHigh = null, double? targetTempLow = null, object? hvacMode = null) { _haContext.CallService("climate", "set_temperature", target, new ClimateSetTemperatureParameters { Temperature = temperature, TargetTempHigh = targetTempHigh, TargetTempLow = targetTempLow, HvacMode = hvacMode }); } - ///Turn climate device off. + ///Turns climate device off. ///The target for this service call public void TurnOff(ServiceTarget target) { _haContext.CallService("climate", "turn_off", target); } - ///Turn climate device on. + ///Turns climate device on. ///The target for this service call public void TurnOn(ServiceTarget target) { @@ -2018,54 +1922,54 @@ public partial record ClimateSetAuxHeatParameters public partial record ClimateSetFanModeParameters { - ///New value of fan mode. eg: low + ///Fan operation mode. eg: low [JsonPropertyName("fan_mode")] public string? FanMode { get; init; } } public partial record ClimateSetHumidityParameters { - ///New target humidity for climate device. + ///Target humidity. [JsonPropertyName("humidity")] public long? Humidity { get; init; } } public partial record ClimateSetHvacModeParameters { - ///New value of operation mode. + ///HVAC operation mode. [JsonPropertyName("hvac_mode")] public object? HvacMode { get; init; } } public partial record ClimateSetPresetModeParameters { - ///New value of preset mode. eg: away + ///Preset mode. eg: away [JsonPropertyName("preset_mode")] public string? PresetMode { get; init; } } public partial record ClimateSetSwingModeParameters { - ///New value of swing mode. eg: horizontal + ///Swing operation mode. eg: horizontal [JsonPropertyName("swing_mode")] public string? SwingMode { get; init; } } public partial record ClimateSetTemperatureParameters { - ///New target temperature for HVAC. + ///Target temperature. [JsonPropertyName("temperature")] public double? Temperature { get; init; } - ///New target high temperature for HVAC. + ///High target temperature. [JsonPropertyName("target_temp_high")] public double? TargetTempHigh { get; init; } - ///New target low temperature for HVAC. + ///Low target temperature. [JsonPropertyName("target_temp_low")] public double? TargetTempLow { get; init; } - ///HVAC operation mode to set temperature to. + ///HVAC operation mode. [JsonPropertyName("hvac_mode")] public object? HvacMode { get; init; } } @@ -2078,13 +1982,13 @@ public CloudServices(IHaContext haContext) _haContext = haContext; } - ///Make instance UI available outside over NabuCasa cloud + ///Makes the instance UI accessible from outside of the local network by using Home Assistant Cloud. public void RemoteConnect() { _haContext.CallService("cloud", "remote_connect", null); } - ///Disconnect UI from NabuCasa cloud + ///Disconnects the Home Assistant UI from the Home Assistant Cloud. You will no longer be able to access your Home Assistant instance from outside your local network. public void RemoteDisconnect() { _haContext.CallService("cloud", "remote_disconnect", null); @@ -2099,38 +2003,58 @@ public ConversationServices(IHaContext haContext) _haContext = haContext; } - ///Launch a conversation from a transcribed text. + ///Launches a conversation from a transcribed text. public void Process(ConversationProcessParameters data) { _haContext.CallService("conversation", "process", null, data); } - ///Launch a conversation from a transcribed text. - ///Transcribed text eg: Turn all lights on - ///Language of text. Defaults to server language eg: NL - ///Assist engine to process your request eg: homeassistant + ///Launches a conversation from a transcribed text. + ///Transcribed text input. eg: Turn all lights on + ///Language of text. Defaults to server language. eg: NL + ///Conversation agent to process your request. The conversation agent is the brains of your assistant. It processes the incoming text commands. eg: homeassistant public void Process(string text, string? language = null, object? agentId = null) { _haContext.CallService("conversation", "process", null, new ConversationProcessParameters { Text = text, Language = language, AgentId = agentId }); } - public void Reload() + ///Reloads the intent configuration. + public void Reload(ConversationReloadParameters data) + { + _haContext.CallService("conversation", "reload", null, data); + } + + ///Reloads the intent configuration. + ///Language to clear cached intents for. Defaults to server language. eg: NL + ///Conversation agent to reload. eg: homeassistant + public void Reload(string? language = null, object? agentId = null) { - _haContext.CallService("conversation", "reload", null); + _haContext.CallService("conversation", "reload", null, new ConversationReloadParameters { Language = language, AgentId = agentId }); } } public partial record ConversationProcessParameters { - ///Transcribed text eg: Turn all lights on + ///Transcribed text input. eg: Turn all lights on [JsonPropertyName("text")] public string? Text { get; init; } - ///Language of text. Defaults to server language eg: NL + ///Language of text. Defaults to server language. eg: NL [JsonPropertyName("language")] public string? Language { get; init; } - ///Assist engine to process your request eg: homeassistant + ///Conversation agent to process your request. The conversation agent is the brains of your assistant. It processes the incoming text commands. eg: homeassistant + [JsonPropertyName("agent_id")] + public object? AgentId { get; init; } +} + +public partial record ConversationReloadParameters +{ + ///Language to clear cached intents for. Defaults to server language. eg: NL + [JsonPropertyName("language")] + public string? Language { get; init; } + + ///Conversation agent to reload. eg: homeassistant [JsonPropertyName("agent_id")] public object? AgentId { get; init; } } @@ -2143,40 +2067,35 @@ public CounterServices(IHaContext haContext) _haContext = haContext; } - public void Configure() - { - _haContext.CallService("counter", "configure", null); - } - - ///Decrement a counter. + ///Decrements a counter. ///The target for this service call public void Decrement(ServiceTarget target) { _haContext.CallService("counter", "decrement", target); } - ///Increment a counter. + ///Increments a counter. ///The target for this service call public void Increment(ServiceTarget target) { _haContext.CallService("counter", "increment", target); } - ///Reset a counter. + ///Resets a counter. ///The target for this service call public void Reset(ServiceTarget target) { _haContext.CallService("counter", "reset", target); } - ///Set the counter value + ///Sets the counter value. ///The target for this service call public void SetValue(ServiceTarget target, CounterSetValueParameters data) { _haContext.CallService("counter", "set_value", target, data); } - ///Set the counter value + ///Sets the counter value. ///The target for this service call ///The new counter value the entity should be set to. public void SetValue(ServiceTarget target, long value) @@ -2200,86 +2119,86 @@ public CoverServices(IHaContext haContext) _haContext = haContext; } - ///Close all or specified cover. + ///Closes a cover. ///The target for this service call public void CloseCover(ServiceTarget target) { _haContext.CallService("cover", "close_cover", target); } - ///Close all or specified cover tilt. + ///Tilts a cover to close. ///The target for this service call public void CloseCoverTilt(ServiceTarget target) { _haContext.CallService("cover", "close_cover_tilt", target); } - ///Open all or specified cover. + ///Opens a cover. ///The target for this service call public void OpenCover(ServiceTarget target) { _haContext.CallService("cover", "open_cover", target); } - ///Open all or specified cover tilt. + ///Tilts a cover open. ///The target for this service call public void OpenCoverTilt(ServiceTarget target) { _haContext.CallService("cover", "open_cover_tilt", target); } - ///Move to specific position all or specified cover. + ///Moves a cover to a specific position. ///The target for this service call public void SetCoverPosition(ServiceTarget target, CoverSetCoverPositionParameters data) { _haContext.CallService("cover", "set_cover_position", target, data); } - ///Move to specific position all or specified cover. + ///Moves a cover to a specific position. ///The target for this service call - ///Position of the cover + ///Target position. public void SetCoverPosition(ServiceTarget target, long position) { _haContext.CallService("cover", "set_cover_position", target, new CoverSetCoverPositionParameters { Position = position }); } - ///Move to specific position all or specified cover tilt. + ///Moves a cover tilt to a specific position. ///The target for this service call public void SetCoverTiltPosition(ServiceTarget target, CoverSetCoverTiltPositionParameters data) { _haContext.CallService("cover", "set_cover_tilt_position", target, data); } - ///Move to specific position all or specified cover tilt. + ///Moves a cover tilt to a specific position. ///The target for this service call - ///Tilt position of the cover. + ///Target tilt positition. public void SetCoverTiltPosition(ServiceTarget target, long tiltPosition) { _haContext.CallService("cover", "set_cover_tilt_position", target, new CoverSetCoverTiltPositionParameters { TiltPosition = tiltPosition }); } - ///Stop all or specified cover. + ///Stops the cover movement. ///The target for this service call public void StopCover(ServiceTarget target) { _haContext.CallService("cover", "stop_cover", target); } - ///Stop all or specified cover. + ///Stops a tilting cover movement. ///The target for this service call public void StopCoverTilt(ServiceTarget target) { _haContext.CallService("cover", "stop_cover_tilt", target); } - ///Toggle a cover open/closed. + ///Toggles a cover open/closed. ///The target for this service call public void Toggle(ServiceTarget target) { _haContext.CallService("cover", "toggle", target); } - ///Toggle a cover tilt open/closed. + ///Toggles a cover tilt open/closed. ///The target for this service call public void ToggleCoverTilt(ServiceTarget target) { @@ -2289,14 +2208,14 @@ public void ToggleCoverTilt(ServiceTarget target) public partial record CoverSetCoverPositionParameters { - ///Position of the cover + ///Target position. [JsonPropertyName("position")] public long? Position { get; init; } } public partial record CoverSetCoverTiltPositionParameters { - ///Tilt position of the cover. + ///Target tilt positition. [JsonPropertyName("tilt_position")] public long? TiltPosition { get; init; } } @@ -2309,20 +2228,20 @@ public DeviceTrackerServices(IHaContext haContext) _haContext = haContext; } - ///Control tracked device. + ///Records a seen tracked device. public void See(DeviceTrackerSeeParameters data) { _haContext.CallService("device_tracker", "see", null, data); } - ///Control tracked device. - ///MAC address of device eg: FF:FF:FF:FF:FF:FF - ///Id of device (find id in known_devices.yaml). eg: phonedave - ///Hostname of device eg: Dave - ///Name of location where device is located (not_home is away). eg: home - ///GPS coordinates where device is located (latitude, longitude). eg: [51.509802, -0.086692] - ///Accuracy of GPS coordinates. - ///Battery level of device. + ///Records a seen tracked device. + ///MAC address of the device. eg: FF:FF:FF:FF:FF:FF + ///ID of the device (find the ID in `known_devices.yaml`). eg: phonedave + ///Hostname of the device. eg: Dave + ///Name of the location where the device is located. The options are: `home`, `not_home`, or the name of the zone. eg: home + ///GPS coordinates where the device is located, specified by latitude and longitude (for example: [51.513845, -0.100539]). eg: [51.509802, -0.086692] + ///Accuracy of the GPS coordinates. + ///Battery level of the device. public void See(string? mac = null, string? devId = null, string? hostName = null, string? locationName = null, object? gps = null, long? gpsAccuracy = null, long? battery = null) { _haContext.CallService("device_tracker", "see", null, new DeviceTrackerSeeParameters { Mac = mac, DevId = devId, HostName = hostName, LocationName = locationName, Gps = gps, GpsAccuracy = gpsAccuracy, Battery = battery }); @@ -2331,31 +2250,31 @@ public void See(string? mac = null, string? devId = null, string? hostName = nul public partial record DeviceTrackerSeeParameters { - ///MAC address of device eg: FF:FF:FF:FF:FF:FF + ///MAC address of the device. eg: FF:FF:FF:FF:FF:FF [JsonPropertyName("mac")] public string? Mac { get; init; } - ///Id of device (find id in known_devices.yaml). eg: phonedave + ///ID of the device (find the ID in `known_devices.yaml`). eg: phonedave [JsonPropertyName("dev_id")] public string? DevId { get; init; } - ///Hostname of device eg: Dave + ///Hostname of the device. eg: Dave [JsonPropertyName("host_name")] public string? HostName { get; init; } - ///Name of location where device is located (not_home is away). eg: home + ///Name of the location where the device is located. The options are: `home`, `not_home`, or the name of the zone. eg: home [JsonPropertyName("location_name")] public string? LocationName { get; init; } - ///GPS coordinates where device is located (latitude, longitude). eg: [51.509802, -0.086692] + ///GPS coordinates where the device is located, specified by latitude and longitude (for example: [51.513845, -0.100539]). eg: [51.509802, -0.086692] [JsonPropertyName("gps")] public object? Gps { get; init; } - ///Accuracy of GPS coordinates. + ///Accuracy of the GPS coordinates. [JsonPropertyName("gps_accuracy")] public long? GpsAccuracy { get; init; } - ///Battery level of device. + ///Battery level of the device. [JsonPropertyName("battery")] public long? Battery { get; init; } } @@ -2368,121 +2287,121 @@ public FanServices(IHaContext haContext) _haContext = haContext; } - ///Decrease the speed of the fan by one speed or a percentage_step. + ///Decreases the speed of the fan. ///The target for this service call public void DecreaseSpeed(ServiceTarget target, FanDecreaseSpeedParameters data) { _haContext.CallService("fan", "decrease_speed", target, data); } - ///Decrease the speed of the fan by one speed or a percentage_step. + ///Decreases the speed of the fan. ///The target for this service call - ///Decrease speed by a percentage. + ///Decreases the speed by a percentage step. public void DecreaseSpeed(ServiceTarget target, long? percentageStep = null) { _haContext.CallService("fan", "decrease_speed", target, new FanDecreaseSpeedParameters { PercentageStep = percentageStep }); } - ///Increase the speed of the fan by one speed or a percentage_step. + ///Increases the speed of the fan. ///The target for this service call public void IncreaseSpeed(ServiceTarget target, FanIncreaseSpeedParameters data) { _haContext.CallService("fan", "increase_speed", target, data); } - ///Increase the speed of the fan by one speed or a percentage_step. + ///Increases the speed of the fan. ///The target for this service call - ///Increase speed by a percentage. + ///Increases the speed by a percentage step. public void IncreaseSpeed(ServiceTarget target, long? percentageStep = null) { _haContext.CallService("fan", "increase_speed", target, new FanIncreaseSpeedParameters { PercentageStep = percentageStep }); } - ///Oscillate the fan. + ///Controls oscillatation of the fan. ///The target for this service call public void Oscillate(ServiceTarget target, FanOscillateParameters data) { _haContext.CallService("fan", "oscillate", target, data); } - ///Oscillate the fan. + ///Controls oscillatation of the fan. ///The target for this service call - ///Flag to turn on/off oscillation. + ///Turn on/off oscillation. public void Oscillate(ServiceTarget target, bool oscillating) { _haContext.CallService("fan", "oscillate", target, new FanOscillateParameters { Oscillating = oscillating }); } - ///Set the fan rotation. + ///Sets the fan rotation direction. ///The target for this service call public void SetDirection(ServiceTarget target, FanSetDirectionParameters data) { _haContext.CallService("fan", "set_direction", target, data); } - ///Set the fan rotation. + ///Sets the fan rotation direction. ///The target for this service call - ///The direction to rotate. + ///Direction to rotate. public void SetDirection(ServiceTarget target, object direction) { _haContext.CallService("fan", "set_direction", target, new FanSetDirectionParameters { Direction = direction }); } - ///Set fan speed percentage. + ///Sets the fan speed. ///The target for this service call public void SetPercentage(ServiceTarget target, FanSetPercentageParameters data) { _haContext.CallService("fan", "set_percentage", target, data); } - ///Set fan speed percentage. + ///Sets the fan speed. ///The target for this service call - ///Percentage speed setting. + ///Speed of the fan. public void SetPercentage(ServiceTarget target, long percentage) { _haContext.CallService("fan", "set_percentage", target, new FanSetPercentageParameters { Percentage = percentage }); } - ///Set preset mode for a fan device. + ///Sets preset mode. ///The target for this service call public void SetPresetMode(ServiceTarget target, FanSetPresetModeParameters data) { _haContext.CallService("fan", "set_preset_mode", target, data); } - ///Set preset mode for a fan device. + ///Sets preset mode. ///The target for this service call - ///New value of preset mode. eg: auto + ///Preset mode. eg: auto public void SetPresetMode(ServiceTarget target, string presetMode) { _haContext.CallService("fan", "set_preset_mode", target, new FanSetPresetModeParameters { PresetMode = presetMode }); } - ///Toggle the fan on/off. + ///Toggles the fan on/off. ///The target for this service call public void Toggle(ServiceTarget target) { _haContext.CallService("fan", "toggle", target); } - ///Turn fan off. + ///Turns fan off. ///The target for this service call public void TurnOff(ServiceTarget target) { _haContext.CallService("fan", "turn_off", target); } - ///Turn fan on. + ///Turns fan on. ///The target for this service call public void TurnOn(ServiceTarget target, FanTurnOnParameters data) { _haContext.CallService("fan", "turn_on", target, data); } - ///Turn fan on. + ///Turns fan on. ///The target for this service call - ///Percentage speed setting. - ///Preset mode setting. eg: auto + ///Speed of the fan. + ///Preset mode. eg: auto public void TurnOn(ServiceTarget target, long? percentage = null, string? presetMode = null) { _haContext.CallService("fan", "turn_on", target, new FanTurnOnParameters { Percentage = percentage, PresetMode = presetMode }); @@ -2491,53 +2410,53 @@ public void TurnOn(ServiceTarget target, long? percentage = null, string? preset public partial record FanDecreaseSpeedParameters { - ///Decrease speed by a percentage. + ///Decreases the speed by a percentage step. [JsonPropertyName("percentage_step")] public long? PercentageStep { get; init; } } public partial record FanIncreaseSpeedParameters { - ///Increase speed by a percentage. + ///Increases the speed by a percentage step. [JsonPropertyName("percentage_step")] public long? PercentageStep { get; init; } } public partial record FanOscillateParameters { - ///Flag to turn on/off oscillation. + ///Turn on/off oscillation. [JsonPropertyName("oscillating")] public bool? Oscillating { get; init; } } public partial record FanSetDirectionParameters { - ///The direction to rotate. + ///Direction to rotate. [JsonPropertyName("direction")] public object? Direction { get; init; } } public partial record FanSetPercentageParameters { - ///Percentage speed setting. + ///Speed of the fan. [JsonPropertyName("percentage")] public long? Percentage { get; init; } } public partial record FanSetPresetModeParameters { - ///New value of preset mode. eg: auto + ///Preset mode. eg: auto [JsonPropertyName("preset_mode")] public string? PresetMode { get; init; } } public partial record FanTurnOnParameters { - ///Percentage speed setting. + ///Speed of the fan. [JsonPropertyName("percentage")] public long? Percentage { get; init; } - ///Preset mode setting. eg: auto + ///Preset mode. eg: auto [JsonPropertyName("preset_mode")] public string? PresetMode { get; init; } } @@ -2550,39 +2469,39 @@ public FfmpegServices(IHaContext haContext) _haContext = haContext; } - ///Send a restart command to a ffmpeg based sensor. + ///Sends a restart command to a ffmpeg based sensor. public void Restart(FfmpegRestartParameters data) { _haContext.CallService("ffmpeg", "restart", null, data); } - ///Send a restart command to a ffmpeg based sensor. + ///Sends a restart command to a ffmpeg based sensor. ///Name of entity that will restart. Platform dependent. public void Restart(string? entityId = null) { _haContext.CallService("ffmpeg", "restart", null, new FfmpegRestartParameters { EntityId = entityId }); } - ///Send a start command to a ffmpeg based sensor. + ///Sends a start command to a ffmpeg based sensor. public void Start(FfmpegStartParameters data) { _haContext.CallService("ffmpeg", "start", null, data); } - ///Send a start command to a ffmpeg based sensor. + ///Sends a start command to a ffmpeg based sensor. ///Name of entity that will start. Platform dependent. public void Start(string? entityId = null) { _haContext.CallService("ffmpeg", "start", null, new FfmpegStartParameters { EntityId = entityId }); } - ///Send a stop command to a ffmpeg based sensor. + ///Sends a stop command to a ffmpeg based sensor. public void Stop(FfmpegStopParameters data) { _haContext.CallService("ffmpeg", "stop", null, data); } - ///Send a stop command to a ffmpeg based sensor. + ///Sends a stop command to a ffmpeg based sensor. ///Name of entity that will stop. Platform dependent. public void Stop(string? entityId = null) { @@ -2619,21 +2538,21 @@ public FrontendServices(IHaContext haContext) _haContext = haContext; } - ///Reload themes from YAML configuration. + ///Reloads themes from the YAML-configuration. public void ReloadThemes() { _haContext.CallService("frontend", "reload_themes", null); } - ///Set a theme unless the client selected per-device theme. + ///Sets the default theme Home Assistant uses. Can be overridden by a user. public void SetTheme(FrontendSetThemeParameters data) { _haContext.CallService("frontend", "set_theme", null, data); } - ///Set a theme unless the client selected per-device theme. - ///Name of a predefined theme eg: default - ///The mode the theme is for. + ///Sets the default theme Home Assistant uses. Can be overridden by a user. + ///Name of a theme. eg: default + ///Theme mode. public void SetTheme(object name, object? mode = null) { _haContext.CallService("frontend", "set_theme", null, new FrontendSetThemeParameters { Name = name, Mode = mode }); @@ -2642,11 +2561,11 @@ public void SetTheme(object name, object? mode = null) public partial record FrontendSetThemeParameters { - ///Name of a predefined theme eg: default + ///Name of a theme. eg: default [JsonPropertyName("name")] public object? Name { get; init; } - ///The mode the theme is for. + ///Theme mode. [JsonPropertyName("mode")] public object? Mode { get; init; } } @@ -2659,40 +2578,40 @@ public GroupServices(IHaContext haContext) _haContext = haContext; } - ///Reload group configuration, entities, and notify services. + ///Reloads group configuration, entities, and notify services from YAML-configuration. public void Reload() { _haContext.CallService("group", "reload", null); } - ///Remove a user group. + ///Removes a group. public void Remove(GroupRemoveParameters data) { _haContext.CallService("group", "remove", null, data); } - ///Remove a user group. - ///Group id and part of entity id. eg: test_group + ///Removes a group. + ///Object ID of this group. This object ID is used as part of the entity ID. Entity ID format: [domain].[object_id]. eg: test_group public void Remove(object objectId) { _haContext.CallService("group", "remove", null, new GroupRemoveParameters { ObjectId = objectId }); } - ///Create/Update a user group. + ///Creates/Updates a user group. public void Set(GroupSetParameters data) { _haContext.CallService("group", "set", null, data); } - ///Create/Update a user group. - ///Group id and part of entity id. eg: test_group - ///Name of group eg: My test group - ///Name of icon for the group. eg: mdi:camera - ///List of all members in the group. Not compatible with 'delta'. eg: domain.entity_id1, domain.entity_id2 - ///List of members that will change on group listening. eg: domain.entity_id1, domain.entity_id2 - ///List of members that will be removed from group listening. eg: domain.entity_id1, domain.entity_id2 - ///Enable this option if the group should only turn on when all entities are on. - public void Set(string objectId, string? name = null, object? icon = null, object? entities = null, object? addEntities = null, object? removeEntities = null, bool? all = null) + ///Creates/Updates a user group. + ///Object ID of this group. This object ID is used as part of the entity ID. Entity ID format: [domain].[object_id]. eg: test_group + ///Name of the group. eg: My test group + ///Name of the icon for the group. eg: mdi:camera + ///List of all members in the group. Cannot be used in combination with `Add entities` or `Remove entities`. eg: domain.entity_id1, domain.entity_id2 + ///List of members to be added to the group. Cannot be used in combination with `Entities` or `Remove entities`. eg: domain.entity_id1, domain.entity_id2 + ///List of members to be removed from a group. Cannot be used in combination with `Entities` or `Add entities`. eg: domain.entity_id1, domain.entity_id2 + ///Enable this option if the group should only be used when all entities are in state `on`. + public void Set(string objectId, string? name = null, object? icon = null, string? entities = null, string? addEntities = null, string? removeEntities = null, bool? all = null) { _haContext.CallService("group", "set", null, new GroupSetParameters { ObjectId = objectId, Name = name, Icon = icon, Entities = entities, AddEntities = addEntities, RemoveEntities = removeEntities, All = all }); } @@ -2700,167 +2619,42 @@ public void Set(string objectId, string? name = null, object? icon = null, objec public partial record GroupRemoveParameters { - ///Group id and part of entity id. eg: test_group + ///Object ID of this group. This object ID is used as part of the entity ID. Entity ID format: [domain].[object_id]. eg: test_group [JsonPropertyName("object_id")] public object? ObjectId { get; init; } } public partial record GroupSetParameters { - ///Group id and part of entity id. eg: test_group + ///Object ID of this group. This object ID is used as part of the entity ID. Entity ID format: [domain].[object_id]. eg: test_group [JsonPropertyName("object_id")] public string? ObjectId { get; init; } - ///Name of group eg: My test group + ///Name of the group. eg: My test group [JsonPropertyName("name")] public string? Name { get; init; } - ///Name of icon for the group. eg: mdi:camera + ///Name of the icon for the group. eg: mdi:camera [JsonPropertyName("icon")] public object? Icon { get; init; } - ///List of all members in the group. Not compatible with 'delta'. eg: domain.entity_id1, domain.entity_id2 + ///List of all members in the group. Cannot be used in combination with `Add entities` or `Remove entities`. eg: domain.entity_id1, domain.entity_id2 [JsonPropertyName("entities")] - public object? Entities { get; init; } + public string? Entities { get; init; } - ///List of members that will change on group listening. eg: domain.entity_id1, domain.entity_id2 + ///List of members to be added to the group. Cannot be used in combination with `Entities` or `Remove entities`. eg: domain.entity_id1, domain.entity_id2 [JsonPropertyName("add_entities")] - public object? AddEntities { get; init; } + public string? AddEntities { get; init; } - ///List of members that will be removed from group listening. eg: domain.entity_id1, domain.entity_id2 + ///List of members to be removed from a group. Cannot be used in combination with `Entities` or `Add entities`. eg: domain.entity_id1, domain.entity_id2 [JsonPropertyName("remove_entities")] - public object? RemoveEntities { get; init; } + public string? RemoveEntities { get; init; } - ///Enable this option if the group should only turn on when all entities are on. + ///Enable this option if the group should only be used when all entities are in state `on`. [JsonPropertyName("all")] public bool? All { get; init; } } -public partial class HomeassistantServices -{ - private readonly IHaContext _haContext; - public HomeassistantServices(IHaContext haContext) - { - _haContext = haContext; - } - - ///Check the Home Assistant configuration files for errors. Errors will be displayed in the Home Assistant log. - public void CheckConfig() - { - _haContext.CallService("homeassistant", "check_config", null); - } - - public void ReloadAll() - { - _haContext.CallService("homeassistant", "reload_all", null); - } - - ///Reload a config entry that matches a target. - ///The target for this service call - public void ReloadConfigEntry(ServiceTarget target, HomeassistantReloadConfigEntryParameters data) - { - _haContext.CallService("homeassistant", "reload_config_entry", target, data); - } - - ///Reload a config entry that matches a target. - ///The target for this service call - ///A configuration entry id eg: 8955375327824e14ba89e4b29cc3ec9a - public void ReloadConfigEntry(ServiceTarget target, string? entryId = null) - { - _haContext.CallService("homeassistant", "reload_config_entry", target, new HomeassistantReloadConfigEntryParameters { EntryId = entryId }); - } - - ///Reload the core configuration. - public void ReloadCoreConfig() - { - _haContext.CallService("homeassistant", "reload_core_config", null); - } - - ///Reload Jinja2 templates found in the custom_templates folder in your config. New values will be applied on the next render of the template. - public void ReloadCustomTemplates() - { - _haContext.CallService("homeassistant", "reload_custom_templates", null); - } - - ///Restart the Home Assistant service. - public void Restart() - { - _haContext.CallService("homeassistant", "restart", null); - } - - ///Save the persistent states (for entities derived from RestoreEntity) immediately. Maintain the normal periodic saving interval. - public void SavePersistentStates() - { - _haContext.CallService("homeassistant", "save_persistent_states", null); - } - - ///Update the Home Assistant location. - public void SetLocation(HomeassistantSetLocationParameters data) - { - _haContext.CallService("homeassistant", "set_location", null, data); - } - - ///Update the Home Assistant location. - ///Latitude of your location. eg: 32.87336 - ///Longitude of your location. eg: 117.22743 - public void SetLocation(string latitude, string longitude) - { - _haContext.CallService("homeassistant", "set_location", null, new HomeassistantSetLocationParameters { Latitude = latitude, Longitude = longitude }); - } - - ///Stop the Home Assistant service. - public void Stop() - { - _haContext.CallService("homeassistant", "stop", null); - } - - ///Generic service to toggle devices on/off under any domain - ///The target for this service call - public void Toggle(ServiceTarget target) - { - _haContext.CallService("homeassistant", "toggle", target); - } - - ///Generic service to turn devices off under any domain. - ///The target for this service call - public void TurnOff(ServiceTarget target) - { - _haContext.CallService("homeassistant", "turn_off", target); - } - - ///Generic service to turn devices on under any domain. - ///The target for this service call - public void TurnOn(ServiceTarget target) - { - _haContext.CallService("homeassistant", "turn_on", target); - } - - ///Force one or more entities to update its data - ///The target for this service call - public void UpdateEntity(ServiceTarget target) - { - _haContext.CallService("homeassistant", "update_entity", target); - } -} - -public partial record HomeassistantReloadConfigEntryParameters -{ - ///A configuration entry id eg: 8955375327824e14ba89e4b29cc3ec9a - [JsonPropertyName("entry_id")] - public string? EntryId { get; init; } -} - -public partial record HomeassistantSetLocationParameters -{ - ///Latitude of your location. eg: 32.87336 - [JsonPropertyName("latitude")] - public string? Latitude { get; init; } - - ///Longitude of your location. eg: 117.22743 - [JsonPropertyName("longitude")] - public string? Longitude { get; init; } -} - public partial class HueServices { private readonly IHaContext _haContext; @@ -2869,31 +2663,31 @@ public HueServices(IHaContext haContext) _haContext = haContext; } - ///Activate a Hue scene with more control over the options. + ///Activates a Hue scene with more control over the options. ///The target for this service call public void ActivateScene(ServiceTarget target, HueActivateSceneParameters data) { _haContext.CallService("hue", "activate_scene", target, data); } - ///Activate a Hue scene with more control over the options. + ///Activates a Hue scene with more control over the options. ///The target for this service call ///Transition duration it takes to bring devices to the state defined in the scene. ///Enable dynamic mode of the scene. - ///Speed of dynamic palette for this scene + ///Speed of dynamic palette for this scene. ///Set brightness for the scene. public void ActivateScene(ServiceTarget target, long? transition = null, bool? dynamic = null, long? speed = null, long? brightness = null) { _haContext.CallService("hue", "activate_scene", target, new HueActivateSceneParameters { Transition = transition, Dynamic = dynamic, Speed = speed, Brightness = brightness }); } - ///Activate a hue scene stored in the hue hub. + ///Activates a hue scene stored in the hue hub. public void HueActivateScene(HueHueActivateSceneParameters data) { _haContext.CallService("hue", "hue_activate_scene", null, data); } - ///Activate a hue scene stored in the hue hub. + ///Activates a hue scene stored in the hue hub. ///Name of hue group/room from the hue app. eg: Living Room ///Name of hue scene from the hue app. eg: Energize ///Enable dynamic mode of the scene (V2 bridges and supported scenes only). @@ -2913,7 +2707,7 @@ public partial record HueActivateSceneParameters [JsonPropertyName("dynamic")] public bool? Dynamic { get; init; } - ///Speed of dynamic palette for this scene + ///Speed of dynamic palette for this scene. [JsonPropertyName("speed")] public long? Speed { get; init; } @@ -2945,27 +2739,27 @@ public InputBooleanServices(IHaContext haContext) _haContext = haContext; } - ///Reload the input_boolean configuration + ///Reloads helpers from the YAML-configuration. public void Reload() { _haContext.CallService("input_boolean", "reload", null); } - ///Toggle an input boolean + ///Toggles the helper on/off. ///The target for this service call public void Toggle(ServiceTarget target) { _haContext.CallService("input_boolean", "toggle", target); } - ///Turn off an input boolean + ///Turns off the helper. ///The target for this service call public void TurnOff(ServiceTarget target) { _haContext.CallService("input_boolean", "turn_off", target); } - ///Turn on an input boolean + ///Turns on the helper. ///The target for this service call public void TurnOn(ServiceTarget target) { @@ -2981,13 +2775,14 @@ public InputButtonServices(IHaContext haContext) _haContext = haContext; } - ///Press the input button entity. + ///Mimics the physical button press on the device. ///The target for this service call public void Press(ServiceTarget target) { _haContext.CallService("input_button", "press", target); } + ///Reloads helpers from the YAML-configuration. public void Reload() { _haContext.CallService("input_button", "reload", null); @@ -3002,25 +2797,25 @@ public InputDatetimeServices(IHaContext haContext) _haContext = haContext; } - ///Reload the input_datetime configuration. + ///Reloads helpers from the YAML-configuration. public void Reload() { _haContext.CallService("input_datetime", "reload", null); } - ///This can be used to dynamically set the date and/or time. + ///Sets the date and/or time. ///The target for this service call public void SetDatetime(ServiceTarget target, InputDatetimeSetDatetimeParameters data) { _haContext.CallService("input_datetime", "set_datetime", target, data); } - ///This can be used to dynamically set the date and/or time. + ///Sets the date and/or time. ///The target for this service call - ///The target date the entity should be set to. eg: "2019-04-20" - ///The target time the entity should be set to. eg: "05:04:20" - ///The target date & time the entity should be set to. eg: "2019-04-20 05:04:20" - ///The target date & time the entity should be set to as expressed by a UNIX timestamp. + ///The target date. eg: "2019-04-20" + ///The target time. eg: "05:04:20" + ///The target date & time. eg: "2019-04-20 05:04:20" + ///The target date & time, expressed by a UNIX timestamp. public void SetDatetime(ServiceTarget target, string? date = null, DateTime? time = null, string? datetime = null, long? timestamp = null) { _haContext.CallService("input_datetime", "set_datetime", target, new InputDatetimeSetDatetimeParameters { Date = date, Time = time, Datetime = datetime, Timestamp = timestamp }); @@ -3029,19 +2824,19 @@ public void SetDatetime(ServiceTarget target, string? date = null, DateTime? tim public partial record InputDatetimeSetDatetimeParameters { - ///The target date the entity should be set to. eg: "2019-04-20" + ///The target date. eg: "2019-04-20" [JsonPropertyName("date")] public string? Date { get; init; } - ///The target time the entity should be set to. eg: "05:04:20" + ///The target time. eg: "05:04:20" [JsonPropertyName("time")] public DateTime? Time { get; init; } - ///The target date & time the entity should be set to. eg: "2019-04-20 05:04:20" + ///The target date & time. eg: "2019-04-20 05:04:20" [JsonPropertyName("datetime")] public string? Datetime { get; init; } - ///The target date & time the entity should be set to as expressed by a UNIX timestamp. + ///The target date & time, expressed by a UNIX timestamp. [JsonPropertyName("timestamp")] public long? Timestamp { get; init; } } @@ -3054,36 +2849,36 @@ public InputNumberServices(IHaContext haContext) _haContext = haContext; } - ///Decrement the value of an input number entity by its stepping. + ///Decrements the current value by 1 step. ///The target for this service call public void Decrement(ServiceTarget target) { _haContext.CallService("input_number", "decrement", target); } - ///Increment the value of an input number entity by its stepping. + ///Increments the value by 1 step. ///The target for this service call public void Increment(ServiceTarget target) { _haContext.CallService("input_number", "increment", target); } - ///Reload the input_number configuration. + ///Reloads helpers from the YAML-configuration. public void Reload() { _haContext.CallService("input_number", "reload", null); } - ///Set the value of an input number entity. + ///Sets the value. ///The target for this service call public void SetValue(ServiceTarget target, InputNumberSetValueParameters data) { _haContext.CallService("input_number", "set_value", target, data); } - ///Set the value of an input number entity. + ///Sets the value. ///The target for this service call - ///The target value the entity should be set to. + ///The target value. public void SetValue(ServiceTarget target, double value) { _haContext.CallService("input_number", "set_value", target, new InputNumberSetValueParameters { Value = value }); @@ -3092,7 +2887,7 @@ public void SetValue(ServiceTarget target, double value) public partial record InputNumberSetValueParameters { - ///The target value the entity should be set to. + ///The target value. [JsonPropertyName("value")] public double? Value { get; init; } } @@ -3105,49 +2900,49 @@ public InputSelectServices(IHaContext haContext) _haContext = haContext; } - ///Reload the input_select configuration. + ///Reloads helpers from the YAML-configuration. public void Reload() { _haContext.CallService("input_select", "reload", null); } - ///Select the first option of an input select entity. + ///Selects the first option. ///The target for this service call public void SelectFirst(ServiceTarget target) { _haContext.CallService("input_select", "select_first", target); } - ///Select the last option of an input select entity. + ///Selects the last option. ///The target for this service call public void SelectLast(ServiceTarget target) { _haContext.CallService("input_select", "select_last", target); } - ///Select the next options of an input select entity. + ///Select the next option. ///The target for this service call public void SelectNext(ServiceTarget target, InputSelectSelectNextParameters data) { _haContext.CallService("input_select", "select_next", target, data); } - ///Select the next options of an input select entity. + ///Select the next option. ///The target for this service call - ///If the option should cycle from the last to the first. + ///If the option should cycle from the last to the first option on the list. public void SelectNext(ServiceTarget target, bool? cycle = null) { _haContext.CallService("input_select", "select_next", target, new InputSelectSelectNextParameters { Cycle = cycle }); } - ///Select an option of an input select entity. + ///Selects an option. ///The target for this service call public void SelectOption(ServiceTarget target, InputSelectSelectOptionParameters data) { _haContext.CallService("input_select", "select_option", target, data); } - ///Select an option of an input select entity. + ///Selects an option. ///The target for this service call ///Option to be selected. eg: "Item A" public void SelectOption(ServiceTarget target, string option) @@ -3155,31 +2950,31 @@ public void SelectOption(ServiceTarget target, string option) _haContext.CallService("input_select", "select_option", target, new InputSelectSelectOptionParameters { Option = option }); } - ///Select the previous options of an input select entity. + ///Selects the previous option. ///The target for this service call public void SelectPrevious(ServiceTarget target, InputSelectSelectPreviousParameters data) { _haContext.CallService("input_select", "select_previous", target, data); } - ///Select the previous options of an input select entity. + ///Selects the previous option. ///The target for this service call - ///If the option should cycle from the first to the last. + ///If the option should cycle from the last to the first option on the list. public void SelectPrevious(ServiceTarget target, bool? cycle = null) { _haContext.CallService("input_select", "select_previous", target, new InputSelectSelectPreviousParameters { Cycle = cycle }); } - ///Set the options of an input select entity. + ///Sets the options. ///The target for this service call public void SetOptions(ServiceTarget target, InputSelectSetOptionsParameters data) { _haContext.CallService("input_select", "set_options", target, data); } - ///Set the options of an input select entity. + ///Sets the options. ///The target for this service call - ///Options for the input select entity. eg: ["Item A", "Item B", "Item C"] + ///List of options. eg: ["Item A", "Item B", "Item C"] public void SetOptions(ServiceTarget target, object options) { _haContext.CallService("input_select", "set_options", target, new InputSelectSetOptionsParameters { Options = options }); @@ -3188,7 +2983,7 @@ public void SetOptions(ServiceTarget target, object options) public partial record InputSelectSelectNextParameters { - ///If the option should cycle from the last to the first. + ///If the option should cycle from the last to the first option on the list. [JsonPropertyName("cycle")] public bool? Cycle { get; init; } } @@ -3202,14 +2997,14 @@ public partial record InputSelectSelectOptionParameters public partial record InputSelectSelectPreviousParameters { - ///If the option should cycle from the first to the last. + ///If the option should cycle from the last to the first option on the list. [JsonPropertyName("cycle")] public bool? Cycle { get; init; } } public partial record InputSelectSetOptionsParameters { - ///Options for the input select entity. eg: ["Item A", "Item B", "Item C"] + ///List of options. eg: ["Item A", "Item B", "Item C"] [JsonPropertyName("options")] public object? Options { get; init; } } @@ -3222,22 +3017,22 @@ public InputTextServices(IHaContext haContext) _haContext = haContext; } - ///Reload the input_text configuration. + ///Reloads helpers from the YAML-configuration. public void Reload() { _haContext.CallService("input_text", "reload", null); } - ///Set the value of an input text entity. + ///Sets the value. ///The target for this service call public void SetValue(ServiceTarget target, InputTextSetValueParameters data) { _haContext.CallService("input_text", "set_value", target, data); } - ///Set the value of an input text entity. + ///Sets the value. ///The target for this service call - ///The target value the entity should be set to. eg: This is an example text + ///The target value. eg: This is an example text public void SetValue(ServiceTarget target, string value) { _haContext.CallService("input_text", "set_value", target, new InputTextSetValueParameters { Value = value }); @@ -3246,7 +3041,7 @@ public void SetValue(ServiceTarget target, string value) public partial record InputTextSetValueParameters { - ///The target value the entity should be set to. eg: This is an example text + ///The target value. eg: This is an example text [JsonPropertyName("value")] public string? Value { get; init; } } @@ -3259,76 +3054,76 @@ public LightServices(IHaContext haContext) _haContext = haContext; } - ///Toggles one or more lights, from on to off, or, off to on, based on their current state. + ///Toggles one or more lights, from on to off, or, off to on, based on their current state. ///The target for this service call public void Toggle(ServiceTarget target, LightToggleParameters data) { _haContext.CallService("light", "toggle", target, data); } - ///Toggles one or more lights, from on to off, or, off to on, based on their current state. + ///Toggles one or more lights, from on to off, or, off to on, based on their current state. ///The target for this service call ///Duration it takes to get to next state. - ///Color for the light in RGB-format. eg: [255, 100, 100] - ///A human readable color name. - ///Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100. eg: [300, 70] - ///Color for the light in XY-format. eg: [0.52, 0.43] - ///Color temperature for the light in mireds. - ///Color temperature for the light in Kelvin. - ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light. - ///Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light. + ///The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. eg: [255, 100, 100] + ///A human-readable color name. + ///Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100. eg: [300, 70] + ///Color in XY-format. A list of two decimal numbers between 0 and 1. eg: [0.52, 0.43] + ///Color temperature in mireds. + ///Color temperature in Kelvin. + ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness. + ///Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness. ///Set the light to white mode. ///Name of a light profile to use. eg: relax - ///If the light should flash. + ///Tell light to flash, can be either value short or long. ///Light effect. - public void Toggle(ServiceTarget target, long? transition = null, object? rgbColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, long? kelvin = null, long? brightness = null, long? brightnessPct = null, object? white = null, string? profile = null, object? flash = null, string? effect = null) + public void Toggle(ServiceTarget target, long? transition = null, object? rgbColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, object? kelvin = null, long? brightness = null, long? brightnessPct = null, object? white = null, string? profile = null, object? flash = null, string? effect = null) { _haContext.CallService("light", "toggle", target, new LightToggleParameters { Transition = transition, RgbColor = rgbColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Kelvin = kelvin, Brightness = brightness, BrightnessPct = brightnessPct, White = white, Profile = profile, Flash = flash, Effect = effect }); } - ///Turns off one or more lights. + ///Turn off one or more lights. ///The target for this service call public void TurnOff(ServiceTarget target, LightTurnOffParameters data) { _haContext.CallService("light", "turn_off", target, data); } - ///Turns off one or more lights. + ///Turn off one or more lights. ///The target for this service call ///Duration it takes to get to next state. - ///If the light should flash. + ///Tell light to flash, can be either value short or long. public void TurnOff(ServiceTarget target, long? transition = null, object? flash = null) { _haContext.CallService("light", "turn_off", target, new LightTurnOffParameters { Transition = transition, Flash = flash }); } - ///Turn on one or more lights and adjust properties of the light, even when they are turned on already. + ///Turn on one or more lights and adjust properties of the light, even when they are turned on already. ///The target for this service call public void TurnOn(ServiceTarget target, LightTurnOnParameters data) { _haContext.CallService("light", "turn_on", target, data); } - ///Turn on one or more lights and adjust properties of the light, even when they are turned on already. + ///Turn on one or more lights and adjust properties of the light, even when they are turned on already. ///The target for this service call ///Duration it takes to get to next state. - ///The color for the light (based on RGB - red, green, blue). - ///A list containing four integers between 0 and 255 representing the RGBW (red, green, blue, white) color for the light. eg: [255, 100, 100, 50] - ///A list containing five integers between 0 and 255 representing the RGBWW (red, green, blue, cold white, warm white) color for the light. eg: [255, 100, 100, 50, 70] - ///A human readable color name. - ///Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100. eg: [300, 70] - ///Color for the light in XY-format. eg: [0.52, 0.43] - ///Color temperature for the light in mireds. - ///Color temperature for the light in Kelvin. - ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light. - ///Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light. + ///The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. + ///The color in RGBW format. A list of four integers between 0 and 255 representing the values of red, green, blue, and white. eg: [255, 100, 100, 50] + ///The color in RGBWW format. A list of five integers between 0 and 255 representing the values of red, green, blue, cold white, and warm white. eg: [255, 100, 100, 50, 70] + ///A human-readable color name. + ///Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100. eg: [300, 70] + ///Color in XY-format. A list of two decimal numbers between 0 and 1. eg: [0.52, 0.43] + ///Color temperature in mireds. + ///Color temperature in Kelvin. + ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness. + ///Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness. ///Change brightness by an amount. ///Change brightness by a percentage. ///Set the light to white mode. ///Name of a light profile to use. eg: relax - ///If the light should flash. + ///Tell light to flash, can be either value short or long. ///Light effect. - public void TurnOn(ServiceTarget target, long? transition = null, object? rgbColor = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, long? kelvin = null, long? brightness = null, long? brightnessPct = null, long? brightnessStep = null, long? brightnessStepPct = null, object? white = null, string? profile = null, object? flash = null, string? effect = null) + public void TurnOn(ServiceTarget target, long? transition = null, object? rgbColor = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, object? kelvin = null, long? brightness = null, long? brightnessPct = null, long? brightnessStep = null, long? brightnessStepPct = null, object? white = null, string? profile = null, object? flash = null, string? effect = null) { _haContext.CallService("light", "turn_on", target, new LightTurnOnParameters { Transition = transition, RgbColor = rgbColor, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Kelvin = kelvin, Brightness = brightness, BrightnessPct = brightnessPct, BrightnessStep = brightnessStep, BrightnessStepPct = brightnessStepPct, White = white, Profile = profile, Flash = flash, Effect = effect }); } @@ -3340,35 +3135,35 @@ public partial record LightToggleParameters [JsonPropertyName("transition")] public long? Transition { get; init; } - ///Color for the light in RGB-format. eg: [255, 100, 100] + ///The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. eg: [255, 100, 100] [JsonPropertyName("rgb_color")] public object? RgbColor { get; init; } - ///A human readable color name. + ///A human-readable color name. [JsonPropertyName("color_name")] public object? ColorName { get; init; } - ///Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100. eg: [300, 70] + ///Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100. eg: [300, 70] [JsonPropertyName("hs_color")] public object? HsColor { get; init; } - ///Color for the light in XY-format. eg: [0.52, 0.43] + ///Color in XY-format. A list of two decimal numbers between 0 and 1. eg: [0.52, 0.43] [JsonPropertyName("xy_color")] public object? XyColor { get; init; } - ///Color temperature for the light in mireds. + ///Color temperature in mireds. [JsonPropertyName("color_temp")] public object? ColorTemp { get; init; } - ///Color temperature for the light in Kelvin. + ///Color temperature in Kelvin. [JsonPropertyName("kelvin")] - public long? Kelvin { get; init; } + public object? Kelvin { get; init; } - ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light. + ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness. [JsonPropertyName("brightness")] public long? Brightness { get; init; } - ///Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light. + ///Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness. [JsonPropertyName("brightness_pct")] public long? BrightnessPct { get; init; } @@ -3380,7 +3175,7 @@ public partial record LightToggleParameters [JsonPropertyName("profile")] public string? Profile { get; init; } - ///If the light should flash. + ///Tell light to flash, can be either value short or long. [JsonPropertyName("flash")] public object? Flash { get; init; } @@ -3395,7 +3190,7 @@ public partial record LightTurnOffParameters [JsonPropertyName("transition")] public long? Transition { get; init; } - ///If the light should flash. + ///Tell light to flash, can be either value short or long. [JsonPropertyName("flash")] public object? Flash { get; init; } } @@ -3406,43 +3201,43 @@ public partial record LightTurnOnParameters [JsonPropertyName("transition")] public long? Transition { get; init; } - ///The color for the light (based on RGB - red, green, blue). + ///The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. [JsonPropertyName("rgb_color")] public object? RgbColor { get; init; } - ///A list containing four integers between 0 and 255 representing the RGBW (red, green, blue, white) color for the light. eg: [255, 100, 100, 50] + ///The color in RGBW format. A list of four integers between 0 and 255 representing the values of red, green, blue, and white. eg: [255, 100, 100, 50] [JsonPropertyName("rgbw_color")] public object? RgbwColor { get; init; } - ///A list containing five integers between 0 and 255 representing the RGBWW (red, green, blue, cold white, warm white) color for the light. eg: [255, 100, 100, 50, 70] + ///The color in RGBWW format. A list of five integers between 0 and 255 representing the values of red, green, blue, cold white, and warm white. eg: [255, 100, 100, 50, 70] [JsonPropertyName("rgbww_color")] public object? RgbwwColor { get; init; } - ///A human readable color name. + ///A human-readable color name. [JsonPropertyName("color_name")] public object? ColorName { get; init; } - ///Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100. eg: [300, 70] + ///Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100. eg: [300, 70] [JsonPropertyName("hs_color")] public object? HsColor { get; init; } - ///Color for the light in XY-format. eg: [0.52, 0.43] + ///Color in XY-format. A list of two decimal numbers between 0 and 1. eg: [0.52, 0.43] [JsonPropertyName("xy_color")] public object? XyColor { get; init; } - ///Color temperature for the light in mireds. + ///Color temperature in mireds. [JsonPropertyName("color_temp")] public object? ColorTemp { get; init; } - ///Color temperature for the light in Kelvin. + ///Color temperature in Kelvin. [JsonPropertyName("kelvin")] - public long? Kelvin { get; init; } + public object? Kelvin { get; init; } - ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light. + ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness. [JsonPropertyName("brightness")] public long? Brightness { get; init; } - ///Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light. + ///Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness. [JsonPropertyName("brightness_pct")] public long? BrightnessPct { get; init; } @@ -3462,7 +3257,7 @@ public partial record LightTurnOnParameters [JsonPropertyName("profile")] public string? Profile { get; init; } - ///If the light should flash. + ///Tell light to flash, can be either value short or long. [JsonPropertyName("flash")] public object? Flash { get; init; } @@ -3479,46 +3274,46 @@ public LockServices(IHaContext haContext) _haContext = haContext; } - ///Lock all or specified locks. + ///Locks a lock. ///The target for this service call public void Lock(ServiceTarget target, LockLockParameters data) { _haContext.CallService("lock", "lock", target, data); } - ///Lock all or specified locks. + ///Locks a lock. ///The target for this service call - ///An optional code to lock the lock with. eg: 1234 + ///Code used to lock the lock. eg: 1234 public void Lock(ServiceTarget target, string? code = null) { _haContext.CallService("lock", "lock", target, new LockLockParameters { Code = code }); } - ///Open all or specified locks. + ///Opens a lock. ///The target for this service call public void Open(ServiceTarget target, LockOpenParameters data) { _haContext.CallService("lock", "open", target, data); } - ///Open all or specified locks. + ///Opens a lock. ///The target for this service call - ///An optional code to open the lock with. eg: 1234 + ///Code used to open the lock. eg: 1234 public void Open(ServiceTarget target, string? code = null) { _haContext.CallService("lock", "open", target, new LockOpenParameters { Code = code }); } - ///Unlock all or specified locks. + ///Unlocks a lock. ///The target for this service call public void Unlock(ServiceTarget target, LockUnlockParameters data) { _haContext.CallService("lock", "unlock", target, data); } - ///Unlock all or specified locks. + ///Unlocks a lock. ///The target for this service call - ///An optional code to unlock the lock with. eg: 1234 + ///Code used to unlock the lock. eg: 1234 public void Unlock(ServiceTarget target, string? code = null) { _haContext.CallService("lock", "unlock", target, new LockUnlockParameters { Code = code }); @@ -3527,21 +3322,21 @@ public void Unlock(ServiceTarget target, string? code = null) public partial record LockLockParameters { - ///An optional code to lock the lock with. eg: 1234 + ///Code used to lock the lock. eg: 1234 [JsonPropertyName("code")] public string? Code { get; init; } } public partial record LockOpenParameters { - ///An optional code to open the lock with. eg: 1234 + ///Code used to open the lock. eg: 1234 [JsonPropertyName("code")] public string? Code { get; init; } } public partial record LockUnlockParameters { - ///An optional code to unlock the lock with. eg: 1234 + ///Code used to unlock the lock. eg: 1234 [JsonPropertyName("code")] public string? Code { get; init; } } @@ -3554,17 +3349,17 @@ public LogbookServices(IHaContext haContext) _haContext = haContext; } - ///Create a custom entry in your logbook. + ///Creates a custom entry in the logbook. public void Log(LogbookLogParameters data) { _haContext.CallService("logbook", "log", null, data); } - ///Create a custom entry in your logbook. - ///Custom name for an entity, can be referenced with entity_id. eg: Kitchen - ///Message of the custom logbook entry. eg: is being used - ///Entity to reference in custom logbook entry. - ///Icon of domain to display in custom logbook entry. eg: light + ///Creates a custom entry in the logbook. + ///Custom name for an entity, can be referenced using an `entity_id`. eg: Kitchen + ///Message of the logbook entry. eg: is being used + ///Entity to reference in the logbook entry. + ///Determines which icon is used in the logbook entry. The icon illustrates the integration domain related to this logbook entry. eg: light public void Log(string name, string message, string? entityId = null, string? domain = null) { _haContext.CallService("logbook", "log", null, new LogbookLogParameters { Name = name, Message = message, EntityId = entityId, Domain = domain }); @@ -3573,19 +3368,19 @@ public void Log(string name, string message, string? entityId = null, string? do public partial record LogbookLogParameters { - ///Custom name for an entity, can be referenced with entity_id. eg: Kitchen + ///Custom name for an entity, can be referenced using an `entity_id`. eg: Kitchen [JsonPropertyName("name")] public string? Name { get; init; } - ///Message of the custom logbook entry. eg: is being used + ///Message of the logbook entry. eg: is being used [JsonPropertyName("message")] public string? Message { get; init; } - ///Entity to reference in custom logbook entry. + ///Entity to reference in the logbook entry. [JsonPropertyName("entity_id")] public string? EntityId { get; init; } - ///Icon of domain to display in custom logbook entry. eg: light + ///Determines which icon is used in the logbook entry. The icon illustrates the integration domain related to this logbook entry. eg: light [JsonPropertyName("domain")] public string? Domain { get; init; } } @@ -3598,20 +3393,20 @@ public LoggerServices(IHaContext haContext) _haContext = haContext; } - ///Set the default log level for integrations. + ///Sets the default log level for integrations. public void SetDefaultLevel(LoggerSetDefaultLevelParameters data) { _haContext.CallService("logger", "set_default_level", null, data); } - ///Set the default log level for integrations. + ///Sets the default log level for integrations. ///Default severity level for all integrations. public void SetDefaultLevel(object? level = null) { _haContext.CallService("logger", "set_default_level", null, new LoggerSetDefaultLevelParameters { Level = level }); } - ///Set log level for integrations. + ///Sets the log level for one or more integrations. public void SetLevel() { _haContext.CallService("logger", "set_level", null); @@ -3633,96 +3428,96 @@ public MediaPlayerServices(IHaContext haContext) _haContext = haContext; } - ///Send the media player the command to clear players playlist. + ///Clears the playlist. ///The target for this service call public void ClearPlaylist(ServiceTarget target) { _haContext.CallService("media_player", "clear_playlist", target); } - ///Group players together. Only works on platforms with support for player groups. + ///Groups media players together for synchronous playback. Only works on supported multiroom audio systems. ///The target for this service call public void Join(ServiceTarget target, MediaPlayerJoinParameters data) { _haContext.CallService("media_player", "join", target, data); } - ///Group players together. Only works on platforms with support for player groups. + ///Groups media players together for synchronous playback. Only works on supported multiroom audio systems. ///The target for this service call - ///The players which will be synced with the target player. eg: - media_player.multiroom_player2 - media_player.multiroom_player3 + ///The players which will be synced with the playback specified in `target`. eg: - media_player.multiroom_player2 - media_player.multiroom_player3 public void Join(ServiceTarget target, string groupMembers) { _haContext.CallService("media_player", "join", target, new MediaPlayerJoinParameters { GroupMembers = groupMembers }); } - ///Send the media player the command for next track. + ///Selects the next track. ///The target for this service call public void MediaNextTrack(ServiceTarget target) { _haContext.CallService("media_player", "media_next_track", target); } - ///Send the media player the command for pause. + ///Pauses. ///The target for this service call public void MediaPause(ServiceTarget target) { _haContext.CallService("media_player", "media_pause", target); } - ///Send the media player the command for play. + ///Starts playing. ///The target for this service call public void MediaPlay(ServiceTarget target) { _haContext.CallService("media_player", "media_play", target); } - ///Toggle media player play/pause state. + ///Toggles play/pause. ///The target for this service call public void MediaPlayPause(ServiceTarget target) { _haContext.CallService("media_player", "media_play_pause", target); } - ///Send the media player the command for previous track. + ///Selects the previous track. ///The target for this service call public void MediaPreviousTrack(ServiceTarget target) { _haContext.CallService("media_player", "media_previous_track", target); } - ///Send the media player the command to seek in current playing media. + ///Allows you to go to a different part of the media that is currently playing. ///The target for this service call public void MediaSeek(ServiceTarget target, MediaPlayerMediaSeekParameters data) { _haContext.CallService("media_player", "media_seek", target, data); } - ///Send the media player the command to seek in current playing media. + ///Allows you to go to a different part of the media that is currently playing. ///The target for this service call - ///Position to seek to. The format is platform dependent. + ///Target position in the currently playing media. The format is platform dependent. public void MediaSeek(ServiceTarget target, double seekPosition) { _haContext.CallService("media_player", "media_seek", target, new MediaPlayerMediaSeekParameters { SeekPosition = seekPosition }); } - ///Send the media player the stop command. + ///Stops playing. ///The target for this service call public void MediaStop(ServiceTarget target) { _haContext.CallService("media_player", "media_stop", target); } - ///Send the media player the command for playing media. + ///Starts playing specified media. ///The target for this service call public void PlayMedia(ServiceTarget target, MediaPlayerPlayMediaParameters data) { _haContext.CallService("media_player", "play_media", target, data); } - ///Send the media player the command for playing media. + ///Starts playing specified media. ///The target for this service call ///The ID of the content to play. Platform dependent. eg: https://home-assistant.io/images/cast/splash.png - ///The type of the content to play. Like image, music, tvshow, video, episode, channel or playlist. eg: music + ///The type of the content to play. Such as image, music, tv show, video, episode, channel, or playlist. eg: music ///If the content should be played now or be added to the queue. ///If the media should be played as an announcement. eg: true public void PlayMedia(ServiceTarget target, string mediaContentId, string mediaContentType, object? enqueue = null, bool? announce = null) @@ -3730,14 +3525,14 @@ public void PlayMedia(ServiceTarget target, string mediaContentId, string mediaC _haContext.CallService("media_player", "play_media", target, new MediaPlayerPlayMediaParameters { MediaContentId = mediaContentId, MediaContentType = mediaContentType, Enqueue = enqueue, Announce = announce }); } - ///Set repeat mode + ///Playback mode that plays the media in a loop. ///The target for this service call public void RepeatSet(ServiceTarget target, MediaPlayerRepeatSetParameters data) { _haContext.CallService("media_player", "repeat_set", target, data); } - ///Set repeat mode + ///Playback mode that plays the media in a loop. ///The target for this service call ///Repeat mode to set. public void RepeatSet(ServiceTarget target, object repeat) @@ -3745,14 +3540,14 @@ public void RepeatSet(ServiceTarget target, object repeat) _haContext.CallService("media_player", "repeat_set", target, new MediaPlayerRepeatSetParameters { Repeat = repeat }); } - ///Send the media player the command to change sound mode. + ///Selects a specific sound mode. ///The target for this service call public void SelectSoundMode(ServiceTarget target, MediaPlayerSelectSoundModeParameters data) { _haContext.CallService("media_player", "select_sound_mode", target, data); } - ///Send the media player the command to change sound mode. + ///Selects a specific sound mode. ///The target for this service call ///Name of the sound mode to switch to. eg: Music public void SelectSoundMode(ServiceTarget target, string? soundMode = null) @@ -3760,14 +3555,14 @@ public void SelectSoundMode(ServiceTarget target, string? soundMode = null) _haContext.CallService("media_player", "select_sound_mode", target, new MediaPlayerSelectSoundModeParameters { SoundMode = soundMode }); } - ///Send the media player the command to change input source. + ///Sends the media player the command to change input source. ///The target for this service call public void SelectSource(ServiceTarget target, MediaPlayerSelectSourceParameters data) { _haContext.CallService("media_player", "select_source", target, data); } - ///Send the media player the command to change input source. + ///Sends the media player the command to change input source. ///The target for this service call ///Name of the source to switch to. Platform dependent. eg: video1 public void SelectSource(ServiceTarget target, string source) @@ -3775,87 +3570,87 @@ public void SelectSource(ServiceTarget target, string source) _haContext.CallService("media_player", "select_source", target, new MediaPlayerSelectSourceParameters { Source = source }); } - ///Set shuffling state. + ///Playback mode that selects the media in randomized order. ///The target for this service call public void ShuffleSet(ServiceTarget target, MediaPlayerShuffleSetParameters data) { _haContext.CallService("media_player", "shuffle_set", target, data); } - ///Set shuffling state. + ///Playback mode that selects the media in randomized order. ///The target for this service call - ///True/false for enabling/disabling shuffle. + ///Whether or not shuffle mode is enabled. public void ShuffleSet(ServiceTarget target, bool shuffle) { _haContext.CallService("media_player", "shuffle_set", target, new MediaPlayerShuffleSetParameters { Shuffle = shuffle }); } - ///Toggles a media player power state. + ///Toggles a media player on/off. ///The target for this service call public void Toggle(ServiceTarget target) { _haContext.CallService("media_player", "toggle", target); } - ///Turn a media player power off. + ///Turns off the power of the media player. ///The target for this service call public void TurnOff(ServiceTarget target) { _haContext.CallService("media_player", "turn_off", target); } - ///Turn a media player power on. + ///Turns on the power of the media player. ///The target for this service call public void TurnOn(ServiceTarget target) { _haContext.CallService("media_player", "turn_on", target); } - ///Unjoin the player from a group. Only works on platforms with support for player groups. + ///Removes the player from a group. Only works on platforms which support player groups. ///The target for this service call public void Unjoin(ServiceTarget target) { _haContext.CallService("media_player", "unjoin", target); } - ///Turn a media player volume down. + ///Turns down the volume. ///The target for this service call public void VolumeDown(ServiceTarget target) { _haContext.CallService("media_player", "volume_down", target); } - ///Mute a media player's volume. + ///Mutes or unmutes the media player. ///The target for this service call public void VolumeMute(ServiceTarget target, MediaPlayerVolumeMuteParameters data) { _haContext.CallService("media_player", "volume_mute", target, data); } - ///Mute a media player's volume. + ///Mutes or unmutes the media player. ///The target for this service call - ///True/false for mute/unmute. + ///Defines whether or not it is muted. public void VolumeMute(ServiceTarget target, bool isVolumeMuted) { _haContext.CallService("media_player", "volume_mute", target, new MediaPlayerVolumeMuteParameters { IsVolumeMuted = isVolumeMuted }); } - ///Set a media player's volume level. + ///Sets the volume level. ///The target for this service call public void VolumeSet(ServiceTarget target, MediaPlayerVolumeSetParameters data) { _haContext.CallService("media_player", "volume_set", target, data); } - ///Set a media player's volume level. + ///Sets the volume level. ///The target for this service call - ///Volume level to set as float. + ///The volume. 0 is inaudible, 1 is the maximum volume. public void VolumeSet(ServiceTarget target, double volumeLevel) { _haContext.CallService("media_player", "volume_set", target, new MediaPlayerVolumeSetParameters { VolumeLevel = volumeLevel }); } - ///Turn a media player volume up. + ///Turns up the volume. ///The target for this service call public void VolumeUp(ServiceTarget target) { @@ -3865,14 +3660,14 @@ public void VolumeUp(ServiceTarget target) public partial record MediaPlayerJoinParameters { - ///The players which will be synced with the target player. eg: - media_player.multiroom_player2 - media_player.multiroom_player3 + ///The players which will be synced with the playback specified in `target`. eg: - media_player.multiroom_player2 - media_player.multiroom_player3 [JsonPropertyName("group_members")] public string? GroupMembers { get; init; } } public partial record MediaPlayerMediaSeekParameters { - ///Position to seek to. The format is platform dependent. + ///Target position in the currently playing media. The format is platform dependent. [JsonPropertyName("seek_position")] public double? SeekPosition { get; init; } } @@ -3883,7 +3678,7 @@ public partial record MediaPlayerPlayMediaParameters [JsonPropertyName("media_content_id")] public string? MediaContentId { get; init; } - ///The type of the content to play. Like image, music, tvshow, video, episode, channel or playlist. eg: music + ///The type of the content to play. Such as image, music, tv show, video, episode, channel, or playlist. eg: music [JsonPropertyName("media_content_type")] public string? MediaContentType { get; init; } @@ -3919,21 +3714,21 @@ public partial record MediaPlayerSelectSourceParameters public partial record MediaPlayerShuffleSetParameters { - ///True/false for enabling/disabling shuffle. + ///Whether or not shuffle mode is enabled. [JsonPropertyName("shuffle")] public bool? Shuffle { get; init; } } public partial record MediaPlayerVolumeMuteParameters { - ///True/false for mute/unmute. + ///Defines whether or not it is muted. [JsonPropertyName("is_volume_muted")] public bool? IsVolumeMuted { get; init; } } public partial record MediaPlayerVolumeSetParameters { - ///Volume level to set as float. + ///The volume. 0 is inaudible, 1 is the maximum volume. [JsonPropertyName("volume_level")] public double? VolumeLevel { get; init; } } @@ -3953,10 +3748,10 @@ public void MobileAppDteskePixel(NotifyMobileAppDteskePixelParameters data) } ///Sends a notification message using the mobile_app_dteske_pixel integration. - ///Message body of the notification. eg: The garage door has been open for 10 minutes. - ///Title for your notification. eg: Your Garage Door Friend - ///An array of targets to send the notification to. Optional depending on the platform. eg: platform specific - ///Extended information for notification. Optional depending on the platform. eg: platform specific + /// eg: The garage door has been open for 10 minutes. + /// eg: Your Garage Door Friend + /// eg: platform specific + /// eg: platform specific public void MobileAppDteskePixel(string message, string? title = null, object? target = null, object? data = null) { _haContext.CallService("notify", "mobile_app_dteske_pixel", null, new NotifyMobileAppDteskePixelParameters { Message = message, Title = title, Target = target, Data = data }); @@ -3969,25 +3764,25 @@ public void Notify(NotifyNotifyParameters data) } ///Sends a notification message using the notify service. - ///Message body of the notification. eg: The garage door has been open for 10 minutes. - ///Title for your notification. eg: Your Garage Door Friend - ///An array of targets to send the notification to. Optional depending on the platform. eg: platform specific - ///Extended information for notification. Optional depending on the platform. eg: platform specific + /// eg: The garage door has been open for 10 minutes. + /// eg: Your Garage Door Friend + /// eg: platform specific + /// eg: platform specific public void Notify(string message, string? title = null, object? target = null, object? data = null) { _haContext.CallService("notify", "notify", null, new NotifyNotifyParameters { Message = message, Title = title, Target = target, Data = data }); } - ///Sends a notification that is visible in the front-end. + ///Sends a notification that is visible in the **Notifications** panel. public void PersistentNotification(NotifyPersistentNotificationParameters data) { _haContext.CallService("notify", "persistent_notification", null, data); } - ///Sends a notification that is visible in the front-end. + ///Sends a notification that is visible in the **Notifications** panel. ///Message body of the notification. eg: The garage door has been open for 10 minutes. - ///Title for your notification. eg: Your Garage Door Friend - ///Extended information for notification. Optional depending on the platform. eg: platform specific + ///Title of the notification. eg: Your Garage Door Friend + ///Some integrations provide extended functionality. For information on how to use _data_, refer to the integration documentation.. eg: platform specific public void PersistentNotification(string message, string? title = null, object? data = null) { _haContext.CallService("notify", "persistent_notification", null, new NotifyPersistentNotificationParameters { Message = message, Title = title, Data = data }); @@ -3996,38 +3791,38 @@ public void PersistentNotification(string message, string? title = null, object? public partial record NotifyMobileAppDteskePixelParameters { - ///Message body of the notification. eg: The garage door has been open for 10 minutes. + /// eg: The garage door has been open for 10 minutes. [JsonPropertyName("message")] public string? Message { get; init; } - ///Title for your notification. eg: Your Garage Door Friend + /// eg: Your Garage Door Friend [JsonPropertyName("title")] public string? Title { get; init; } - ///An array of targets to send the notification to. Optional depending on the platform. eg: platform specific + /// eg: platform specific [JsonPropertyName("target")] public object? Target { get; init; } - ///Extended information for notification. Optional depending on the platform. eg: platform specific + /// eg: platform specific [JsonPropertyName("data")] public object? Data { get; init; } } public partial record NotifyNotifyParameters { - ///Message body of the notification. eg: The garage door has been open for 10 minutes. + /// eg: The garage door has been open for 10 minutes. [JsonPropertyName("message")] public string? Message { get; init; } - ///Title for your notification. eg: Your Garage Door Friend + /// eg: Your Garage Door Friend [JsonPropertyName("title")] public string? Title { get; init; } - ///An array of targets to send the notification to. Optional depending on the platform. eg: platform specific + /// eg: platform specific [JsonPropertyName("target")] public object? Target { get; init; } - ///Extended information for notification. Optional depending on the platform. eg: platform specific + /// eg: platform specific [JsonPropertyName("data")] public object? Data { get; init; } } @@ -4038,11 +3833,11 @@ public partial record NotifyPersistentNotificationParameters [JsonPropertyName("message")] public string? Message { get; init; } - ///Title for your notification. eg: Your Garage Door Friend + ///Title of the notification. eg: Your Garage Door Friend [JsonPropertyName("title")] public string? Title { get; init; } - ///Extended information for notification. Optional depending on the platform. eg: platform specific + ///Some integrations provide extended functionality. For information on how to use _data_, refer to the integration documentation.. eg: platform specific [JsonPropertyName("data")] public object? Data { get; init; } } @@ -4055,16 +3850,16 @@ public NumberServices(IHaContext haContext) _haContext = haContext; } - ///Set the value of a Number entity. + ///Sets the value of a number. ///The target for this service call public void SetValue(ServiceTarget target, NumberSetValueParameters data) { _haContext.CallService("number", "set_value", target, data); } - ///Set the value of a Number entity. + ///Sets the value of a number. ///The target for this service call - ///The target value the entity should be set to. eg: 42 + ///The target value to set. eg: 42 public void SetValue(ServiceTarget target, string? value = null) { _haContext.CallService("number", "set_value", target, new NumberSetValueParameters { Value = value }); @@ -4073,7 +3868,7 @@ public void SetValue(ServiceTarget target, string? value = null) public partial record NumberSetValueParameters { - ///The target value the entity should be set to. eg: 42 + ///The target value to set. eg: 42 [JsonPropertyName("value")] public string? Value { get; init; } } @@ -4086,35 +3881,35 @@ public PersistentNotificationServices(IHaContext haContext) _haContext = haContext; } - ///Show a notification in the frontend. + ///Shows a notification on the **Notifications** panel. public void Create(PersistentNotificationCreateParameters data) { _haContext.CallService("persistent_notification", "create", null, data); } - ///Show a notification in the frontend. + ///Shows a notification on the **Notifications** panel. ///Message body of the notification. eg: Please check your configuration.yaml. - ///Optional title for your notification. eg: Test notification - ///Target ID of the notification, will replace a notification with the same ID. eg: 1234 + ///Optional title of the notification. eg: Test notification + ///ID of the notification. This new notification will overwrite an existing notification with the same ID. eg: 1234 public void Create(string message, string? title = null, string? notificationId = null) { _haContext.CallService("persistent_notification", "create", null, new PersistentNotificationCreateParameters { Message = message, Title = title, NotificationId = notificationId }); } - ///Remove a notification from the frontend. + ///Removes a notification from the **Notifications** panel. public void Dismiss(PersistentNotificationDismissParameters data) { _haContext.CallService("persistent_notification", "dismiss", null, data); } - ///Remove a notification from the frontend. - ///Target ID of the notification, which should be removed. eg: 1234 + ///Removes a notification from the **Notifications** panel. + ///ID of the notification to be removed. eg: 1234 public void Dismiss(string notificationId) { _haContext.CallService("persistent_notification", "dismiss", null, new PersistentNotificationDismissParameters { NotificationId = notificationId }); } - ///Remove all notifications. + ///Removes all notifications from the **Notifications** panel. public void DismissAll() { _haContext.CallService("persistent_notification", "dismiss_all", null); @@ -4127,18 +3922,18 @@ public partial record PersistentNotificationCreateParameters [JsonPropertyName("message")] public string? Message { get; init; } - ///Optional title for your notification. eg: Test notification + ///Optional title of the notification. eg: Test notification [JsonPropertyName("title")] public string? Title { get; init; } - ///Target ID of the notification, will replace a notification with the same ID. eg: 1234 + ///ID of the notification. This new notification will overwrite an existing notification with the same ID. eg: 1234 [JsonPropertyName("notification_id")] public string? NotificationId { get; init; } } public partial record PersistentNotificationDismissParameters { - ///Target ID of the notification, which should be removed. eg: 1234 + ///ID of the notification to be removed. eg: 1234 [JsonPropertyName("notification_id")] public string? NotificationId { get; init; } } @@ -4151,7 +3946,7 @@ public PersonServices(IHaContext haContext) _haContext = haContext; } - ///Reload the person configuration. + ///Reloads persons from the YAML-configuration. public void Reload() { _haContext.CallService("person", "reload", null); @@ -4166,45 +3961,45 @@ public RecorderServices(IHaContext haContext) _haContext = haContext; } - ///Stop the recording of events and state changes + ///Stops the recording of events and state changes. public void Disable() { _haContext.CallService("recorder", "disable", null); } - ///Start the recording of events and state changes + ///Starts the recording of events and state changes. public void Enable() { _haContext.CallService("recorder", "enable", null); } - ///Start purge task - to clean up old data from your database. + ///Starts purge task - to clean up old data from your database. public void Purge(RecorderPurgeParameters data) { _haContext.CallService("recorder", "purge", null, data); } - ///Start purge task - to clean up old data from your database. - ///Number of history days to keep in database after purge. + ///Starts purge task - to clean up old data from your database. + ///Number of days to keep the data in the database. Starting today, counting backward. A value of `7` means that everything older than a week will be purged. ///Attempt to save disk space by rewriting the entire database file. - ///Apply entity_id and event_type filter in addition to time based purge. + ///Applys `entity_id` and `event_type` filters in addition to time-based purge. public void Purge(long? keepDays = null, bool? repack = null, bool? applyFilter = null) { _haContext.CallService("recorder", "purge", null, new RecorderPurgeParameters { KeepDays = keepDays, Repack = repack, ApplyFilter = applyFilter }); } - ///Start purge task to remove specific entities from your database. + ///Starts a purge task to remove the data related to specific entities from your database. ///The target for this service call public void PurgeEntities(ServiceTarget target, RecorderPurgeEntitiesParameters data) { _haContext.CallService("recorder", "purge_entities", target, data); } - ///Start purge task to remove specific entities from your database. + ///Starts a purge task to remove the data related to specific entities from your database. ///The target for this service call - ///List the domains that need to be removed from the recorder database. eg: sun - ///List the glob patterns to select entities for removal from the recorder database. eg: domain*.object_id* - ///Number of history days to keep in database of matching rows. The default of 0 days will remove all matching rows. + ///List of domains for which the data needs to be removed from the recorder database. eg: sun + ///List of glob patterns used to select the entities for which the data is to be removed from the recorder database. eg: domain*.object_id* + ///Number of days to keep the data for rows matching the filter. Starting today, counting backward. A value of `7` means that everything older than a week will be purged. The default of 0 days will remove all matching rows immediately. public void PurgeEntities(ServiceTarget target, object? domains = null, object? entityGlobs = null, long? keepDays = null) { _haContext.CallService("recorder", "purge_entities", target, new RecorderPurgeEntitiesParameters { Domains = domains, EntityGlobs = entityGlobs, KeepDays = keepDays }); @@ -4213,7 +4008,7 @@ public void PurgeEntities(ServiceTarget target, object? domains = null, object? public partial record RecorderPurgeParameters { - ///Number of history days to keep in database after purge. + ///Number of days to keep the data in the database. Starting today, counting backward. A value of `7` means that everything older than a week will be purged. [JsonPropertyName("keep_days")] public long? KeepDays { get; init; } @@ -4221,22 +4016,22 @@ public partial record RecorderPurgeParameters [JsonPropertyName("repack")] public bool? Repack { get; init; } - ///Apply entity_id and event_type filter in addition to time based purge. + ///Applys `entity_id` and `event_type` filters in addition to time-based purge. [JsonPropertyName("apply_filter")] public bool? ApplyFilter { get; init; } } public partial record RecorderPurgeEntitiesParameters { - ///List the domains that need to be removed from the recorder database. eg: sun + ///List of domains for which the data needs to be removed from the recorder database. eg: sun [JsonPropertyName("domains")] public object? Domains { get; init; } - ///List the glob patterns to select entities for removal from the recorder database. eg: domain*.object_id* + ///List of glob patterns used to select the entities for which the data is to be removed from the recorder database. eg: domain*.object_id* [JsonPropertyName("entity_globs")] public object? EntityGlobs { get; init; } - ///Number of history days to keep in database of matching rows. The default of 0 days will remove all matching rows. + ///Number of days to keep the data for rows matching the filter. Starting today, counting backward. A value of `7` means that everything older than a week will be purged. The default of 0 days will remove all matching rows immediately. [JsonPropertyName("keep_days")] public long? KeepDays { get; init; } } @@ -4249,15 +4044,15 @@ public SceneServices(IHaContext haContext) _haContext = haContext; } - ///Activate a scene with configuration. + ///Activates a scene with configuration. public void Apply(SceneApplyParameters data) { _haContext.CallService("scene", "apply", null, data); } - ///Activate a scene with configuration. - ///The entities and the state that they need to be. eg: light.kitchen: "on" light.ceiling: state: "on" brightness: 80 - ///Transition duration it takes to bring devices to the state defined in the scene. + ///Activates a scene with configuration. + ///List of entities and their target state. eg: light.kitchen: "on" light.ceiling: state: "on" brightness: 80 + ///Time it takes the devices to transition into the states defined in the scene. public void Apply(object entities, long? transition = null) { _haContext.CallService("scene", "apply", null, new SceneApplyParameters { Entities = entities, Transition = transition }); @@ -4270,30 +4065,37 @@ public void Create(SceneCreateParameters data) } ///Creates a new scene. - ///The entity_id of the new scene. eg: all_lights - ///The entities to control with the scene. eg: light.tv_back_light: "on" light.ceiling: state: "on" brightness: 200 - ///The entities of which a snapshot is to be taken eg: - light.ceiling - light.kitchen - public void Create(string sceneId, object? entities = null, object? snapshotEntities = null) + ///The entity ID of the new scene. eg: all_lights + ///List of entities and their target state. If your entities are already in the target state right now, use `snapshot_entities` instead. eg: light.tv_back_light: "on" light.ceiling: state: "on" brightness: 200 + ///List of entities to be included in the snapshot. By taking a snapshot, you record the current state of those entities. If you do not want to use the current state of all your entities for this scene, you can combine the `snapshot_entities` with `entities`. eg: - light.ceiling - light.kitchen + public void Create(string sceneId, object? entities = null, string? snapshotEntities = null) { _haContext.CallService("scene", "create", null, new SceneCreateParameters { SceneId = sceneId, Entities = entities, SnapshotEntities = snapshotEntities }); } - ///Reload the scene configuration. + ///Deletes a dynamically created scene. + ///The target for this service call + public void Delete(ServiceTarget target) + { + _haContext.CallService("scene", "delete", target); + } + + ///Reloads the scenes from the YAML-configuration. public void Reload() { _haContext.CallService("scene", "reload", null); } - ///Activate a scene. + ///Activates a scene. ///The target for this service call public void TurnOn(ServiceTarget target, SceneTurnOnParameters data) { _haContext.CallService("scene", "turn_on", target, data); } - ///Activate a scene. + ///Activates a scene. ///The target for this service call - ///Transition duration it takes to bring devices to the state defined in the scene. + ///Time it takes the devices to transition into the states defined in the scene. public void TurnOn(ServiceTarget target, long? transition = null) { _haContext.CallService("scene", "turn_on", target, new SceneTurnOnParameters { Transition = transition }); @@ -4302,33 +4104,33 @@ public void TurnOn(ServiceTarget target, long? transition = null) public partial record SceneApplyParameters { - ///The entities and the state that they need to be. eg: light.kitchen: "on" light.ceiling: state: "on" brightness: 80 + ///List of entities and their target state. eg: light.kitchen: "on" light.ceiling: state: "on" brightness: 80 [JsonPropertyName("entities")] public object? Entities { get; init; } - ///Transition duration it takes to bring devices to the state defined in the scene. + ///Time it takes the devices to transition into the states defined in the scene. [JsonPropertyName("transition")] public long? Transition { get; init; } } public partial record SceneCreateParameters { - ///The entity_id of the new scene. eg: all_lights + ///The entity ID of the new scene. eg: all_lights [JsonPropertyName("scene_id")] public string? SceneId { get; init; } - ///The entities to control with the scene. eg: light.tv_back_light: "on" light.ceiling: state: "on" brightness: 200 + ///List of entities and their target state. If your entities are already in the target state right now, use `snapshot_entities` instead. eg: light.tv_back_light: "on" light.ceiling: state: "on" brightness: 200 [JsonPropertyName("entities")] public object? Entities { get; init; } - ///The entities of which a snapshot is to be taken eg: - light.ceiling - light.kitchen + ///List of entities to be included in the snapshot. By taking a snapshot, you record the current state of those entities. If you do not want to use the current state of all your entities for this scene, you can combine the `snapshot_entities` with `entities`. eg: - light.ceiling - light.kitchen [JsonPropertyName("snapshot_entities")] - public object? SnapshotEntities { get; init; } + public string? SnapshotEntities { get; init; } } public partial record SceneTurnOnParameters { - ///Transition duration it takes to bring devices to the state defined in the scene. + ///Time it takes the devices to transition into the states defined in the scene. [JsonPropertyName("transition")] public long? Transition { get; init; } } @@ -4341,7 +4143,7 @@ public ScheduleServices(IHaContext haContext) _haContext = haContext; } - ///Reload the schedule configuration + ///Reloads schedules from the YAML-configuration. public void Reload() { _haContext.CallService("schedule", "reload", null); @@ -4356,27 +4158,27 @@ public ScriptServices(IHaContext haContext) _haContext = haContext; } - ///Reload all the available scripts + ///Reloads all the available scripts. public void Reload() { _haContext.CallService("script", "reload", null); } - ///Toggle script + ///Toggle a script. Starts it, if isn't running, stops it otherwise. ///The target for this service call public void Toggle(ServiceTarget target) { _haContext.CallService("script", "toggle", target); } - ///Turn off script + ///Stops a running script. ///The target for this service call public void TurnOff(ServiceTarget target) { _haContext.CallService("script", "turn_off", target); } - ///Turn on script + ///Runs the sequence of actions defined in a script. ///The target for this service call public void TurnOn(ServiceTarget target) { @@ -4392,28 +4194,28 @@ public SelectServices(IHaContext haContext) _haContext = haContext; } - ///Select the first option of an select entity. + ///Selects the first option. ///The target for this service call public void SelectFirst(ServiceTarget target) { _haContext.CallService("select", "select_first", target); } - ///Select the last option of an select entity. + ///Selects the last option. ///The target for this service call public void SelectLast(ServiceTarget target) { _haContext.CallService("select", "select_last", target); } - ///Select the next options of an select entity. + ///Selects the next option. ///The target for this service call public void SelectNext(ServiceTarget target, SelectSelectNextParameters data) { _haContext.CallService("select", "select_next", target, data); } - ///Select the next options of an select entity. + ///Selects the next option. ///The target for this service call ///If the option should cycle from the last to the first. public void SelectNext(ServiceTarget target, bool? cycle = null) @@ -4421,14 +4223,14 @@ public void SelectNext(ServiceTarget target, bool? cycle = null) _haContext.CallService("select", "select_next", target, new SelectSelectNextParameters { Cycle = cycle }); } - ///Select an option of an select entity. + ///Selects an option. ///The target for this service call public void SelectOption(ServiceTarget target, SelectSelectOptionParameters data) { _haContext.CallService("select", "select_option", target, data); } - ///Select an option of an select entity. + ///Selects an option. ///The target for this service call ///Option to be selected. eg: "Item A" public void SelectOption(ServiceTarget target, string option) @@ -4436,14 +4238,14 @@ public void SelectOption(ServiceTarget target, string option) _haContext.CallService("select", "select_option", target, new SelectSelectOptionParameters { Option = option }); } - ///Select the previous options of an select entity. + ///Selects the previous option. ///The target for this service call public void SelectPrevious(ServiceTarget target, SelectSelectPreviousParameters data) { _haContext.CallService("select", "select_previous", target, data); } - ///Select the previous options of an select entity. + ///Selects the previous option. ///The target for this service call ///If the option should cycle from the first to the last. public void SelectPrevious(ServiceTarget target, bool? cycle = null) @@ -4481,32 +4283,32 @@ public SirenServices(IHaContext haContext) _haContext = haContext; } - ///Toggles a siren. + ///Toggles the siren on/off. ///The target for this service call public void Toggle(ServiceTarget target) { _haContext.CallService("siren", "toggle", target); } - ///Turn siren off. + ///Turns the siren off. ///The target for this service call public void TurnOff(ServiceTarget target) { _haContext.CallService("siren", "turn_off", target); } - ///Turn siren on. + ///Turns the siren on. ///The target for this service call public void TurnOn(ServiceTarget target, SirenTurnOnParameters data) { _haContext.CallService("siren", "turn_on", target, data); } - ///Turn siren on. + ///Turns the siren on. ///The target for this service call - ///The tone to emit when turning the siren on. When `available_tones` property is a map, either the key or the value can be used. Must be supported by the integration. eg: fire - ///The volume level of the noise to emit when turning the siren on. Must be supported by the integration. eg: 0.5 - ///The duration in seconds of the noise to emit when turning the siren on. Must be supported by the integration. eg: 15 + ///The tone to emit. When `available_tones` property is a map, either the key or the value can be used. Must be supported by the integration. eg: fire + ///The volume. 0 is inaudible, 1 is the maximum volume. Must be supported by the integration. eg: 0.5 + ///Number of seconds the sound is played. Must be supported by the integration. eg: 15 public void TurnOn(ServiceTarget target, string? tone = null, double? volumeLevel = null, string? duration = null) { _haContext.CallService("siren", "turn_on", target, new SirenTurnOnParameters { Tone = tone, VolumeLevel = volumeLevel, Duration = duration }); @@ -4515,15 +4317,15 @@ public void TurnOn(ServiceTarget target, string? tone = null, double? volumeLeve public partial record SirenTurnOnParameters { - ///The tone to emit when turning the siren on. When `available_tones` property is a map, either the key or the value can be used. Must be supported by the integration. eg: fire + ///The tone to emit. When `available_tones` property is a map, either the key or the value can be used. Must be supported by the integration. eg: fire [JsonPropertyName("tone")] public string? Tone { get; init; } - ///The volume level of the noise to emit when turning the siren on. Must be supported by the integration. eg: 0.5 + ///The volume. 0 is inaudible, 1 is the maximum volume. Must be supported by the integration. eg: 0.5 [JsonPropertyName("volume_level")] public double? VolumeLevel { get; init; } - ///The duration in seconds of the noise to emit when turning the siren on. Must be supported by the integration. eg: 15 + ///Number of seconds the sound is played. Must be supported by the integration. eg: 15 [JsonPropertyName("duration")] public string? Duration { get; init; } } @@ -4536,21 +4338,21 @@ public SwitchServices(IHaContext haContext) _haContext = haContext; } - ///Toggles a switch state + ///Toggles a switch on/off. ///The target for this service call public void Toggle(ServiceTarget target) { _haContext.CallService("switch", "toggle", target); } - ///Turn a switch off + ///Turns a switch off. ///The target for this service call public void TurnOff(ServiceTarget target) { _haContext.CallService("switch", "turn_off", target); } - ///Turn a switch on + ///Turns a switch on. ///The target for this service call public void TurnOn(ServiceTarget target) { @@ -4566,7 +4368,7 @@ public SystemLogServices(IHaContext haContext) _haContext = haContext; } - ///Clear all log entries. + ///Clears all log entries. public void Clear() { _haContext.CallService("system_log", "clear", null); @@ -4581,7 +4383,7 @@ public void Write(SystemLogWriteParameters data) ///Write log entry. ///Message to log. eg: Something went wrong ///Log level. - ///Logger name under which to log the message. Defaults to 'system_log.external'. eg: mycomponent.myplatform + ///Logger name under which to log the message. Defaults to `system_log.external`. eg: mycomponent.myplatform public void Write(string message, object? level = null, string? logger = null) { _haContext.CallService("system_log", "write", null, new SystemLogWriteParameters { Message = message, Level = level, Logger = logger }); @@ -4598,7 +4400,7 @@ public partial record SystemLogWriteParameters [JsonPropertyName("level")] public object? Level { get; init; } - ///Logger name under which to log the message. Defaults to 'system_log.external'. eg: mycomponent.myplatform + ///Logger name under which to log the message. Defaults to `system_log.external`. eg: mycomponent.myplatform [JsonPropertyName("logger")] public string? Logger { get; init; } } @@ -4611,57 +4413,58 @@ public TimerServices(IHaContext haContext) _haContext = haContext; } - ///Cancel a timer. + ///Cancels a timer. ///The target for this service call public void Cancel(ServiceTarget target) { _haContext.CallService("timer", "cancel", target); } - ///Change a timer + ///Changes a timer. ///The target for this service call public void Change(ServiceTarget target, TimerChangeParameters data) { _haContext.CallService("timer", "change", target, data); } - ///Change a timer + ///Changes a timer. ///The target for this service call - ///Duration to add or subtract to the running timer eg: 00:01:00, 60 or -60 + ///Duration to add or subtract to the running timer. eg: 00:01:00, 60 or -60 public void Change(ServiceTarget target, string duration) { _haContext.CallService("timer", "change", target, new TimerChangeParameters { Duration = duration }); } - ///Finish a timer. + ///Finishes a timer. ///The target for this service call public void Finish(ServiceTarget target) { _haContext.CallService("timer", "finish", target); } - ///Pause a timer. + ///Pauses a timer. ///The target for this service call public void Pause(ServiceTarget target) { _haContext.CallService("timer", "pause", target); } + ///Reloads timers from the YAML-configuration. public void Reload() { _haContext.CallService("timer", "reload", null); } - ///Start a timer + ///Starts a timer. ///The target for this service call public void Start(ServiceTarget target, TimerStartParameters data) { _haContext.CallService("timer", "start", target, data); } - ///Start a timer + ///Starts a timer. ///The target for this service call - ///Duration the timer requires to finish. [optional] eg: 00:01:00 or 60 + ///Duration the timer requires to finish. [optional]. eg: 00:01:00 or 60 public void Start(ServiceTarget target, string? duration = null) { _haContext.CallService("timer", "start", target, new TimerStartParameters { Duration = duration }); @@ -4670,14 +4473,14 @@ public void Start(ServiceTarget target, string? duration = null) public partial record TimerChangeParameters { - ///Duration to add or subtract to the running timer eg: 00:01:00, 60 or -60 + ///Duration to add or subtract to the running timer. eg: 00:01:00, 60 or -60 [JsonPropertyName("duration")] public string? Duration { get; init; } } public partial record TimerStartParameters { - ///Duration the timer requires to finish. [optional] eg: 00:01:00 or 60 + ///Duration the timer requires to finish. [optional]. eg: 00:01:00 or 60 [JsonPropertyName("duration")] public string? Duration { get; init; } } @@ -4690,7 +4493,7 @@ public TtsServices(IHaContext haContext) _haContext = haContext; } - ///Remove all text-to-speech cache files and RAM cache. + ///Removes all cached text-to-speech files and purges the memory. public void ClearCache() { _haContext.CallService("tts", "clear_cache", null); @@ -4703,47 +4506,30 @@ public void CloudSay(TtsCloudSayParameters data) } ///Say something using text-to-speech on a media player with cloud. - ///Name(s) of media player entities. - ///Text to speak on devices. eg: My name is hanna - ///Control file cache of this message. - ///Language to use for speech generation. eg: ru - ///A dictionary containing platform-specific options. Optional depending on the platform. eg: platform specific + /// + /// eg: My name is hanna + /// + /// eg: ru + /// eg: platform specific public void CloudSay(string entityId, string message, bool? cache = null, string? language = null, object? options = null) { _haContext.CallService("tts", "cloud_say", null, new TtsCloudSayParameters { EntityId = entityId, Message = message, Cache = cache, Language = language, Options = options }); } - ///Say something using text-to-speech on a media player with google_translate. - public void GoogleTranslateSay(TtsGoogleTranslateSayParameters data) - { - _haContext.CallService("tts", "google_translate_say", null, data); - } - - ///Say something using text-to-speech on a media player with google_translate. - ///Name(s) of media player entities. - ///Text to speak on devices. eg: My name is hanna - ///Control file cache of this message. - ///Language to use for speech generation. eg: ru - ///A dictionary containing platform-specific options. Optional depending on the platform. eg: platform specific - public void GoogleTranslateSay(string entityId, string message, bool? cache = null, string? language = null, object? options = null) - { - _haContext.CallService("tts", "google_translate_say", null, new TtsGoogleTranslateSayParameters { EntityId = entityId, Message = message, Cache = cache, Language = language, Options = options }); - } - - ///Speak something using text-to-speech on a media player. + ///Speaks something using text-to-speech on a media player. ///The target for this service call public void Speak(ServiceTarget target, TtsSpeakParameters data) { _haContext.CallService("tts", "speak", target, data); } - ///Speak something using text-to-speech on a media player. + ///Speaks something using text-to-speech on a media player. ///The target for this service call - ///Name(s) of media player entities. - ///Text to speak on devices. eg: My name is hanna - ///Control file cache of this message. + ///Media players to play the message. + ///The text you want to convert into speech so that you can listen to it on your device. eg: My name is hanna + ///Stores this message locally so that when the text is requested again, the output can be produced more quickly. ///Language to use for speech generation. eg: ru - ///A dictionary containing platform-specific options. Optional depending on the platform. eg: platform specific + ///A dictionary containing integration-specific options. eg: platform specific public void Speak(ServiceTarget target, string mediaPlayerEntityId, string message, bool? cache = null, string? language = null, object? options = null) { _haContext.CallService("tts", "speak", target, new TtsSpeakParameters { MediaPlayerEntityId = mediaPlayerEntityId, Message = message, Cache = cache, Language = language, Options = options }); @@ -4752,61 +4538,36 @@ public void Speak(ServiceTarget target, string mediaPlayerEntityId, string messa public partial record TtsCloudSayParameters { - ///Name(s) of media player entities. [JsonPropertyName("entity_id")] public string? EntityId { get; init; } - ///Text to speak on devices. eg: My name is hanna + /// eg: My name is hanna [JsonPropertyName("message")] public string? Message { get; init; } - ///Control file cache of this message. [JsonPropertyName("cache")] public bool? Cache { get; init; } - ///Language to use for speech generation. eg: ru + /// eg: ru [JsonPropertyName("language")] public string? Language { get; init; } - ///A dictionary containing platform-specific options. Optional depending on the platform. eg: platform specific - [JsonPropertyName("options")] - public object? Options { get; init; } -} - -public partial record TtsGoogleTranslateSayParameters -{ - ///Name(s) of media player entities. - [JsonPropertyName("entity_id")] - public string? EntityId { get; init; } - - ///Text to speak on devices. eg: My name is hanna - [JsonPropertyName("message")] - public string? Message { get; init; } - - ///Control file cache of this message. - [JsonPropertyName("cache")] - public bool? Cache { get; init; } - - ///Language to use for speech generation. eg: ru - [JsonPropertyName("language")] - public string? Language { get; init; } - - ///A dictionary containing platform-specific options. Optional depending on the platform. eg: platform specific + /// eg: platform specific [JsonPropertyName("options")] public object? Options { get; init; } } public partial record TtsSpeakParameters { - ///Name(s) of media player entities. + ///Media players to play the message. [JsonPropertyName("media_player_entity_id")] public string? MediaPlayerEntityId { get; init; } - ///Text to speak on devices. eg: My name is hanna + ///The text you want to convert into speech so that you can listen to it on your device. eg: My name is hanna [JsonPropertyName("message")] public string? Message { get; init; } - ///Control file cache of this message. + ///Stores this message locally so that when the text is requested again, the output can be produced more quickly. [JsonPropertyName("cache")] public bool? Cache { get; init; } @@ -4814,7 +4575,7 @@ public partial record TtsSpeakParameters [JsonPropertyName("language")] public string? Language { get; init; } - ///A dictionary containing platform-specific options. Optional depending on the platform. eg: platform specific + ///A dictionary containing integration-specific options. eg: platform specific [JsonPropertyName("options")] public object? Options { get; init; } } @@ -4827,67 +4588,67 @@ public ZhaServices(IHaContext haContext) _haContext = haContext; } - ///Clear a user code from a lock + ///Clears a user code from a lock. ///The target for this service call public void ClearLockUserCode(ServiceTarget target, ZhaClearLockUserCodeParameters data) { _haContext.CallService("zha", "clear_lock_user_code", target, data); } - ///Clear a user code from a lock + ///Clears a user code from a lock. ///The target for this service call - ///Code slot to clear code from eg: 1 + ///Code slot to clear code from. eg: 1 public void ClearLockUserCode(ServiceTarget target, string codeSlot) { _haContext.CallService("zha", "clear_lock_user_code", target, new ZhaClearLockUserCodeParameters { CodeSlot = codeSlot }); } - ///Disable a user code on a lock + ///Disables a user code on a lock. ///The target for this service call public void DisableLockUserCode(ServiceTarget target, ZhaDisableLockUserCodeParameters data) { _haContext.CallService("zha", "disable_lock_user_code", target, data); } - ///Disable a user code on a lock + ///Disables a user code on a lock. ///The target for this service call - ///Code slot to disable eg: 1 + ///Code slot to disable. eg: 1 public void DisableLockUserCode(ServiceTarget target, string codeSlot) { _haContext.CallService("zha", "disable_lock_user_code", target, new ZhaDisableLockUserCodeParameters { CodeSlot = codeSlot }); } - ///Enable a user code on a lock + ///Enables a user code on a lock. ///The target for this service call public void EnableLockUserCode(ServiceTarget target, ZhaEnableLockUserCodeParameters data) { _haContext.CallService("zha", "enable_lock_user_code", target, data); } - ///Enable a user code on a lock + ///Enables a user code on a lock. ///The target for this service call - ///Code slot to enable eg: 1 + ///Code slot to enable. eg: 1 public void EnableLockUserCode(ServiceTarget target, string codeSlot) { _haContext.CallService("zha", "enable_lock_user_code", target, new ZhaEnableLockUserCodeParameters { CodeSlot = codeSlot }); } - ///Issue command on the specified cluster on the specified entity. + ///Issues a command on the specified cluster on the specified entity. public void IssueZigbeeClusterCommand(ZhaIssueZigbeeClusterCommandParameters data) { _haContext.CallService("zha", "issue_zigbee_cluster_command", null, data); } - ///Issue command on the specified cluster on the specified entity. - ///IEEE address for the device eg: 00:0d:6f:00:05:7d:2d:34 - ///Endpoint id for the cluster - ///ZCL cluster to retrieve attributes for - ///type of the cluster - ///id of the command to execute - ///type of the command to execute - ///args to pass to the command eg: [arg1, arg2, argN] - ///parameters to pass to the command - ///manufacturer code eg: 252 + ///Issues a command on the specified cluster on the specified entity. + ///IEEE address for the device. eg: 00:0d:6f:00:05:7d:2d:34 + ///Endpoint ID for the cluster. + ///ZCL cluster to retrieve attributes for. + ///Type of the cluster. + ///ID of the command to execute. + ///Type of the command to execute. + ///Arguments to pass to the command. eg: [arg1, arg2, argN] + ///Parameters to pass to the command. + ///Manufacturer code. eg: 252 public void IssueZigbeeClusterCommand(string ieee, long endpointId, long clusterId, long command, object commandType, object? clusterType = null, object? args = null, object? @params = null, string? manufacturer = null) { _haContext.CallService("zha", "issue_zigbee_cluster_command", null, new ZhaIssueZigbeeClusterCommandParameters { Ieee = ieee, EndpointId = endpointId, ClusterId = clusterId, ClusterType = clusterType, Command = command, CommandType = commandType, Args = args, Params = @params, Manufacturer = manufacturer }); @@ -4900,77 +4661,77 @@ public void IssueZigbeeGroupCommand(ZhaIssueZigbeeGroupCommandParameters data) } ///Issue command on the specified cluster on the specified group. - ///Hexadecimal address of the group eg: 546 - ///ZCL cluster to send command to - ///type of the cluster - ///id of the command to execute - ///args to pass to the command eg: [arg1, arg2, argN] - ///manufacturer code eg: 252 + ///Hexadecimal address of the group. eg: 546 + ///ZCL cluster to send command to. + ///Type of the cluster. + ///ID of the command to execute. + ///Arguments to pass to the command. eg: [arg1, arg2, argN] + ///Manufacturer code. eg: 252 public void IssueZigbeeGroupCommand(string @group, long clusterId, long command, object? clusterType = null, object? args = null, string? manufacturer = null) { _haContext.CallService("zha", "issue_zigbee_group_command", null, new ZhaIssueZigbeeGroupCommandParameters { Group = @group, ClusterId = clusterId, ClusterType = clusterType, Command = command, Args = args, Manufacturer = manufacturer }); } - ///Allow nodes to join the Zigbee network. + ///Allows nodes to join the Zigbee network. public void Permit(ZhaPermitParameters data) { _haContext.CallService("zha", "permit", null, data); } - ///Allow nodes to join the Zigbee network. - ///Time to permit joins, in seconds - ///IEEE address of the node permitting new joins eg: 00:0d:6f:00:05:7d:2d:34 - ///IEEE address of the joining device (must be used with install code) eg: 00:0a:bf:00:01:10:23:35 - ///Install code of the joining device (must be used with source_ieee) eg: 1234-5678-1234-5678-AABB-CCDD-AABB-CCDD-EEFF - ///value of the QR install code (different between vendors) eg: Z:000D6FFFFED4163B$I:52797BF4A5084DAA8E1712B61741CA024051 + ///Allows nodes to join the Zigbee network. + ///Time to permit joins. + ///IEEE address of the node permitting new joins. eg: 00:0d:6f:00:05:7d:2d:34 + ///IEEE address of the joining device (must be used with the install code). eg: 00:0a:bf:00:01:10:23:35 + ///Install code of the joining device (must be used with the source_ieee). eg: 1234-5678-1234-5678-AABB-CCDD-AABB-CCDD-EEFF + ///Value of the QR install code (different between vendors). eg: Z:000D6FFFFED4163B$I:52797BF4A5084DAA8E1712B61741CA024051 public void Permit(long? duration = null, string? ieee = null, string? sourceIeee = null, string? installCode = null, string? qrCode = null) { _haContext.CallService("zha", "permit", null, new ZhaPermitParameters { Duration = duration, Ieee = ieee, SourceIeee = sourceIeee, InstallCode = installCode, QrCode = qrCode }); } - ///Remove a node from the Zigbee network. + ///Removes a node from the Zigbee network. public void Remove(ZhaRemoveParameters data) { _haContext.CallService("zha", "remove", null, data); } - ///Remove a node from the Zigbee network. - ///IEEE address of the node to remove eg: 00:0d:6f:00:05:7d:2d:34 + ///Removes a node from the Zigbee network. + ///IEEE address of the node to remove. eg: 00:0d:6f:00:05:7d:2d:34 public void Remove(string ieee) { _haContext.CallService("zha", "remove", null, new ZhaRemoveParameters { Ieee = ieee }); } - ///Set a user code on a lock + ///Sets a user code on a lock. ///The target for this service call public void SetLockUserCode(ServiceTarget target, ZhaSetLockUserCodeParameters data) { _haContext.CallService("zha", "set_lock_user_code", target, data); } - ///Set a user code on a lock + ///Sets a user code on a lock. ///The target for this service call - ///Code slot to set the code in eg: 1 - ///Code to set eg: 1234 + ///Code slot to set the code in. eg: 1 + ///Code to set. eg: 1234 public void SetLockUserCode(ServiceTarget target, string codeSlot, string userCode) { _haContext.CallService("zha", "set_lock_user_code", target, new ZhaSetLockUserCodeParameters { CodeSlot = codeSlot, UserCode = userCode }); } - ///Set attribute value for the specified cluster on the specified entity. + ///Sets an attribute value for the specified cluster on the specified entity. public void SetZigbeeClusterAttribute(ZhaSetZigbeeClusterAttributeParameters data) { _haContext.CallService("zha", "set_zigbee_cluster_attribute", null, data); } - ///Set attribute value for the specified cluster on the specified entity. - ///IEEE address for the device eg: 00:0d:6f:00:05:7d:2d:34 - ///Endpoint id for the cluster - ///ZCL cluster to retrieve attributes for - ///type of the cluster - ///id of the attribute to set eg: 0 - ///value to write to the attribute eg: 1 - ///manufacturer code eg: 252 + ///Sets an attribute value for the specified cluster on the specified entity. + ///IEEE address for the device. eg: 00:0d:6f:00:05:7d:2d:34 + ///Endpoint ID for the cluster. + ///ZCL cluster to retrieve attributes for. + ///Type of the cluster. + ///ID of the attribute to set. eg: 0 + ///Value to write to the attribute. eg: 1 + ///Manufacturer code. eg: 252 public void SetZigbeeClusterAttribute(string ieee, long endpointId, long clusterId, long attribute, string value, object? clusterType = null, string? manufacturer = null) { _haContext.CallService("zha", "set_zigbee_cluster_attribute", null, new ZhaSetZigbeeClusterAttributeParameters { Ieee = ieee, EndpointId = endpointId, ClusterId = clusterId, ClusterType = clusterType, Attribute = attribute, Value = value, Manufacturer = manufacturer }); @@ -4983,7 +4744,7 @@ public void WarningDeviceSquawk(ZhaWarningDeviceSquawkParameters data) } ///This service uses the WD capabilities to emit a quick audible/visible pulse called a "squawk". The squawk command has no effect if the WD is currently active (warning in progress). - ///IEEE address for the device eg: 00:0d:6f:00:05:7d:2d:34 + ///IEEE address for the device. eg: 00:0d:6f:00:05:7d:2d:34 ///The Squawk Mode field is used as a 4-bit enumeration, and can have one of the values shown in Table 8-24 of the ZCL spec - Squawk Mode Field. The exact operation of each mode (how the WD “squawks”) is implementation specific. ///The strobe field is used as a Boolean, and determines if the visual indication is also required in addition to the audible squawk, as shown in Table 8-25 of the ZCL spec - Strobe Bit. ///The squawk level field is used as a 2-bit enumeration, and determines the intensity of audible squawk sound as shown in Table 8-26 of the ZCL spec - Squawk Level Field Values. @@ -4992,19 +4753,19 @@ public void WarningDeviceSquawk(string ieee, long? mode = null, long? strobe = n _haContext.CallService("zha", "warning_device_squawk", null, new ZhaWarningDeviceSquawkParameters { Ieee = ieee, Mode = mode, Strobe = strobe, Level = level }); } - ///This service starts the WD operation. The WD alerts the surrounding area by audible (siren) and visual (strobe) signals. + ///This service starts the operation of the warning device. The warning device alerts the surrounding area by audible (siren) and visual (strobe) signals. public void WarningDeviceWarn(ZhaWarningDeviceWarnParameters data) { _haContext.CallService("zha", "warning_device_warn", null, data); } - ///This service starts the WD operation. The WD alerts the surrounding area by audible (siren) and visual (strobe) signals. - ///IEEE address for the device eg: 00:0d:6f:00:05:7d:2d:34 - ///The Warning Mode field is used as an 4-bit enumeration, can have one of the values 0-6 defined below in table 8-20 of the ZCL spec. The exact behavior of the WD device in each mode is according to the relevant security standards. - ///The Strobe field is used as a 2-bit enumeration, and determines if the visual indication is required in addition to the audible siren, as indicated in Table 8-21 of the ZCL spec. "0" means no strobe, "1" means strobe. If the strobe field is “1” and the Warning Mode is “0” (“Stop”) then only the strobe is activated. + ///This service starts the operation of the warning device. The warning device alerts the surrounding area by audible (siren) and visual (strobe) signals. + ///IEEE address for the device. eg: 00:0d:6f:00:05:7d:2d:34 + ///The Warning Mode field is used as a 4-bit enumeration, can have one of the values 0-6 defined below in table 8-20 of the ZCL spec. The exact behavior of the warning device in each mode is according to the relevant security standards. + ///The Strobe field is used as a 2-bit enumeration, and determines if the visual indication is required in addition to the audible siren, as indicated in Table 8-21 of the ZCL spec. "0" means no strobe, "1" means strobe. If the strobe field is “1” and the Warning Mode is “0” (“Stop”), then only the strobe is activated. ///The Siren Level field is used as a 2-bit enumeration, and indicates the intensity of audible squawk sound as shown in Table 8-22 of the ZCL spec. - ///Requested duration of warning, in seconds (16 bit). If both Strobe and Warning Mode are "0" this field SHALL be ignored. - ///Indicates the length of the flash cycle. This provides a means of varying the flash duration for different alarm types (e.g., fire, police, burglar). Valid range is 0-100 in increments of 10. All other values SHALL be rounded to the nearest valid value. Strobe SHALL calculate duty cycle over a duration of one second. The ON state SHALL precede the OFF state. For example, if Strobe Duty Cycle Field specifies “40,” then the strobe SHALL flash ON for 4/10ths of a second and then turn OFF for 6/10ths of a second. + ///Requested duration of warning, in seconds (16 bit). If both Strobe and Warning Mode are "0" this field is ignored. + ///Indicates the length of the flash cycle. This allows you to vary the flash duration for different alarm types (e.g., fire, police, burglar). The valid range is 0-100 in increments of 10. All other values must be rounded to the nearest valid value. Strobe calculates a duty cycle over a duration of one second. The ON state must precede the OFF state. For example, if the Strobe Duty Cycle field specifies “40,”, then the strobe flashes ON for 4/10ths of a second and then turns OFF for 6/10ths of a second. ///Indicates the intensity of the strobe as shown in Table 8-23 of the ZCL spec. This attribute is designed to vary the output of the strobe (i.e., brightness) and not its frequency, which is detailed in section 8.4.2.3.1.6 of the ZCL spec. public void WarningDeviceWarn(string ieee, long? mode = null, long? strobe = null, long? level = null, long? duration = null, long? dutyCycle = null, long? intensity = null) { @@ -5014,166 +4775,166 @@ public void WarningDeviceWarn(string ieee, long? mode = null, long? strobe = nul public partial record ZhaClearLockUserCodeParameters { - ///Code slot to clear code from eg: 1 + ///Code slot to clear code from. eg: 1 [JsonPropertyName("code_slot")] public string? CodeSlot { get; init; } } public partial record ZhaDisableLockUserCodeParameters { - ///Code slot to disable eg: 1 + ///Code slot to disable. eg: 1 [JsonPropertyName("code_slot")] public string? CodeSlot { get; init; } } public partial record ZhaEnableLockUserCodeParameters { - ///Code slot to enable eg: 1 + ///Code slot to enable. eg: 1 [JsonPropertyName("code_slot")] public string? CodeSlot { get; init; } } public partial record ZhaIssueZigbeeClusterCommandParameters { - ///IEEE address for the device eg: 00:0d:6f:00:05:7d:2d:34 + ///IEEE address for the device. eg: 00:0d:6f:00:05:7d:2d:34 [JsonPropertyName("ieee")] public string? Ieee { get; init; } - ///Endpoint id for the cluster + ///Endpoint ID for the cluster. [JsonPropertyName("endpoint_id")] public long? EndpointId { get; init; } - ///ZCL cluster to retrieve attributes for + ///ZCL cluster to retrieve attributes for. [JsonPropertyName("cluster_id")] public long? ClusterId { get; init; } - ///type of the cluster + ///Type of the cluster. [JsonPropertyName("cluster_type")] public object? ClusterType { get; init; } - ///id of the command to execute + ///ID of the command to execute. [JsonPropertyName("command")] public long? Command { get; init; } - ///type of the command to execute + ///Type of the command to execute. [JsonPropertyName("command_type")] public object? CommandType { get; init; } - ///args to pass to the command eg: [arg1, arg2, argN] + ///Arguments to pass to the command. eg: [arg1, arg2, argN] [JsonPropertyName("args")] public object? Args { get; init; } - ///parameters to pass to the command + ///Parameters to pass to the command. [JsonPropertyName("params")] public object? Params { get; init; } - ///manufacturer code eg: 252 + ///Manufacturer code. eg: 252 [JsonPropertyName("manufacturer")] public string? Manufacturer { get; init; } } public partial record ZhaIssueZigbeeGroupCommandParameters { - ///Hexadecimal address of the group eg: 546 + ///Hexadecimal address of the group. eg: 546 [JsonPropertyName("group")] public string? Group { get; init; } - ///ZCL cluster to send command to + ///ZCL cluster to send command to. [JsonPropertyName("cluster_id")] public long? ClusterId { get; init; } - ///type of the cluster + ///Type of the cluster. [JsonPropertyName("cluster_type")] public object? ClusterType { get; init; } - ///id of the command to execute + ///ID of the command to execute. [JsonPropertyName("command")] public long? Command { get; init; } - ///args to pass to the command eg: [arg1, arg2, argN] + ///Arguments to pass to the command. eg: [arg1, arg2, argN] [JsonPropertyName("args")] public object? Args { get; init; } - ///manufacturer code eg: 252 + ///Manufacturer code. eg: 252 [JsonPropertyName("manufacturer")] public string? Manufacturer { get; init; } } public partial record ZhaPermitParameters { - ///Time to permit joins, in seconds + ///Time to permit joins. [JsonPropertyName("duration")] public long? Duration { get; init; } - ///IEEE address of the node permitting new joins eg: 00:0d:6f:00:05:7d:2d:34 + ///IEEE address of the node permitting new joins. eg: 00:0d:6f:00:05:7d:2d:34 [JsonPropertyName("ieee")] public string? Ieee { get; init; } - ///IEEE address of the joining device (must be used with install code) eg: 00:0a:bf:00:01:10:23:35 + ///IEEE address of the joining device (must be used with the install code). eg: 00:0a:bf:00:01:10:23:35 [JsonPropertyName("source_ieee")] public string? SourceIeee { get; init; } - ///Install code of the joining device (must be used with source_ieee) eg: 1234-5678-1234-5678-AABB-CCDD-AABB-CCDD-EEFF + ///Install code of the joining device (must be used with the source_ieee). eg: 1234-5678-1234-5678-AABB-CCDD-AABB-CCDD-EEFF [JsonPropertyName("install_code")] public string? InstallCode { get; init; } - ///value of the QR install code (different between vendors) eg: Z:000D6FFFFED4163B$I:52797BF4A5084DAA8E1712B61741CA024051 + ///Value of the QR install code (different between vendors). eg: Z:000D6FFFFED4163B$I:52797BF4A5084DAA8E1712B61741CA024051 [JsonPropertyName("qr_code")] public string? QrCode { get; init; } } public partial record ZhaRemoveParameters { - ///IEEE address of the node to remove eg: 00:0d:6f:00:05:7d:2d:34 + ///IEEE address of the node to remove. eg: 00:0d:6f:00:05:7d:2d:34 [JsonPropertyName("ieee")] public string? Ieee { get; init; } } public partial record ZhaSetLockUserCodeParameters { - ///Code slot to set the code in eg: 1 + ///Code slot to set the code in. eg: 1 [JsonPropertyName("code_slot")] public string? CodeSlot { get; init; } - ///Code to set eg: 1234 + ///Code to set. eg: 1234 [JsonPropertyName("user_code")] public string? UserCode { get; init; } } public partial record ZhaSetZigbeeClusterAttributeParameters { - ///IEEE address for the device eg: 00:0d:6f:00:05:7d:2d:34 + ///IEEE address for the device. eg: 00:0d:6f:00:05:7d:2d:34 [JsonPropertyName("ieee")] public string? Ieee { get; init; } - ///Endpoint id for the cluster + ///Endpoint ID for the cluster. [JsonPropertyName("endpoint_id")] public long? EndpointId { get; init; } - ///ZCL cluster to retrieve attributes for + ///ZCL cluster to retrieve attributes for. [JsonPropertyName("cluster_id")] public long? ClusterId { get; init; } - ///type of the cluster + ///Type of the cluster. [JsonPropertyName("cluster_type")] public object? ClusterType { get; init; } - ///id of the attribute to set eg: 0 + ///ID of the attribute to set. eg: 0 [JsonPropertyName("attribute")] public long? Attribute { get; init; } - ///value to write to the attribute eg: 1 + ///Value to write to the attribute. eg: 1 [JsonPropertyName("value")] public string? Value { get; init; } - ///manufacturer code eg: 252 + ///Manufacturer code. eg: 252 [JsonPropertyName("manufacturer")] public string? Manufacturer { get; init; } } public partial record ZhaWarningDeviceSquawkParameters { - ///IEEE address for the device eg: 00:0d:6f:00:05:7d:2d:34 + ///IEEE address for the device. eg: 00:0d:6f:00:05:7d:2d:34 [JsonPropertyName("ieee")] public string? Ieee { get; init; } @@ -5192,15 +4953,15 @@ public partial record ZhaWarningDeviceSquawkParameters public partial record ZhaWarningDeviceWarnParameters { - ///IEEE address for the device eg: 00:0d:6f:00:05:7d:2d:34 + ///IEEE address for the device. eg: 00:0d:6f:00:05:7d:2d:34 [JsonPropertyName("ieee")] public string? Ieee { get; init; } - ///The Warning Mode field is used as an 4-bit enumeration, can have one of the values 0-6 defined below in table 8-20 of the ZCL spec. The exact behavior of the WD device in each mode is according to the relevant security standards. + ///The Warning Mode field is used as a 4-bit enumeration, can have one of the values 0-6 defined below in table 8-20 of the ZCL spec. The exact behavior of the warning device in each mode is according to the relevant security standards. [JsonPropertyName("mode")] public long? Mode { get; init; } - ///The Strobe field is used as a 2-bit enumeration, and determines if the visual indication is required in addition to the audible siren, as indicated in Table 8-21 of the ZCL spec. "0" means no strobe, "1" means strobe. If the strobe field is “1” and the Warning Mode is “0” (“Stop”) then only the strobe is activated. + ///The Strobe field is used as a 2-bit enumeration, and determines if the visual indication is required in addition to the audible siren, as indicated in Table 8-21 of the ZCL spec. "0" means no strobe, "1" means strobe. If the strobe field is “1” and the Warning Mode is “0” (“Stop”), then only the strobe is activated. [JsonPropertyName("strobe")] public long? Strobe { get; init; } @@ -5208,11 +4969,11 @@ public partial record ZhaWarningDeviceWarnParameters [JsonPropertyName("level")] public long? Level { get; init; } - ///Requested duration of warning, in seconds (16 bit). If both Strobe and Warning Mode are "0" this field SHALL be ignored. + ///Requested duration of warning, in seconds (16 bit). If both Strobe and Warning Mode are "0" this field is ignored. [JsonPropertyName("duration")] public long? Duration { get; init; } - ///Indicates the length of the flash cycle. This provides a means of varying the flash duration for different alarm types (e.g., fire, police, burglar). Valid range is 0-100 in increments of 10. All other values SHALL be rounded to the nearest valid value. Strobe SHALL calculate duty cycle over a duration of one second. The ON state SHALL precede the OFF state. For example, if Strobe Duty Cycle Field specifies “40,” then the strobe SHALL flash ON for 4/10ths of a second and then turn OFF for 6/10ths of a second. + ///Indicates the length of the flash cycle. This allows you to vary the flash duration for different alarm types (e.g., fire, police, burglar). The valid range is 0-100 in increments of 10. All other values must be rounded to the nearest valid value. Strobe calculates a duty cycle over a duration of one second. The ON state must precede the OFF state. For example, if the Strobe Duty Cycle field specifies “40,”, then the strobe flashes ON for 4/10ths of a second and then turns OFF for 6/10ths of a second. [JsonPropertyName("duty_cycle")] public long? DutyCycle { get; init; } @@ -5229,7 +4990,7 @@ public ZoneServices(IHaContext haContext) _haContext = haContext; } - ///Reload the YAML-based zone configuration. + ///Reloads zones from the YAML-configuration. public void Reload() { _haContext.CallService("zone", "reload", null); @@ -5253,139 +5014,139 @@ public static void Press(this IEnumerable target) public static class CameraEntityExtensionMethods { - ///Disable the motion detection in a camera. + ///Disables the motion detection. public static void DisableMotionDetection(this ICameraEntityCore target) { target.CallService("disable_motion_detection"); } - ///Disable the motion detection in a camera. + ///Disables the motion detection. public static void DisableMotionDetection(this IEnumerable target) { target.CallService("disable_motion_detection"); } - ///Enable the motion detection in a camera. + ///Enables the motion detection. public static void EnableMotionDetection(this ICameraEntityCore target) { target.CallService("enable_motion_detection"); } - ///Enable the motion detection in a camera. + ///Enables the motion detection. public static void EnableMotionDetection(this IEnumerable target) { target.CallService("enable_motion_detection"); } - ///Play camera stream on supported media player. + ///Plays the camera stream on a supported media player. public static void PlayStream(this ICameraEntityCore target, CameraPlayStreamParameters data) { target.CallService("play_stream", data); } - ///Play camera stream on supported media player. + ///Plays the camera stream on a supported media player. public static void PlayStream(this IEnumerable target, CameraPlayStreamParameters data) { target.CallService("play_stream", data); } - ///Play camera stream on supported media player. + ///Plays the camera stream on a supported media player. ///The ICameraEntityCore to call this service for - ///Name(s) of media player to stream to. - ///Stream format supported by media player. + ///Media players to stream to. + ///Stream format supported by the media player. public static void PlayStream(this ICameraEntityCore target, string mediaPlayer, object? format = null) { target.CallService("play_stream", new CameraPlayStreamParameters { MediaPlayer = mediaPlayer, Format = format }); } - ///Play camera stream on supported media player. + ///Plays the camera stream on a supported media player. ///The IEnumerable<ICameraEntityCore> to call this service for - ///Name(s) of media player to stream to. - ///Stream format supported by media player. + ///Media players to stream to. + ///Stream format supported by the media player. public static void PlayStream(this IEnumerable target, string mediaPlayer, object? format = null) { target.CallService("play_stream", new CameraPlayStreamParameters { MediaPlayer = mediaPlayer, Format = format }); } - ///Record live camera feed. + ///Creates a recording of a live camera feed. public static void Record(this ICameraEntityCore target, CameraRecordParameters data) { target.CallService("record", data); } - ///Record live camera feed. + ///Creates a recording of a live camera feed. public static void Record(this IEnumerable target, CameraRecordParameters data) { target.CallService("record", data); } - ///Record live camera feed. + ///Creates a recording of a live camera feed. ///The ICameraEntityCore to call this service for - ///Template of a Filename. Variable is entity_id. Must be mp4. eg: /tmp/snapshot_{{ entity_id.name }}.mp4 - ///Target recording length. - ///Target lookback period to include in addition to duration. Only available if there is currently an active HLS stream. + ///Template of a filename. Variable available is `entity_id`. Must be mp4. eg: /tmp/snapshot_{{ entity_id.name }}.mp4 + ///Planned duration of the recording. The actual duration may vary. + ///Planned lookback period to include in the recording (in addition to the duration). Only available if there is currently an active HLS stream. The actual length of the lookback period may vary. public static void Record(this ICameraEntityCore target, string filename, long? duration = null, long? lookback = null) { target.CallService("record", new CameraRecordParameters { Filename = filename, Duration = duration, Lookback = lookback }); } - ///Record live camera feed. + ///Creates a recording of a live camera feed. ///The IEnumerable<ICameraEntityCore> to call this service for - ///Template of a Filename. Variable is entity_id. Must be mp4. eg: /tmp/snapshot_{{ entity_id.name }}.mp4 - ///Target recording length. - ///Target lookback period to include in addition to duration. Only available if there is currently an active HLS stream. + ///Template of a filename. Variable available is `entity_id`. Must be mp4. eg: /tmp/snapshot_{{ entity_id.name }}.mp4 + ///Planned duration of the recording. The actual duration may vary. + ///Planned lookback period to include in the recording (in addition to the duration). Only available if there is currently an active HLS stream. The actual length of the lookback period may vary. public static void Record(this IEnumerable target, string filename, long? duration = null, long? lookback = null) { target.CallService("record", new CameraRecordParameters { Filename = filename, Duration = duration, Lookback = lookback }); } - ///Take a snapshot from a camera. + ///Takes a snapshot from a camera. public static void Snapshot(this ICameraEntityCore target, CameraSnapshotParameters data) { target.CallService("snapshot", data); } - ///Take a snapshot from a camera. + ///Takes a snapshot from a camera. public static void Snapshot(this IEnumerable target, CameraSnapshotParameters data) { target.CallService("snapshot", data); } - ///Take a snapshot from a camera. + ///Takes a snapshot from a camera. ///The ICameraEntityCore to call this service for - ///Template of a Filename. Variable is entity_id. eg: /tmp/snapshot_{{ entity_id.name }}.jpg + ///Template of a filename. Variable available is `entity_id`. eg: /tmp/snapshot_{{ entity_id.name }}.jpg public static void Snapshot(this ICameraEntityCore target, string filename) { target.CallService("snapshot", new CameraSnapshotParameters { Filename = filename }); } - ///Take a snapshot from a camera. + ///Takes a snapshot from a camera. ///The IEnumerable<ICameraEntityCore> to call this service for - ///Template of a Filename. Variable is entity_id. eg: /tmp/snapshot_{{ entity_id.name }}.jpg + ///Template of a filename. Variable available is `entity_id`. eg: /tmp/snapshot_{{ entity_id.name }}.jpg public static void Snapshot(this IEnumerable target, string filename) { target.CallService("snapshot", new CameraSnapshotParameters { Filename = filename }); } - ///Turn off camera. + ///Turns off the camera. public static void TurnOff(this ICameraEntityCore target) { target.CallService("turn_off"); } - ///Turn off camera. + ///Turns off the camera. public static void TurnOff(this IEnumerable target) { target.CallService("turn_off"); } - ///Turn on camera. + ///Turns on the camera. public static void TurnOn(this ICameraEntityCore target) { target.CallService("turn_on"); } - ///Turn on camera. + ///Turns on the camera. public static void TurnOn(this IEnumerable target) { target.CallService("turn_on"); @@ -5394,19 +5155,19 @@ public static void TurnOn(this IEnumerable target) public static class ClimateEntityExtensionMethods { - ///Turn auxiliary heater on/off for climate device. + ///Turns auxiliary heater on/off. public static void SetAuxHeat(this IClimateEntityCore target, ClimateSetAuxHeatParameters data) { target.CallService("set_aux_heat", data); } - ///Turn auxiliary heater on/off for climate device. + ///Turns auxiliary heater on/off. public static void SetAuxHeat(this IEnumerable target, ClimateSetAuxHeatParameters data) { target.CallService("set_aux_heat", data); } - ///Turn auxiliary heater on/off for climate device. + ///Turns auxiliary heater on/off. ///The IClimateEntityCore to call this service for ///New value of auxiliary heater. public static void SetAuxHeat(this IClimateEntityCore target, bool auxHeat) @@ -5414,7 +5175,7 @@ public static void SetAuxHeat(this IClimateEntityCore target, bool auxHeat) target.CallService("set_aux_heat", new ClimateSetAuxHeatParameters { AuxHeat = auxHeat }); } - ///Turn auxiliary heater on/off for climate device. + ///Turns auxiliary heater on/off. ///The IEnumerable<IClimateEntityCore> to call this service for ///New value of auxiliary heater. public static void SetAuxHeat(this IEnumerable target, bool auxHeat) @@ -5422,199 +5183,199 @@ public static void SetAuxHeat(this IEnumerable target, bool target.CallService("set_aux_heat", new ClimateSetAuxHeatParameters { AuxHeat = auxHeat }); } - ///Set fan operation for climate device. + ///Sets fan operation mode. public static void SetFanMode(this IClimateEntityCore target, ClimateSetFanModeParameters data) { target.CallService("set_fan_mode", data); } - ///Set fan operation for climate device. + ///Sets fan operation mode. public static void SetFanMode(this IEnumerable target, ClimateSetFanModeParameters data) { target.CallService("set_fan_mode", data); } - ///Set fan operation for climate device. + ///Sets fan operation mode. ///The IClimateEntityCore to call this service for - ///New value of fan mode. eg: low + ///Fan operation mode. eg: low public static void SetFanMode(this IClimateEntityCore target, string fanMode) { target.CallService("set_fan_mode", new ClimateSetFanModeParameters { FanMode = fanMode }); } - ///Set fan operation for climate device. + ///Sets fan operation mode. ///The IEnumerable<IClimateEntityCore> to call this service for - ///New value of fan mode. eg: low + ///Fan operation mode. eg: low public static void SetFanMode(this IEnumerable target, string fanMode) { target.CallService("set_fan_mode", new ClimateSetFanModeParameters { FanMode = fanMode }); } - ///Set target humidity of climate device. + ///Sets target humidity. public static void SetHumidity(this IClimateEntityCore target, ClimateSetHumidityParameters data) { target.CallService("set_humidity", data); } - ///Set target humidity of climate device. + ///Sets target humidity. public static void SetHumidity(this IEnumerable target, ClimateSetHumidityParameters data) { target.CallService("set_humidity", data); } - ///Set target humidity of climate device. + ///Sets target humidity. ///The IClimateEntityCore to call this service for - ///New target humidity for climate device. + ///Target humidity. public static void SetHumidity(this IClimateEntityCore target, long humidity) { target.CallService("set_humidity", new ClimateSetHumidityParameters { Humidity = humidity }); } - ///Set target humidity of climate device. + ///Sets target humidity. ///The IEnumerable<IClimateEntityCore> to call this service for - ///New target humidity for climate device. + ///Target humidity. public static void SetHumidity(this IEnumerable target, long humidity) { target.CallService("set_humidity", new ClimateSetHumidityParameters { Humidity = humidity }); } - ///Set HVAC operation mode for climate device. + ///Sets HVAC operation mode. public static void SetHvacMode(this IClimateEntityCore target, ClimateSetHvacModeParameters data) { target.CallService("set_hvac_mode", data); } - ///Set HVAC operation mode for climate device. + ///Sets HVAC operation mode. public static void SetHvacMode(this IEnumerable target, ClimateSetHvacModeParameters data) { target.CallService("set_hvac_mode", data); } - ///Set HVAC operation mode for climate device. + ///Sets HVAC operation mode. ///The IClimateEntityCore to call this service for - ///New value of operation mode. + ///HVAC operation mode. public static void SetHvacMode(this IClimateEntityCore target, object? hvacMode = null) { target.CallService("set_hvac_mode", new ClimateSetHvacModeParameters { HvacMode = hvacMode }); } - ///Set HVAC operation mode for climate device. + ///Sets HVAC operation mode. ///The IEnumerable<IClimateEntityCore> to call this service for - ///New value of operation mode. + ///HVAC operation mode. public static void SetHvacMode(this IEnumerable target, object? hvacMode = null) { target.CallService("set_hvac_mode", new ClimateSetHvacModeParameters { HvacMode = hvacMode }); } - ///Set preset mode for climate device. + ///Sets preset mode. public static void SetPresetMode(this IClimateEntityCore target, ClimateSetPresetModeParameters data) { target.CallService("set_preset_mode", data); } - ///Set preset mode for climate device. + ///Sets preset mode. public static void SetPresetMode(this IEnumerable target, ClimateSetPresetModeParameters data) { target.CallService("set_preset_mode", data); } - ///Set preset mode for climate device. + ///Sets preset mode. ///The IClimateEntityCore to call this service for - ///New value of preset mode. eg: away + ///Preset mode. eg: away public static void SetPresetMode(this IClimateEntityCore target, string presetMode) { target.CallService("set_preset_mode", new ClimateSetPresetModeParameters { PresetMode = presetMode }); } - ///Set preset mode for climate device. + ///Sets preset mode. ///The IEnumerable<IClimateEntityCore> to call this service for - ///New value of preset mode. eg: away + ///Preset mode. eg: away public static void SetPresetMode(this IEnumerable target, string presetMode) { target.CallService("set_preset_mode", new ClimateSetPresetModeParameters { PresetMode = presetMode }); } - ///Set swing operation for climate device. + ///Sets swing operation mode. public static void SetSwingMode(this IClimateEntityCore target, ClimateSetSwingModeParameters data) { target.CallService("set_swing_mode", data); } - ///Set swing operation for climate device. + ///Sets swing operation mode. public static void SetSwingMode(this IEnumerable target, ClimateSetSwingModeParameters data) { target.CallService("set_swing_mode", data); } - ///Set swing operation for climate device. + ///Sets swing operation mode. ///The IClimateEntityCore to call this service for - ///New value of swing mode. eg: horizontal + ///Swing operation mode. eg: horizontal public static void SetSwingMode(this IClimateEntityCore target, string swingMode) { target.CallService("set_swing_mode", new ClimateSetSwingModeParameters { SwingMode = swingMode }); } - ///Set swing operation for climate device. + ///Sets swing operation mode. ///The IEnumerable<IClimateEntityCore> to call this service for - ///New value of swing mode. eg: horizontal + ///Swing operation mode. eg: horizontal public static void SetSwingMode(this IEnumerable target, string swingMode) { target.CallService("set_swing_mode", new ClimateSetSwingModeParameters { SwingMode = swingMode }); } - ///Set target temperature of climate device. + ///Sets target temperature. public static void SetTemperature(this IClimateEntityCore target, ClimateSetTemperatureParameters data) { target.CallService("set_temperature", data); } - ///Set target temperature of climate device. + ///Sets target temperature. public static void SetTemperature(this IEnumerable target, ClimateSetTemperatureParameters data) { target.CallService("set_temperature", data); } - ///Set target temperature of climate device. + ///Sets target temperature. ///The IClimateEntityCore to call this service for - ///New target temperature for HVAC. - ///New target high temperature for HVAC. - ///New target low temperature for HVAC. - ///HVAC operation mode to set temperature to. + ///Target temperature. + ///High target temperature. + ///Low target temperature. + ///HVAC operation mode. public static void SetTemperature(this IClimateEntityCore target, double? temperature = null, double? targetTempHigh = null, double? targetTempLow = null, object? hvacMode = null) { target.CallService("set_temperature", new ClimateSetTemperatureParameters { Temperature = temperature, TargetTempHigh = targetTempHigh, TargetTempLow = targetTempLow, HvacMode = hvacMode }); } - ///Set target temperature of climate device. + ///Sets target temperature. ///The IEnumerable<IClimateEntityCore> to call this service for - ///New target temperature for HVAC. - ///New target high temperature for HVAC. - ///New target low temperature for HVAC. - ///HVAC operation mode to set temperature to. + ///Target temperature. + ///High target temperature. + ///Low target temperature. + ///HVAC operation mode. public static void SetTemperature(this IEnumerable target, double? temperature = null, double? targetTempHigh = null, double? targetTempLow = null, object? hvacMode = null) { target.CallService("set_temperature", new ClimateSetTemperatureParameters { Temperature = temperature, TargetTempHigh = targetTempHigh, TargetTempLow = targetTempLow, HvacMode = hvacMode }); } - ///Turn climate device off. + ///Turns climate device off. public static void TurnOff(this IClimateEntityCore target) { target.CallService("turn_off"); } - ///Turn climate device off. + ///Turns climate device off. public static void TurnOff(this IEnumerable target) { target.CallService("turn_off"); } - ///Turn climate device on. + ///Turns climate device on. public static void TurnOn(this IClimateEntityCore target) { target.CallService("turn_on"); } - ///Turn climate device on. + ///Turns climate device on. public static void TurnOn(this IEnumerable target) { target.CallService("turn_on"); @@ -5623,153 +5384,153 @@ public static void TurnOn(this IEnumerable target) public static class CoverEntityExtensionMethods { - ///Close all or specified cover. + ///Closes a cover. public static void CloseCover(this ICoverEntityCore target) { target.CallService("close_cover"); } - ///Close all or specified cover. + ///Closes a cover. public static void CloseCover(this IEnumerable target) { target.CallService("close_cover"); } - ///Close all or specified cover tilt. + ///Tilts a cover to close. public static void CloseCoverTilt(this ICoverEntityCore target) { target.CallService("close_cover_tilt"); } - ///Close all or specified cover tilt. + ///Tilts a cover to close. public static void CloseCoverTilt(this IEnumerable target) { target.CallService("close_cover_tilt"); } - ///Open all or specified cover. + ///Opens a cover. public static void OpenCover(this ICoverEntityCore target) { target.CallService("open_cover"); } - ///Open all or specified cover. + ///Opens a cover. public static void OpenCover(this IEnumerable target) { target.CallService("open_cover"); } - ///Open all or specified cover tilt. + ///Tilts a cover open. public static void OpenCoverTilt(this ICoverEntityCore target) { target.CallService("open_cover_tilt"); } - ///Open all or specified cover tilt. + ///Tilts a cover open. public static void OpenCoverTilt(this IEnumerable target) { target.CallService("open_cover_tilt"); } - ///Move to specific position all or specified cover. + ///Moves a cover to a specific position. public static void SetCoverPosition(this ICoverEntityCore target, CoverSetCoverPositionParameters data) { target.CallService("set_cover_position", data); } - ///Move to specific position all or specified cover. + ///Moves a cover to a specific position. public static void SetCoverPosition(this IEnumerable target, CoverSetCoverPositionParameters data) { target.CallService("set_cover_position", data); } - ///Move to specific position all or specified cover. + ///Moves a cover to a specific position. ///The ICoverEntityCore to call this service for - ///Position of the cover + ///Target position. public static void SetCoverPosition(this ICoverEntityCore target, long position) { target.CallService("set_cover_position", new CoverSetCoverPositionParameters { Position = position }); } - ///Move to specific position all or specified cover. + ///Moves a cover to a specific position. ///The IEnumerable<ICoverEntityCore> to call this service for - ///Position of the cover + ///Target position. public static void SetCoverPosition(this IEnumerable target, long position) { target.CallService("set_cover_position", new CoverSetCoverPositionParameters { Position = position }); } - ///Move to specific position all or specified cover tilt. + ///Moves a cover tilt to a specific position. public static void SetCoverTiltPosition(this ICoverEntityCore target, CoverSetCoverTiltPositionParameters data) { target.CallService("set_cover_tilt_position", data); } - ///Move to specific position all or specified cover tilt. + ///Moves a cover tilt to a specific position. public static void SetCoverTiltPosition(this IEnumerable target, CoverSetCoverTiltPositionParameters data) { target.CallService("set_cover_tilt_position", data); } - ///Move to specific position all or specified cover tilt. + ///Moves a cover tilt to a specific position. ///The ICoverEntityCore to call this service for - ///Tilt position of the cover. + ///Target tilt positition. public static void SetCoverTiltPosition(this ICoverEntityCore target, long tiltPosition) { target.CallService("set_cover_tilt_position", new CoverSetCoverTiltPositionParameters { TiltPosition = tiltPosition }); } - ///Move to specific position all or specified cover tilt. + ///Moves a cover tilt to a specific position. ///The IEnumerable<ICoverEntityCore> to call this service for - ///Tilt position of the cover. + ///Target tilt positition. public static void SetCoverTiltPosition(this IEnumerable target, long tiltPosition) { target.CallService("set_cover_tilt_position", new CoverSetCoverTiltPositionParameters { TiltPosition = tiltPosition }); } - ///Stop all or specified cover. + ///Stops the cover movement. public static void StopCover(this ICoverEntityCore target) { target.CallService("stop_cover"); } - ///Stop all or specified cover. + ///Stops the cover movement. public static void StopCover(this IEnumerable target) { target.CallService("stop_cover"); } - ///Stop all or specified cover. + ///Stops a tilting cover movement. public static void StopCoverTilt(this ICoverEntityCore target) { target.CallService("stop_cover_tilt"); } - ///Stop all or specified cover. + ///Stops a tilting cover movement. public static void StopCoverTilt(this IEnumerable target) { target.CallService("stop_cover_tilt"); } - ///Toggle a cover open/closed. + ///Toggles a cover open/closed. public static void Toggle(this ICoverEntityCore target) { target.CallService("toggle"); } - ///Toggle a cover open/closed. + ///Toggles a cover open/closed. public static void Toggle(this IEnumerable target) { target.CallService("toggle"); } - ///Toggle a cover tilt open/closed. + ///Toggles a cover tilt open/closed. public static void ToggleCoverTilt(this ICoverEntityCore target) { target.CallService("toggle_cover_tilt"); } - ///Toggle a cover tilt open/closed. + ///Toggles a cover tilt open/closed. public static void ToggleCoverTilt(this IEnumerable target) { target.CallService("toggle_cover_tilt"); @@ -5778,34 +5539,34 @@ public static void ToggleCoverTilt(this IEnumerable target) public static class HueEntityExtensionMethods { - ///Activate a Hue scene with more control over the options. + ///Activates a Hue scene with more control over the options. public static void ActivateScene(this ISceneEntityCore target, HueActivateSceneParameters data) { target.CallService("activate_scene", data); } - ///Activate a Hue scene with more control over the options. + ///Activates a Hue scene with more control over the options. public static void ActivateScene(this IEnumerable target, HueActivateSceneParameters data) { target.CallService("activate_scene", data); } - ///Activate a Hue scene with more control over the options. + ///Activates a Hue scene with more control over the options. ///The ISceneEntityCore to call this service for ///Transition duration it takes to bring devices to the state defined in the scene. ///Enable dynamic mode of the scene. - ///Speed of dynamic palette for this scene + ///Speed of dynamic palette for this scene. ///Set brightness for the scene. public static void ActivateScene(this ISceneEntityCore target, long? transition = null, bool? dynamic = null, long? speed = null, long? brightness = null) { target.CallService("activate_scene", new HueActivateSceneParameters { Transition = transition, Dynamic = dynamic, Speed = speed, Brightness = brightness }); } - ///Activate a Hue scene with more control over the options. + ///Activates a Hue scene with more control over the options. ///The IEnumerable<ISceneEntityCore> to call this service for ///Transition duration it takes to bring devices to the state defined in the scene. ///Enable dynamic mode of the scene. - ///Speed of dynamic palette for this scene + ///Speed of dynamic palette for this scene. ///Set brightness for the scene. public static void ActivateScene(this IEnumerable target, long? transition = null, bool? dynamic = null, long? speed = null, long? brightness = null) { @@ -5815,37 +5576,37 @@ public static void ActivateScene(this IEnumerable target, long public static class InputBooleanEntityExtensionMethods { - ///Toggle an input boolean + ///Toggles the helper on/off. public static void Toggle(this IInputBooleanEntityCore target) { target.CallService("toggle"); } - ///Toggle an input boolean + ///Toggles the helper on/off. public static void Toggle(this IEnumerable target) { target.CallService("toggle"); } - ///Turn off an input boolean + ///Turns off the helper. public static void TurnOff(this IInputBooleanEntityCore target) { target.CallService("turn_off"); } - ///Turn off an input boolean + ///Turns off the helper. public static void TurnOff(this IEnumerable target) { target.CallService("turn_off"); } - ///Turn on an input boolean + ///Turns on the helper. public static void TurnOn(this IInputBooleanEntityCore target) { target.CallService("turn_on"); } - ///Turn on an input boolean + ///Turns on the helper. public static void TurnOn(this IEnumerable target) { target.CallService("turn_on"); @@ -5854,144 +5615,144 @@ public static void TurnOn(this IEnumerable target) public static class LightEntityExtensionMethods { - ///Toggles one or more lights, from on to off, or, off to on, based on their current state. + ///Toggles one or more lights, from on to off, or, off to on, based on their current state. public static void Toggle(this ILightEntityCore target, LightToggleParameters data) { target.CallService("toggle", data); } - ///Toggles one or more lights, from on to off, or, off to on, based on their current state. + ///Toggles one or more lights, from on to off, or, off to on, based on their current state. public static void Toggle(this IEnumerable target, LightToggleParameters data) { target.CallService("toggle", data); } - ///Toggles one or more lights, from on to off, or, off to on, based on their current state. + ///Toggles one or more lights, from on to off, or, off to on, based on their current state. ///The ILightEntityCore to call this service for ///Duration it takes to get to next state. - ///Color for the light in RGB-format. eg: [255, 100, 100] - ///A human readable color name. - ///Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100. eg: [300, 70] - ///Color for the light in XY-format. eg: [0.52, 0.43] - ///Color temperature for the light in mireds. - ///Color temperature for the light in Kelvin. - ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light. - ///Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light. + ///The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. eg: [255, 100, 100] + ///A human-readable color name. + ///Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100. eg: [300, 70] + ///Color in XY-format. A list of two decimal numbers between 0 and 1. eg: [0.52, 0.43] + ///Color temperature in mireds. + ///Color temperature in Kelvin. + ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness. + ///Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness. ///Set the light to white mode. ///Name of a light profile to use. eg: relax - ///If the light should flash. + ///Tell light to flash, can be either value short or long. ///Light effect. - public static void Toggle(this ILightEntityCore target, long? transition = null, object? rgbColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, long? kelvin = null, long? brightness = null, long? brightnessPct = null, object? white = null, string? profile = null, object? flash = null, string? effect = null) + public static void Toggle(this ILightEntityCore target, long? transition = null, object? rgbColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, object? kelvin = null, long? brightness = null, long? brightnessPct = null, object? white = null, string? profile = null, object? flash = null, string? effect = null) { target.CallService("toggle", new LightToggleParameters { Transition = transition, RgbColor = rgbColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Kelvin = kelvin, Brightness = brightness, BrightnessPct = brightnessPct, White = white, Profile = profile, Flash = flash, Effect = effect }); } - ///Toggles one or more lights, from on to off, or, off to on, based on their current state. + ///Toggles one or more lights, from on to off, or, off to on, based on their current state. ///The IEnumerable<ILightEntityCore> to call this service for ///Duration it takes to get to next state. - ///Color for the light in RGB-format. eg: [255, 100, 100] - ///A human readable color name. - ///Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100. eg: [300, 70] - ///Color for the light in XY-format. eg: [0.52, 0.43] - ///Color temperature for the light in mireds. - ///Color temperature for the light in Kelvin. - ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light. - ///Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light. + ///The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. eg: [255, 100, 100] + ///A human-readable color name. + ///Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100. eg: [300, 70] + ///Color in XY-format. A list of two decimal numbers between 0 and 1. eg: [0.52, 0.43] + ///Color temperature in mireds. + ///Color temperature in Kelvin. + ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness. + ///Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness. ///Set the light to white mode. ///Name of a light profile to use. eg: relax - ///If the light should flash. + ///Tell light to flash, can be either value short or long. ///Light effect. - public static void Toggle(this IEnumerable target, long? transition = null, object? rgbColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, long? kelvin = null, long? brightness = null, long? brightnessPct = null, object? white = null, string? profile = null, object? flash = null, string? effect = null) + public static void Toggle(this IEnumerable target, long? transition = null, object? rgbColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, object? kelvin = null, long? brightness = null, long? brightnessPct = null, object? white = null, string? profile = null, object? flash = null, string? effect = null) { target.CallService("toggle", new LightToggleParameters { Transition = transition, RgbColor = rgbColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Kelvin = kelvin, Brightness = brightness, BrightnessPct = brightnessPct, White = white, Profile = profile, Flash = flash, Effect = effect }); } - ///Turns off one or more lights. + ///Turn off one or more lights. public static void TurnOff(this ILightEntityCore target, LightTurnOffParameters data) { target.CallService("turn_off", data); } - ///Turns off one or more lights. + ///Turn off one or more lights. public static void TurnOff(this IEnumerable target, LightTurnOffParameters data) { target.CallService("turn_off", data); } - ///Turns off one or more lights. + ///Turn off one or more lights. ///The ILightEntityCore to call this service for ///Duration it takes to get to next state. - ///If the light should flash. + ///Tell light to flash, can be either value short or long. public static void TurnOff(this ILightEntityCore target, long? transition = null, object? flash = null) { target.CallService("turn_off", new LightTurnOffParameters { Transition = transition, Flash = flash }); } - ///Turns off one or more lights. + ///Turn off one or more lights. ///The IEnumerable<ILightEntityCore> to call this service for ///Duration it takes to get to next state. - ///If the light should flash. + ///Tell light to flash, can be either value short or long. public static void TurnOff(this IEnumerable target, long? transition = null, object? flash = null) { target.CallService("turn_off", new LightTurnOffParameters { Transition = transition, Flash = flash }); } - ///Turn on one or more lights and adjust properties of the light, even when they are turned on already. + ///Turn on one or more lights and adjust properties of the light, even when they are turned on already. public static void TurnOn(this ILightEntityCore target, LightTurnOnParameters data) { target.CallService("turn_on", data); } - ///Turn on one or more lights and adjust properties of the light, even when they are turned on already. + ///Turn on one or more lights and adjust properties of the light, even when they are turned on already. public static void TurnOn(this IEnumerable target, LightTurnOnParameters data) { target.CallService("turn_on", data); } - ///Turn on one or more lights and adjust properties of the light, even when they are turned on already. + ///Turn on one or more lights and adjust properties of the light, even when they are turned on already. ///The ILightEntityCore to call this service for ///Duration it takes to get to next state. - ///The color for the light (based on RGB - red, green, blue). - ///A list containing four integers between 0 and 255 representing the RGBW (red, green, blue, white) color for the light. eg: [255, 100, 100, 50] - ///A list containing five integers between 0 and 255 representing the RGBWW (red, green, blue, cold white, warm white) color for the light. eg: [255, 100, 100, 50, 70] - ///A human readable color name. - ///Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100. eg: [300, 70] - ///Color for the light in XY-format. eg: [0.52, 0.43] - ///Color temperature for the light in mireds. - ///Color temperature for the light in Kelvin. - ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light. - ///Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light. + ///The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. + ///The color in RGBW format. A list of four integers between 0 and 255 representing the values of red, green, blue, and white. eg: [255, 100, 100, 50] + ///The color in RGBWW format. A list of five integers between 0 and 255 representing the values of red, green, blue, cold white, and warm white. eg: [255, 100, 100, 50, 70] + ///A human-readable color name. + ///Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100. eg: [300, 70] + ///Color in XY-format. A list of two decimal numbers between 0 and 1. eg: [0.52, 0.43] + ///Color temperature in mireds. + ///Color temperature in Kelvin. + ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness. + ///Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness. ///Change brightness by an amount. ///Change brightness by a percentage. ///Set the light to white mode. ///Name of a light profile to use. eg: relax - ///If the light should flash. + ///Tell light to flash, can be either value short or long. ///Light effect. - public static void TurnOn(this ILightEntityCore target, long? transition = null, object? rgbColor = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, long? kelvin = null, long? brightness = null, long? brightnessPct = null, long? brightnessStep = null, long? brightnessStepPct = null, object? white = null, string? profile = null, object? flash = null, string? effect = null) + public static void TurnOn(this ILightEntityCore target, long? transition = null, object? rgbColor = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, object? kelvin = null, long? brightness = null, long? brightnessPct = null, long? brightnessStep = null, long? brightnessStepPct = null, object? white = null, string? profile = null, object? flash = null, string? effect = null) { target.CallService("turn_on", new LightTurnOnParameters { Transition = transition, RgbColor = rgbColor, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Kelvin = kelvin, Brightness = brightness, BrightnessPct = brightnessPct, BrightnessStep = brightnessStep, BrightnessStepPct = brightnessStepPct, White = white, Profile = profile, Flash = flash, Effect = effect }); } - ///Turn on one or more lights and adjust properties of the light, even when they are turned on already. + ///Turn on one or more lights and adjust properties of the light, even when they are turned on already. ///The IEnumerable<ILightEntityCore> to call this service for ///Duration it takes to get to next state. - ///The color for the light (based on RGB - red, green, blue). - ///A list containing four integers between 0 and 255 representing the RGBW (red, green, blue, white) color for the light. eg: [255, 100, 100, 50] - ///A list containing five integers between 0 and 255 representing the RGBWW (red, green, blue, cold white, warm white) color for the light. eg: [255, 100, 100, 50, 70] - ///A human readable color name. - ///Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100. eg: [300, 70] - ///Color for the light in XY-format. eg: [0.52, 0.43] - ///Color temperature for the light in mireds. - ///Color temperature for the light in Kelvin. - ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light. - ///Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light. + ///The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue. + ///The color in RGBW format. A list of four integers between 0 and 255 representing the values of red, green, blue, and white. eg: [255, 100, 100, 50] + ///The color in RGBWW format. A list of five integers between 0 and 255 representing the values of red, green, blue, cold white, and warm white. eg: [255, 100, 100, 50, 70] + ///A human-readable color name. + ///Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100. eg: [300, 70] + ///Color in XY-format. A list of two decimal numbers between 0 and 1. eg: [0.52, 0.43] + ///Color temperature in mireds. + ///Color temperature in Kelvin. + ///Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness. + ///Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness. ///Change brightness by an amount. ///Change brightness by a percentage. ///Set the light to white mode. ///Name of a light profile to use. eg: relax - ///If the light should flash. + ///Tell light to flash, can be either value short or long. ///Light effect. - public static void TurnOn(this IEnumerable target, long? transition = null, object? rgbColor = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, long? kelvin = null, long? brightness = null, long? brightnessPct = null, long? brightnessStep = null, long? brightnessStepPct = null, object? white = null, string? profile = null, object? flash = null, string? effect = null) + public static void TurnOn(this IEnumerable target, long? transition = null, object? rgbColor = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, object? kelvin = null, long? brightness = null, long? brightnessPct = null, long? brightnessStep = null, long? brightnessStepPct = null, object? white = null, string? profile = null, object? flash = null, string? effect = null) { target.CallService("turn_on", new LightTurnOnParameters { Transition = transition, RgbColor = rgbColor, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Kelvin = kelvin, Brightness = brightness, BrightnessPct = brightnessPct, BrightnessStep = brightnessStep, BrightnessStepPct = brightnessStepPct, White = white, Profile = profile, Flash = flash, Effect = effect }); } @@ -5999,162 +5760,162 @@ public static void TurnOn(this IEnumerable target, long? trans public static class MediaPlayerEntityExtensionMethods { - ///Send the media player the command to clear players playlist. + ///Clears the playlist. public static void ClearPlaylist(this IMediaPlayerEntityCore target) { target.CallService("clear_playlist"); } - ///Send the media player the command to clear players playlist. + ///Clears the playlist. public static void ClearPlaylist(this IEnumerable target) { target.CallService("clear_playlist"); } - ///Group players together. Only works on platforms with support for player groups. + ///Groups media players together for synchronous playback. Only works on supported multiroom audio systems. public static void Join(this IMediaPlayerEntityCore target, MediaPlayerJoinParameters data) { target.CallService("join", data); } - ///Group players together. Only works on platforms with support for player groups. + ///Groups media players together for synchronous playback. Only works on supported multiroom audio systems. public static void Join(this IEnumerable target, MediaPlayerJoinParameters data) { target.CallService("join", data); } - ///Group players together. Only works on platforms with support for player groups. + ///Groups media players together for synchronous playback. Only works on supported multiroom audio systems. ///The IMediaPlayerEntityCore to call this service for - ///The players which will be synced with the target player. eg: - media_player.multiroom_player2 - media_player.multiroom_player3 + ///The players which will be synced with the playback specified in `target`. eg: - media_player.multiroom_player2 - media_player.multiroom_player3 public static void Join(this IMediaPlayerEntityCore target, string groupMembers) { target.CallService("join", new MediaPlayerJoinParameters { GroupMembers = groupMembers }); } - ///Group players together. Only works on platforms with support for player groups. + ///Groups media players together for synchronous playback. Only works on supported multiroom audio systems. ///The IEnumerable<IMediaPlayerEntityCore> to call this service for - ///The players which will be synced with the target player. eg: - media_player.multiroom_player2 - media_player.multiroom_player3 + ///The players which will be synced with the playback specified in `target`. eg: - media_player.multiroom_player2 - media_player.multiroom_player3 public static void Join(this IEnumerable target, string groupMembers) { target.CallService("join", new MediaPlayerJoinParameters { GroupMembers = groupMembers }); } - ///Send the media player the command for next track. + ///Selects the next track. public static void MediaNextTrack(this IMediaPlayerEntityCore target) { target.CallService("media_next_track"); } - ///Send the media player the command for next track. + ///Selects the next track. public static void MediaNextTrack(this IEnumerable target) { target.CallService("media_next_track"); } - ///Send the media player the command for pause. + ///Pauses. public static void MediaPause(this IMediaPlayerEntityCore target) { target.CallService("media_pause"); } - ///Send the media player the command for pause. + ///Pauses. public static void MediaPause(this IEnumerable target) { target.CallService("media_pause"); } - ///Send the media player the command for play. + ///Starts playing. public static void MediaPlay(this IMediaPlayerEntityCore target) { target.CallService("media_play"); } - ///Send the media player the command for play. + ///Starts playing. public static void MediaPlay(this IEnumerable target) { target.CallService("media_play"); } - ///Toggle media player play/pause state. + ///Toggles play/pause. public static void MediaPlayPause(this IMediaPlayerEntityCore target) { target.CallService("media_play_pause"); } - ///Toggle media player play/pause state. + ///Toggles play/pause. public static void MediaPlayPause(this IEnumerable target) { target.CallService("media_play_pause"); } - ///Send the media player the command for previous track. + ///Selects the previous track. public static void MediaPreviousTrack(this IMediaPlayerEntityCore target) { target.CallService("media_previous_track"); } - ///Send the media player the command for previous track. + ///Selects the previous track. public static void MediaPreviousTrack(this IEnumerable target) { target.CallService("media_previous_track"); } - ///Send the media player the command to seek in current playing media. + ///Allows you to go to a different part of the media that is currently playing. public static void MediaSeek(this IMediaPlayerEntityCore target, MediaPlayerMediaSeekParameters data) { target.CallService("media_seek", data); } - ///Send the media player the command to seek in current playing media. + ///Allows you to go to a different part of the media that is currently playing. public static void MediaSeek(this IEnumerable target, MediaPlayerMediaSeekParameters data) { target.CallService("media_seek", data); } - ///Send the media player the command to seek in current playing media. + ///Allows you to go to a different part of the media that is currently playing. ///The IMediaPlayerEntityCore to call this service for - ///Position to seek to. The format is platform dependent. + ///Target position in the currently playing media. The format is platform dependent. public static void MediaSeek(this IMediaPlayerEntityCore target, double seekPosition) { target.CallService("media_seek", new MediaPlayerMediaSeekParameters { SeekPosition = seekPosition }); } - ///Send the media player the command to seek in current playing media. + ///Allows you to go to a different part of the media that is currently playing. ///The IEnumerable<IMediaPlayerEntityCore> to call this service for - ///Position to seek to. The format is platform dependent. + ///Target position in the currently playing media. The format is platform dependent. public static void MediaSeek(this IEnumerable target, double seekPosition) { target.CallService("media_seek", new MediaPlayerMediaSeekParameters { SeekPosition = seekPosition }); } - ///Send the media player the stop command. + ///Stops playing. public static void MediaStop(this IMediaPlayerEntityCore target) { target.CallService("media_stop"); } - ///Send the media player the stop command. + ///Stops playing. public static void MediaStop(this IEnumerable target) { target.CallService("media_stop"); } - ///Send the media player the command for playing media. + ///Starts playing specified media. public static void PlayMedia(this IMediaPlayerEntityCore target, MediaPlayerPlayMediaParameters data) { target.CallService("play_media", data); } - ///Send the media player the command for playing media. + ///Starts playing specified media. public static void PlayMedia(this IEnumerable target, MediaPlayerPlayMediaParameters data) { target.CallService("play_media", data); } - ///Send the media player the command for playing media. + ///Starts playing specified media. ///The IMediaPlayerEntityCore to call this service for ///The ID of the content to play. Platform dependent. eg: https://home-assistant.io/images/cast/splash.png - ///The type of the content to play. Like image, music, tvshow, video, episode, channel or playlist. eg: music + ///The type of the content to play. Such as image, music, tv show, video, episode, channel, or playlist. eg: music ///If the content should be played now or be added to the queue. ///If the media should be played as an announcement. eg: true public static void PlayMedia(this IMediaPlayerEntityCore target, string mediaContentId, string mediaContentType, object? enqueue = null, bool? announce = null) @@ -6162,10 +5923,10 @@ public static void PlayMedia(this IMediaPlayerEntityCore target, string mediaCon target.CallService("play_media", new MediaPlayerPlayMediaParameters { MediaContentId = mediaContentId, MediaContentType = mediaContentType, Enqueue = enqueue, Announce = announce }); } - ///Send the media player the command for playing media. + ///Starts playing specified media. ///The IEnumerable<IMediaPlayerEntityCore> to call this service for ///The ID of the content to play. Platform dependent. eg: https://home-assistant.io/images/cast/splash.png - ///The type of the content to play. Like image, music, tvshow, video, episode, channel or playlist. eg: music + ///The type of the content to play. Such as image, music, tv show, video, episode, channel, or playlist. eg: music ///If the content should be played now or be added to the queue. ///If the media should be played as an announcement. eg: true public static void PlayMedia(this IEnumerable target, string mediaContentId, string mediaContentType, object? enqueue = null, bool? announce = null) @@ -6173,19 +5934,19 @@ public static void PlayMedia(this IEnumerable target, st target.CallService("play_media", new MediaPlayerPlayMediaParameters { MediaContentId = mediaContentId, MediaContentType = mediaContentType, Enqueue = enqueue, Announce = announce }); } - ///Set repeat mode + ///Playback mode that plays the media in a loop. public static void RepeatSet(this IMediaPlayerEntityCore target, MediaPlayerRepeatSetParameters data) { target.CallService("repeat_set", data); } - ///Set repeat mode + ///Playback mode that plays the media in a loop. public static void RepeatSet(this IEnumerable target, MediaPlayerRepeatSetParameters data) { target.CallService("repeat_set", data); } - ///Set repeat mode + ///Playback mode that plays the media in a loop. ///The IMediaPlayerEntityCore to call this service for ///Repeat mode to set. public static void RepeatSet(this IMediaPlayerEntityCore target, object repeat) @@ -6193,7 +5954,7 @@ public static void RepeatSet(this IMediaPlayerEntityCore target, object repeat) target.CallService("repeat_set", new MediaPlayerRepeatSetParameters { Repeat = repeat }); } - ///Set repeat mode + ///Playback mode that plays the media in a loop. ///The IEnumerable<IMediaPlayerEntityCore> to call this service for ///Repeat mode to set. public static void RepeatSet(this IEnumerable target, object repeat) @@ -6201,19 +5962,19 @@ public static void RepeatSet(this IEnumerable target, ob target.CallService("repeat_set", new MediaPlayerRepeatSetParameters { Repeat = repeat }); } - ///Send the media player the command to change sound mode. + ///Selects a specific sound mode. public static void SelectSoundMode(this IMediaPlayerEntityCore target, MediaPlayerSelectSoundModeParameters data) { target.CallService("select_sound_mode", data); } - ///Send the media player the command to change sound mode. + ///Selects a specific sound mode. public static void SelectSoundMode(this IEnumerable target, MediaPlayerSelectSoundModeParameters data) { target.CallService("select_sound_mode", data); } - ///Send the media player the command to change sound mode. + ///Selects a specific sound mode. ///The IMediaPlayerEntityCore to call this service for ///Name of the sound mode to switch to. eg: Music public static void SelectSoundMode(this IMediaPlayerEntityCore target, string? soundMode = null) @@ -6221,7 +5982,7 @@ public static void SelectSoundMode(this IMediaPlayerEntityCore target, string? s target.CallService("select_sound_mode", new MediaPlayerSelectSoundModeParameters { SoundMode = soundMode }); } - ///Send the media player the command to change sound mode. + ///Selects a specific sound mode. ///The IEnumerable<IMediaPlayerEntityCore> to call this service for ///Name of the sound mode to switch to. eg: Music public static void SelectSoundMode(this IEnumerable target, string? soundMode = null) @@ -6229,19 +5990,19 @@ public static void SelectSoundMode(this IEnumerable targ target.CallService("select_sound_mode", new MediaPlayerSelectSoundModeParameters { SoundMode = soundMode }); } - ///Send the media player the command to change input source. + ///Sends the media player the command to change input source. public static void SelectSource(this IMediaPlayerEntityCore target, MediaPlayerSelectSourceParameters data) { target.CallService("select_source", data); } - ///Send the media player the command to change input source. + ///Sends the media player the command to change input source. public static void SelectSource(this IEnumerable target, MediaPlayerSelectSourceParameters data) { target.CallService("select_source", data); } - ///Send the media player the command to change input source. + ///Sends the media player the command to change input source. ///The IMediaPlayerEntityCore to call this service for ///Name of the source to switch to. Platform dependent. eg: video1 public static void SelectSource(this IMediaPlayerEntityCore target, string source) @@ -6249,7 +6010,7 @@ public static void SelectSource(this IMediaPlayerEntityCore target, string sourc target.CallService("select_source", new MediaPlayerSelectSourceParameters { Source = source }); } - ///Send the media player the command to change input source. + ///Sends the media player the command to change input source. ///The IEnumerable<IMediaPlayerEntityCore> to call this service for ///Name of the source to switch to. Platform dependent. eg: video1 public static void SelectSource(this IEnumerable target, string source) @@ -6257,157 +6018,157 @@ public static void SelectSource(this IEnumerable target, target.CallService("select_source", new MediaPlayerSelectSourceParameters { Source = source }); } - ///Set shuffling state. + ///Playback mode that selects the media in randomized order. public static void ShuffleSet(this IMediaPlayerEntityCore target, MediaPlayerShuffleSetParameters data) { target.CallService("shuffle_set", data); } - ///Set shuffling state. + ///Playback mode that selects the media in randomized order. public static void ShuffleSet(this IEnumerable target, MediaPlayerShuffleSetParameters data) { target.CallService("shuffle_set", data); } - ///Set shuffling state. + ///Playback mode that selects the media in randomized order. ///The IMediaPlayerEntityCore to call this service for - ///True/false for enabling/disabling shuffle. + ///Whether or not shuffle mode is enabled. public static void ShuffleSet(this IMediaPlayerEntityCore target, bool shuffle) { target.CallService("shuffle_set", new MediaPlayerShuffleSetParameters { Shuffle = shuffle }); } - ///Set shuffling state. + ///Playback mode that selects the media in randomized order. ///The IEnumerable<IMediaPlayerEntityCore> to call this service for - ///True/false for enabling/disabling shuffle. + ///Whether or not shuffle mode is enabled. public static void ShuffleSet(this IEnumerable target, bool shuffle) { target.CallService("shuffle_set", new MediaPlayerShuffleSetParameters { Shuffle = shuffle }); } - ///Toggles a media player power state. + ///Toggles a media player on/off. public static void Toggle(this IMediaPlayerEntityCore target) { target.CallService("toggle"); } - ///Toggles a media player power state. + ///Toggles a media player on/off. public static void Toggle(this IEnumerable target) { target.CallService("toggle"); } - ///Turn a media player power off. + ///Turns off the power of the media player. public static void TurnOff(this IMediaPlayerEntityCore target) { target.CallService("turn_off"); } - ///Turn a media player power off. + ///Turns off the power of the media player. public static void TurnOff(this IEnumerable target) { target.CallService("turn_off"); } - ///Turn a media player power on. + ///Turns on the power of the media player. public static void TurnOn(this IMediaPlayerEntityCore target) { target.CallService("turn_on"); } - ///Turn a media player power on. + ///Turns on the power of the media player. public static void TurnOn(this IEnumerable target) { target.CallService("turn_on"); } - ///Unjoin the player from a group. Only works on platforms with support for player groups. + ///Removes the player from a group. Only works on platforms which support player groups. public static void Unjoin(this IMediaPlayerEntityCore target) { target.CallService("unjoin"); } - ///Unjoin the player from a group. Only works on platforms with support for player groups. + ///Removes the player from a group. Only works on platforms which support player groups. public static void Unjoin(this IEnumerable target) { target.CallService("unjoin"); } - ///Turn a media player volume down. + ///Turns down the volume. public static void VolumeDown(this IMediaPlayerEntityCore target) { target.CallService("volume_down"); } - ///Turn a media player volume down. + ///Turns down the volume. public static void VolumeDown(this IEnumerable target) { target.CallService("volume_down"); } - ///Mute a media player's volume. + ///Mutes or unmutes the media player. public static void VolumeMute(this IMediaPlayerEntityCore target, MediaPlayerVolumeMuteParameters data) { target.CallService("volume_mute", data); } - ///Mute a media player's volume. + ///Mutes or unmutes the media player. public static void VolumeMute(this IEnumerable target, MediaPlayerVolumeMuteParameters data) { target.CallService("volume_mute", data); } - ///Mute a media player's volume. + ///Mutes or unmutes the media player. ///The IMediaPlayerEntityCore to call this service for - ///True/false for mute/unmute. + ///Defines whether or not it is muted. public static void VolumeMute(this IMediaPlayerEntityCore target, bool isVolumeMuted) { target.CallService("volume_mute", new MediaPlayerVolumeMuteParameters { IsVolumeMuted = isVolumeMuted }); } - ///Mute a media player's volume. + ///Mutes or unmutes the media player. ///The IEnumerable<IMediaPlayerEntityCore> to call this service for - ///True/false for mute/unmute. + ///Defines whether or not it is muted. public static void VolumeMute(this IEnumerable target, bool isVolumeMuted) { target.CallService("volume_mute", new MediaPlayerVolumeMuteParameters { IsVolumeMuted = isVolumeMuted }); } - ///Set a media player's volume level. + ///Sets the volume level. public static void VolumeSet(this IMediaPlayerEntityCore target, MediaPlayerVolumeSetParameters data) { target.CallService("volume_set", data); } - ///Set a media player's volume level. + ///Sets the volume level. public static void VolumeSet(this IEnumerable target, MediaPlayerVolumeSetParameters data) { target.CallService("volume_set", data); } - ///Set a media player's volume level. + ///Sets the volume level. ///The IMediaPlayerEntityCore to call this service for - ///Volume level to set as float. + ///The volume. 0 is inaudible, 1 is the maximum volume. public static void VolumeSet(this IMediaPlayerEntityCore target, double volumeLevel) { target.CallService("volume_set", new MediaPlayerVolumeSetParameters { VolumeLevel = volumeLevel }); } - ///Set a media player's volume level. + ///Sets the volume level. ///The IEnumerable<IMediaPlayerEntityCore> to call this service for - ///Volume level to set as float. + ///The volume. 0 is inaudible, 1 is the maximum volume. public static void VolumeSet(this IEnumerable target, double volumeLevel) { target.CallService("volume_set", new MediaPlayerVolumeSetParameters { VolumeLevel = volumeLevel }); } - ///Turn a media player volume up. + ///Turns up the volume. public static void VolumeUp(this IMediaPlayerEntityCore target) { target.CallService("volume_up"); } - ///Turn a media player volume up. + ///Turns up the volume. public static void VolumeUp(this IEnumerable target) { target.CallService("volume_up"); @@ -6416,29 +6177,41 @@ public static void VolumeUp(this IEnumerable target) public static class SceneEntityExtensionMethods { - ///Activate a scene. + ///Deletes a dynamically created scene. + public static void Delete(this ISceneEntityCore target) + { + target.CallService("delete"); + } + + ///Deletes a dynamically created scene. + public static void Delete(this IEnumerable target) + { + target.CallService("delete"); + } + + ///Activates a scene. public static void TurnOn(this ISceneEntityCore target, SceneTurnOnParameters data) { target.CallService("turn_on", data); } - ///Activate a scene. + ///Activates a scene. public static void TurnOn(this IEnumerable target, SceneTurnOnParameters data) { target.CallService("turn_on", data); } - ///Activate a scene. + ///Activates a scene. ///The ISceneEntityCore to call this service for - ///Transition duration it takes to bring devices to the state defined in the scene. + ///Time it takes the devices to transition into the states defined in the scene. public static void TurnOn(this ISceneEntityCore target, long? transition = null) { target.CallService("turn_on", new SceneTurnOnParameters { Transition = transition }); } - ///Activate a scene. + ///Activates a scene. ///The IEnumerable<ISceneEntityCore> to call this service for - ///Transition duration it takes to bring devices to the state defined in the scene. + ///Time it takes the devices to transition into the states defined in the scene. public static void TurnOn(this IEnumerable target, long? transition = null) { target.CallService("turn_on", new SceneTurnOnParameters { Transition = transition }); @@ -6447,37 +6220,37 @@ public static void TurnOn(this IEnumerable target, long? trans public static class SwitchEntityExtensionMethods { - ///Toggles a switch state + ///Toggles a switch on/off. public static void Toggle(this ISwitchEntityCore target) { target.CallService("toggle"); } - ///Toggles a switch state + ///Toggles a switch on/off. public static void Toggle(this IEnumerable target) { target.CallService("toggle"); } - ///Turn a switch off + ///Turns a switch off. public static void TurnOff(this ISwitchEntityCore target) { target.CallService("turn_off"); } - ///Turn a switch off + ///Turns a switch off. public static void TurnOff(this IEnumerable target) { target.CallService("turn_off"); } - ///Turn a switch on + ///Turns a switch on. public static void TurnOn(this ISwitchEntityCore target) { target.CallService("turn_on"); } - ///Turn a switch on + ///Turns a switch on. public static void TurnOn(this IEnumerable target) { target.CallService("turn_on"); @@ -6486,37 +6259,37 @@ public static void TurnOn(this IEnumerable target) public static class TtsEntityExtensionMethods { - ///Speak something using text-to-speech on a media player. + ///Speaks something using text-to-speech on a media player. public static void Speak(this TtsEntity target, TtsSpeakParameters data) { target.CallService("speak", data); } - ///Speak something using text-to-speech on a media player. + ///Speaks something using text-to-speech on a media player. public static void Speak(this IEnumerable target, TtsSpeakParameters data) { target.CallService("speak", data); } - ///Speak something using text-to-speech on a media player. + ///Speaks something using text-to-speech on a media player. ///The TtsEntity to call this service for - ///Name(s) of media player entities. - ///Text to speak on devices. eg: My name is hanna - ///Control file cache of this message. + ///Media players to play the message. + ///The text you want to convert into speech so that you can listen to it on your device. eg: My name is hanna + ///Stores this message locally so that when the text is requested again, the output can be produced more quickly. ///Language to use for speech generation. eg: ru - ///A dictionary containing platform-specific options. Optional depending on the platform. eg: platform specific + ///A dictionary containing integration-specific options. eg: platform specific public static void Speak(this TtsEntity target, string mediaPlayerEntityId, string message, bool? cache = null, string? language = null, object? options = null) { target.CallService("speak", new TtsSpeakParameters { MediaPlayerEntityId = mediaPlayerEntityId, Message = message, Cache = cache, Language = language, Options = options }); } - ///Speak something using text-to-speech on a media player. + ///Speaks something using text-to-speech on a media player. ///The IEnumerable<TtsEntity> to call this service for - ///Name(s) of media player entities. - ///Text to speak on devices. eg: My name is hanna - ///Control file cache of this message. + ///Media players to play the message. + ///The text you want to convert into speech so that you can listen to it on your device. eg: My name is hanna + ///Stores this message locally so that when the text is requested again, the output can be produced more quickly. ///Language to use for speech generation. eg: ru - ///A dictionary containing platform-specific options. Optional depending on the platform. eg: platform specific + ///A dictionary containing integration-specific options. eg: platform specific public static void Speak(this IEnumerable target, string mediaPlayerEntityId, string message, bool? cache = null, string? language = null, object? options = null) { target.CallService("speak", new TtsSpeakParameters { MediaPlayerEntityId = mediaPlayerEntityId, Message = message, Cache = cache, Language = language, Options = options }); diff --git a/NetDaemonCodegen/EntityMetaData.json b/NetDaemonCodegen/EntityMetaData.json index 200f09c..c4e4802 100644 --- a/NetDaemonCodegen/EntityMetaData.json +++ b/NetDaemonCodegen/EntityMetaData.json @@ -4,30 +4,15 @@ "domain": "binary_sensor", "entities": [ { - "id": "binary_sensor.basement_steps_sensor_motion", - "friendlyName": "Basement Steps Sensor Motion", - "cSharpName": "BasementStepsSensorMotion" - }, - { - "id": "binary_sensor.deck_door_opening", - "friendlyName": "Deck Door Opening", - "cSharpName": "DeckDoorOpening" + "id": "binary_sensor.closet_sensor_motion", + "friendlyName": "Closet Sensor Motion", + "cSharpName": "ClosetSensorMotion" }, { "id": "binary_sensor.dteske_pixel_high_accuracy_mode", "friendlyName": "dteske-pixel High accuracy mode", "cSharpName": "DteskePixelHighAccuracyMode" }, - { - "id": "binary_sensor.garage_door_myq_gateway", - "friendlyName": "Garage Door MyQ Gateway", - "cSharpName": "GarageDoorMyqGateway" - }, - { - "id": "binary_sensor.garage_door_myq_gateway_2", - "friendlyName": "Garage Door MyQ Gateway", - "cSharpName": "GarageDoorMyqGateway2" - }, { "id": "binary_sensor.hallway_sensor_motion", "friendlyName": "Hallway Sensor Motion", @@ -39,14 +24,14 @@ "cSharpName": "LaundryRoomSensorMotion" }, { - "id": "binary_sensor.master_closet_motion", - "friendlyName": "Master Closet Sensor Motion", - "cSharpName": "MasterClosetMotion" + "id": "binary_sensor.motion_sensor_2_motion", + "friendlyName": "Motion Sensor 2 Motion", + "cSharpName": "MotionSensor2Motion" }, { - "id": "binary_sensor.office_sensor_motion", - "friendlyName": "Office Sensor Motion", - "cSharpName": "OfficeSensorMotion" + "id": "binary_sensor.office_motion_sensor", + "friendlyName": "Office Motion Sensor Motion", + "cSharpName": "OfficeMotionSensor" }, { "id": "binary_sensor.remote_ui", @@ -86,84 +71,49 @@ "domain": "button", "entities": [ { - "id": "button.basement_steps_sensor_identify", - "friendlyName": "Basement Steps Sensor Identify", - "cSharpName": "BasementStepsSensorIdentify" - }, - { - "id": "button.basement_switch_identify", - "friendlyName": "Basement Switch Identify", - "cSharpName": "BasementSwitchIdentify" - }, - { - "id": "button.deck_door_identify", - "friendlyName": "Deck Door Identify", - "cSharpName": "DeckDoorIdentify" - }, - { - "id": "button.dining_room_switch_identify", - "friendlyName": "Dining Room Switch Identify", - "cSharpName": "DiningRoomSwitchIdentify" - }, - { - "id": "button.driveway_switch_identify", - "friendlyName": "Driveway Switch Identify", - "cSharpName": "DrivewaySwitchIdentify" - }, - { - "id": "button.entryway_switch_identify", - "friendlyName": "Entryway Switch Identify", - "cSharpName": "EntrywaySwitchIdentify" - }, - { - "id": "button.hallway_switch_identify", - "friendlyName": "Hallway Switch Identify", - "cSharpName": "HallwaySwitchIdentify" - }, - { - "id": "button.identify_elements_ac4b", - "friendlyName": "Identify Elements AC4B", - "cSharpName": "IdentifyElementsAc4b" + "id": "button.living_room_button_identify", + "friendlyName": "Living Room Button Identify", + "cSharpName": "LivingRoomButtonIdentify" }, { - "id": "button.identify_shapes_7b48", - "friendlyName": "Identify Shapes 7B48", - "cSharpName": "IdentifyShapes7b48" + "id": "button.motion_sensor_2_identify", + "friendlyName": "Motion Sensor 2 Identify", + "cSharpName": "MotionSensor2Identify" }, { - "id": "button.living_room_button_identify", - "friendlyName": "Living Room Button Identify", - "cSharpName": "LivingRoomButtonIdentify" + "id": "button.office_motion_sensor_identify", + "friendlyName": "Office Motion Sensor Identify", + "cSharpName": "OfficeMotionSensorIdentify" }, { - "id": "button.living_room_square_lamp_identify", - "friendlyName": "Living Room Square Lamp Identify", - "cSharpName": "LivingRoomSquareLampIdentify" + "id": "button.outlet_1_identify", + "friendlyName": "Outlet 1 Identify", + "cSharpName": "Outlet1Identify" }, { - "id": "button.living_room_switch_identify", - "friendlyName": "Living Room Switch Identify", - "cSharpName": "LivingRoomSwitchIdentify" + "id": "button.outlet_2_identify", + "friendlyName": "Outlet 2 Identify", + "cSharpName": "Outlet2Identify" }, { - "id": "button.living_room_table_identify", - "friendlyName": "Living Room Table Identify", - "cSharpName": "LivingRoomTableIdentify" + "id": "button.outlet_3_identify", + "friendlyName": "Outlet 3 Identify", + "cSharpName": "Outlet3Identify" }, { - "id": "button.master_bedroom_button_identify", - "friendlyName": "Master Bedroom Button Identify", - "cSharpName": "MasterBedroomButtonIdentify" + "id": "button.outlet_4_identify", + "friendlyName": "Outlet 4 Identify", + "cSharpName": "Outlet4Identify" }, { - "id": "button.office_button_identify", - "friendlyName": "Office Button Identify", - "cSharpName": "OfficeButtonIdentify" + "id": "button.outlet_5_identify", + "friendlyName": "Outlet 5 Identify", + "cSharpName": "Outlet5Identify" }, { - "id": "button.office_sensor_identify", - "friendlyName": "Office Sensor Identify", - "cSharpName": "OfficeSensorIdentify" + "id": "button.outlet_6_identify", + "friendlyName": "Outlet 6 Identify", + "cSharpName": "Outlet6Identify" } ], "attributes": [ @@ -276,36 +226,6 @@ { "domain": "input_boolean", "entities": [ - { - "id": "input_boolean.netdaemon_automations_hallway_automation", - "friendlyName": "netdaemon_automations_hallway_automation", - "cSharpName": "NetdaemonAutomationsHallwayAutomation" - }, - { - "id": "input_boolean.netdaemon_automations_home_schedule", - "friendlyName": "netdaemon_automations_home_schedule", - "cSharpName": "NetdaemonAutomationsHomeSchedule" - }, - { - "id": "input_boolean.netdaemon_automations_laundry_room_automation", - "friendlyName": "netdaemon_automations_laundry_room_automation", - "cSharpName": "NetdaemonAutomationsLaundryRoomAutomation" - }, - { - "id": "input_boolean.netdaemon_automations_living_room_automation", - "friendlyName": "netdaemon_automations_living_room_automation", - "cSharpName": "NetdaemonAutomationsLivingRoomAutomation" - }, - { - "id": "input_boolean.netdaemon_automations_master_bedroom_automation", - "friendlyName": "netdaemon_automations_master_bedroom_automation", - "cSharpName": "NetdaemonAutomationsMasterBedroomAutomation" - }, - { - "id": "input_boolean.netdaemon_automations_office_automation", - "friendlyName": "netdaemon_automations_office_automation", - "cSharpName": "NetdaemonAutomationsOfficeAutomation" - }, { "id": "input_boolean.office_motion_allowed", "friendlyName": "Office Motion Allowed", @@ -334,144 +254,19 @@ "domain": "light", "entities": [ { - "id": "light.basement_switch_light", - "friendlyName": "Basement Switch Light", - "cSharpName": "BasementSwitchLight" - }, - { - "id": "light.dining_room_switch_light", - "friendlyName": "Dining Room Switch Light", - "cSharpName": "DiningRoomSwitchLight" - }, - { - "id": "light.driveway_switch_light", - "friendlyName": "Driveway Switch Light", - "cSharpName": "DrivewaySwitchLight" - }, - { - "id": "light.elements_ac4b", - "friendlyName": "Elements AC4B", - "cSharpName": "ElementsAc4b" - }, - { - "id": "light.entryway_switch_light", - "friendlyName": "Entryway Switch Light", - "cSharpName": "EntrywaySwitchLight" - }, - { - "id": "light.hallway_1", - "friendlyName": "Hallway 1", - "cSharpName": "Hallway1" - }, - { - "id": "light.hallway_2", - "friendlyName": "Hallway 2", - "cSharpName": "Hallway2" - }, - { - "id": "light.hallway_lights", - "friendlyName": "Hallway Lights", - "cSharpName": "HallwayLights" - }, - { - "id": "light.hallway_switch", - "friendlyName": "Hallway Switch Light", - "cSharpName": "HallwaySwitch" - }, - { - "id": "light.hue_filament_bulb_1", - "friendlyName": "Hue filament bulb 1", - "cSharpName": "HueFilamentBulb1" - }, - { - "id": "light.hue_filament_bulb_2", - "friendlyName": "Hue filament bulb 2", - "cSharpName": "HueFilamentBulb2" - }, - { - "id": "light.hue_filament_bulb_3", - "friendlyName": "Hue filament bulb 3", - "cSharpName": "HueFilamentBulb3" - }, - { - "id": "light.kitchen_overhead", - "friendlyName": "Kitchen Overhead", - "cSharpName": "KitchenOverhead" - }, - { - "id": "light.kitchen_sink", - "friendlyName": "Kitchen Sink", - "cSharpName": "KitchenSink" - }, - { - "id": "light.kitchen_tall_1", - "friendlyName": "Kitchen Tall 1", - "cSharpName": "KitchenTall1" - }, - { - "id": "light.kitchen_tall_2", - "friendlyName": "Kitchen Tall 2", - "cSharpName": "KitchenTall2" - }, - { - "id": "light.kitchen_tall_3", - "friendlyName": "Kitchen Tall 3", - "cSharpName": "KitchenTall3" - }, - { - "id": "light.lamp", - "friendlyName": "Lamp", - "cSharpName": "Lamp" - }, - { - "id": "light.laundry_room_light", - "friendlyName": "Laundry Room Light", - "cSharpName": "LaundryRoomLight" - }, - { - "id": "light.living_room_lamp", - "friendlyName": "Living Room Lamp", - "cSharpName": "LivingRoomLamp" - }, - { - "id": "light.living_room_switch_light", - "friendlyName": "Living Room Switch Light", - "cSharpName": "LivingRoomSwitchLight" - }, - { - "id": "light.master_closet_1", - "friendlyName": "Master Closet 1", - "cSharpName": "MasterCloset1" - }, - { - "id": "light.master_closet_2", - "friendlyName": "Master Closet 2", - "cSharpName": "MasterCloset2" + "id": "light.hue_bloom", + "friendlyName": "Hue Bloom", + "cSharpName": "HueBloom" }, { - "id": "light.nightstand", - "friendlyName": "Nightstand", - "cSharpName": "Nightstand" + "id": "light.hue_bloom_2", + "friendlyName": "Hue Bloom 2", + "cSharpName": "HueBloom2" }, { - "id": "light.office_desk_lamp_1", - "friendlyName": "Office Desk Lamp 1", - "cSharpName": "OfficeDeskLamp1" - }, - { - "id": "light.office_desk_lamp_2", - "friendlyName": "Office Desk Lamp 2", - "cSharpName": "OfficeDeskLamp2" - }, - { - "id": "light.office_desk_lamps", - "friendlyName": "Office Desk Lamps", - "cSharpName": "OfficeDeskLamps" - }, - { - "id": "light.shapes_7b48", - "friendlyName": "Shapes 7B48", - "cSharpName": "Shapes7b48" + "id": "light.office_lights", + "friendlyName": "Office Lights", + "cSharpName": "OfficeLights" } ], "attributes": [ @@ -871,31 +666,6 @@ "friendlyName": "dteske-pixel Volume level alarm", "cSharpName": "DteskePixelVolumeLevelAlarm" }, - { - "id": "sensor.google_wifi_current_version", - "friendlyName": "google_wifi_current_version", - "cSharpName": "GoogleWifiCurrentVersion" - }, - { - "id": "sensor.google_wifi_last_restart", - "friendlyName": "google_wifi_last_restart", - "cSharpName": "GoogleWifiLastRestart" - }, - { - "id": "sensor.google_wifi_local_ip", - "friendlyName": "google_wifi_local_ip", - "cSharpName": "GoogleWifiLocalIp" - }, - { - "id": "sensor.google_wifi_new_version", - "friendlyName": "google_wifi_new_version", - "cSharpName": "GoogleWifiNewVersion" - }, - { - "id": "sensor.google_wifi_status", - "friendlyName": "google_wifi_status", - "cSharpName": "GoogleWifiStatus" - }, { "id": "sensor.sun_next_dawn", "friendlyName": "Sun Next dawn", @@ -965,20 +735,25 @@ "isNumeric": true, "entities": [ { - "id": "sensor.basement_steps_sensor_battery", - "friendlyName": "Basement Steps Sensor Battery", - "cSharpName": "BasementStepsSensorBattery" + "id": "sensor.closet_sensor_battery", + "friendlyName": "Closet Sensor Battery", + "cSharpName": "ClosetSensorBattery" + }, + { + "id": "sensor.closet_sensor_illuminance", + "friendlyName": "Closet Sensor Illuminance", + "cSharpName": "ClosetSensorIlluminance" + }, + { + "id": "sensor.closet_sensor_temperature", + "friendlyName": "Closet Sensor Temperature", + "cSharpName": "ClosetSensorTemperature" }, { "id": "sensor.cpu_speed", "friendlyName": "CPU Speed", "cSharpName": "CpuSpeed" }, - { - "id": "sensor.deck_door_battery", - "friendlyName": "Deck Door Battery", - "cSharpName": "DeckDoorBattery" - }, { "id": "sensor.dteske_pixel_battery_level", "friendlyName": "dteske-pixel Battery level", @@ -989,11 +764,6 @@ "friendlyName": "dteske-pixel High accuracy update interval", "cSharpName": "DteskePixelHighAccuracyUpdateInterval" }, - { - "id": "sensor.google_wifi_uptime", - "friendlyName": "google_wifi_uptime", - "cSharpName": "GoogleWifiUptime" - }, { "id": "sensor.hallway_sensor_battery", "friendlyName": "Hallway Sensor Battery", @@ -1040,34 +810,14 @@ "cSharpName": "LivingRoomButtonBattery" }, { - "id": "sensor.master_bedroom_button_battery", - "friendlyName": "Master Bedroom Button Battery", - "cSharpName": "MasterBedroomButtonBattery" - }, - { - "id": "sensor.master_closet_battery", - "friendlyName": "Master Closet Sensor Battery", - "cSharpName": "MasterClosetBattery" - }, - { - "id": "sensor.master_closet_illuminance", - "friendlyName": "Master Closet Sensor Illuminance", - "cSharpName": "MasterClosetIlluminance" - }, - { - "id": "sensor.master_closet_temperature", - "friendlyName": "Master Closet Sensor Temperature", - "cSharpName": "MasterClosetTemperature" - }, - { - "id": "sensor.office_button_battery", - "friendlyName": "Office Button Battery", - "cSharpName": "OfficeButtonBattery" + "id": "sensor.motion_sensor_2_battery", + "friendlyName": "Motion Sensor 2 Battery", + "cSharpName": "MotionSensor2Battery" }, { - "id": "sensor.office_sensor_battery", - "friendlyName": "Office Sensor Battery", - "cSharpName": "OfficeSensorBattery" + "id": "sensor.office_motion_sensor_battery", + "friendlyName": "Office Motion Sensor Battery", + "cSharpName": "OfficeMotionSensorBattery" } ], "attributes": [ @@ -1214,44 +964,64 @@ "domain": "switch", "entities": [ { - "id": "switch.hallway_sensor_illuminance", - "friendlyName": "Hallway Sensor Illuminance", - "cSharpName": "HallwaySensorIlluminance" + "id": "switch.closet_sensor_light_sensor_enabled", + "friendlyName": "Closet Sensor Light sensor enabled", + "cSharpName": "ClosetSensorLightSensorEnabled" }, { - "id": "switch.hallway_sensor_motion", - "friendlyName": "Hallway Sensor Motion", - "cSharpName": "HallwaySensorMotion" + "id": "switch.closet_sensor_motion_sensor_enabled", + "friendlyName": "Closet Sensor Motion sensor enabled", + "cSharpName": "ClosetSensorMotionSensorEnabled" }, { - "id": "switch.laundry_room_sensor_illuminance", - "friendlyName": "Laundry Room Sensor Illuminance", - "cSharpName": "LaundryRoomSensorIlluminance" + "id": "switch.hallway_sensor_light_sensor_enabled", + "friendlyName": "Hallway Sensor Light sensor enabled", + "cSharpName": "HallwaySensorLightSensorEnabled" }, { - "id": "switch.laundry_room_sensor_motion", - "friendlyName": "Laundry Room Sensor Motion", - "cSharpName": "LaundryRoomSensorMotion" + "id": "switch.hallway_sensor_motion_sensor_enabled", + "friendlyName": "Hallway Sensor Motion sensor enabled", + "cSharpName": "HallwaySensorMotionSensorEnabled" + }, + { + "id": "switch.laundry_room_sensor_light_sensor_enabled", + "friendlyName": "Laundry Room Sensor Light sensor enabled", + "cSharpName": "LaundryRoomSensorLightSensorEnabled" + }, + { + "id": "switch.laundry_room_sensor_motion_sensor_enabled", + "friendlyName": "Laundry Room Sensor Motion sensor enabled", + "cSharpName": "LaundryRoomSensorMotionSensorEnabled" + }, + { + "id": "switch.outlet_1", + "friendlyName": "Outlet 1 Switch", + "cSharpName": "Outlet1" + }, + { + "id": "switch.outlet_2", + "friendlyName": "Outlet 2 Switch", + "cSharpName": "Outlet2" }, { - "id": "switch.living_room_square_lamp_switch", - "friendlyName": "Living Room Square Lamp Switch", - "cSharpName": "LivingRoomSquareLampSwitch" + "id": "switch.outlet_3", + "friendlyName": "Outlet 3 Switch", + "cSharpName": "Outlet3" }, { - "id": "switch.living_room_table_switch", - "friendlyName": "Living Room Table Switch", - "cSharpName": "LivingRoomTableSwitch" + "id": "switch.outlet_4", + "friendlyName": "Outlet 4 Switch", + "cSharpName": "Outlet4" }, { - "id": "switch.master_closet_illuminance", - "friendlyName": "Master Closet Sensor Illuminance", - "cSharpName": "MasterClosetIlluminance" + "id": "switch.outlet_5", + "friendlyName": "Outlet 5 Switch", + "cSharpName": "Outlet5" }, { - "id": "switch.master_closet_motion", - "friendlyName": "Master Closet Sensor Motion", - "cSharpName": "MasterClosetMotion" + "id": "switch.outlet_6", + "friendlyName": "Outlet 6 Switch", + "cSharpName": "Outlet6" } ], "attributes": [ diff --git a/NetDaemonCodegen/ServicesMetaData.json b/NetDaemonCodegen/ServicesMetaData.json index 69dd276..3002508 100644 --- a/NetDaemonCodegen/ServicesMetaData.json +++ b/NetDaemonCodegen/ServicesMetaData.json @@ -1,8 +1,8 @@ { "homeassistant": { "save_persistent_states": { - "name": "Save Persistent States", - "description": "Save the persistent states (for entities derived from RestoreEntity) immediately. Maintain the normal periodic saving interval.", + "name": "Save persistent states", + "description": "Saves the persistent states immediately. Maintains the normal periodic saving interval.", "fields": {} }, "turn_off": { @@ -27,7 +27,7 @@ }, "toggle": { "name": "Generic toggle", - "description": "Generic service to toggle devices on/off under any domain", + "description": "Generic service to toggle devices on/off under any domain.", "fields": {}, "target": { "entity": [ @@ -37,22 +37,22 @@ }, "stop": { "name": "Stop", - "description": "Stop the Home Assistant service.", + "description": "Stops Home Assistant.", "fields": {} }, "restart": { "name": "Restart", - "description": "Restart the Home Assistant service.", + "description": "Restarts Home Assistant.", "fields": {} }, "check_config": { "name": "Check configuration", - "description": "Check the Home Assistant configuration files for errors. Errors will be displayed in the Home Assistant log.", + "description": "Checks the Home Assistant YAML-configuration files for errors. Errors will be shown in the Home Assistant logs.", "fields": {} }, "update_entity": { "name": "Update entity", - "description": "Force one or more entities to update its data", + "description": "Forces one or more entities to update its data.", "fields": {}, "target": { "entity": [ @@ -62,51 +62,73 @@ }, "reload_core_config": { "name": "Reload core configuration", - "description": "Reload the core configuration.", + "description": "Reloads the core configuration from the YAML-configuration.", "fields": {} }, "set_location": { "name": "Set location", - "description": "Update the Home Assistant location.", + "description": "Updates the Home Assistant location.", "fields": { "latitude": { - "name": "Latitude", - "description": "Latitude of your location.", "required": true, "example": 32.87336, "selector": { - "text": null - } + "number": { + "mode": "box", + "min": -90, + "max": 90, + "step": "any" + } + }, + "name": "Latitude", + "description": "Latitude of your location." }, "longitude": { - "name": "Longitude", - "description": "Longitude of your location.", "required": true, "example": 117.22743, "selector": { - "text": null - } + "number": { + "mode": "box", + "min": -180, + "max": 180, + "step": "any" + } + }, + "name": "Longitude", + "description": "Longitude of your location." + }, + "elevation": { + "required": false, + "example": 120, + "selector": { + "number": { + "mode": "box", + "step": "any" + } + }, + "name": "Elevation", + "description": "Elevation of your location." } } }, "reload_custom_templates": { "name": "Reload custom Jinja2 templates", - "description": "Reload Jinja2 templates found in the custom_templates folder in your config. New values will be applied on the next render of the template.", + "description": "Reloads Jinja2 templates found in the \u0060custom_templates\u0060 folder in your config. New values will be applied on the next render of the template.", "fields": {} }, "reload_config_entry": { "name": "Reload config entry", - "description": "Reload a config entry that matches a target.", + "description": "Reloads the specified config entry.", "fields": { "entry_id": { "advanced": true, - "name": "Config entry id", - "description": "A configuration entry id", "required": false, "example": "8955375327824e14ba89e4b29cc3ec9a", "selector": { "text": null - } + }, + "name": "Config entry ID", + "description": "The configuration entry ID of the entry to be reloaded." } }, "target": { @@ -119,68 +141,68 @@ } }, "reload_all": { - "name": "", - "description": "", + "name": "Reload all", + "description": "Reload all YAML configuration that can be reloaded without restarting Home Assistant.", "fields": {} } }, "persistent_notification": { "create": { "name": "Create", - "description": "Show a notification in the frontend.", + "description": "Shows a notification on the **Notifications** panel.", "fields": { "message": { - "name": "Message", - "description": "Message body of the notification.", "required": true, "example": "Please check your configuration.yaml.", "selector": { "text": null - } + }, + "name": "Message", + "description": "Message body of the notification." }, "title": { - "name": "Title", - "description": "Optional title for your notification.", "example": "Test notification", "selector": { "text": null - } + }, + "name": "Title", + "description": "Optional title of the notification." }, "notification_id": { - "name": "Notification ID", - "description": "Target ID of the notification, will replace a notification with the same ID.", "example": 1234, "selector": { "text": null - } + }, + "name": "Notification ID", + "description": "ID of the notification. This new notification will overwrite an existing notification with the same ID." } } }, "dismiss": { "name": "Dismiss", - "description": "Remove a notification from the frontend.", + "description": "Removes a notification from the **Notifications** panel.", "fields": { "notification_id": { - "name": "Notification ID", - "description": "Target ID of the notification, which should be removed.", "required": true, "example": 1234, "selector": { "text": null - } + }, + "name": "Notification ID", + "description": "ID of the notification to be removed." } } }, "dismiss_all": { - "name": "Dismiss All", - "description": "Remove all notifications.", + "name": "Dismiss all", + "description": "Removes all notifications from the **Notifications** panel.", "fields": {} } }, "system_log": { "clear": { "name": "Clear all", - "description": "Clear all log entries.", + "description": "Clears all log entries.", "fields": {} }, "write": { @@ -188,52 +210,38 @@ "description": "Write log entry.", "fields": { "message": { - "name": "Message", - "description": "Message to log.", "required": true, "example": "Something went wrong", "selector": { "text": null - } + }, + "name": "Message", + "description": "Message to log." }, "level": { - "name": "Level", - "description": "Log level.", "default": "error", "selector": { "select": { "options": [ - { - "label": "Debug", - "value": "debug" - }, - { - "label": "Info", - "value": "info" - }, - { - "label": "Warning", - "value": "warning" - }, - { - "label": "Error", - "value": "error" - }, - { - "label": "Critical", - "value": "critical" - } - ] + "debug", + "info", + "warning", + "error", + "critical" + ], + "translation_key": "level" } - } + }, + "name": "Level", + "description": "Log level." }, "logger": { - "name": "Logger", - "description": "Logger name under which to log the message. Defaults to \u0027system_log.external\u0027.", "example": "mycomponent.myplatform", "selector": { "text": null - } + }, + "name": "Logger", + "description": "Logger name under which to log the message. Defaults to \u0060system_log.external\u0060." } } } @@ -241,159 +249,137 @@ "logger": { "set_default_level": { "name": "Set default level", - "description": "Set the default log level for integrations.", + "description": "Sets the default log level for integrations.", "fields": { "level": { - "name": "Level", - "description": "Default severity level for all integrations.", "selector": { "select": { "options": [ - { - "label": "Debug", - "value": "debug" - }, - { - "label": "Info", - "value": "info" - }, - { - "label": "Warning", - "value": "warning" - }, - { - "label": "Error", - "value": "error" - }, - { - "label": "Fatal", - "value": "fatal" - }, - { - "label": "Critical", - "value": "critical" - } - ] + "debug", + "info", + "warning", + "error", + "fatal", + "critical" + ], + "translation_key": "level" } - } + }, + "name": "Level", + "description": "Default severity level for all integrations." } } }, "set_level": { "name": "Set level", - "description": "Set log level for integrations.", + "description": "Sets the log level for one or more integrations.", "fields": {} } }, "person": { "reload": { "name": "Reload", - "description": "Reload the person configuration.", + "description": "Reloads persons from the YAML-configuration.", "fields": {} } }, "frontend": { "set_theme": { - "name": "Set theme", - "description": "Set a theme unless the client selected per-device theme.", + "name": "Set the default theme", + "description": "Sets the default theme Home Assistant uses. Can be overridden by a user.", "fields": { "name": { - "name": "Theme", - "description": "Name of a predefined theme", "required": true, "example": "default", "selector": { - "theme": null - } + "theme": { + "include_default": true + } + }, + "name": "Theme", + "description": "Name of a theme." }, "mode": { - "name": "Mode", - "description": "The mode the theme is for.", "default": "light", "selector": { "select": { "options": [ - { - "label": "Dark", - "value": "dark" - }, - { - "label": "Light", - "value": "light" - } - ] + "dark", + "light" + ], + "translation_key": "mode" } - } + }, + "name": "Mode", + "description": "Theme mode." } } }, "reload_themes": { "name": "Reload themes", - "description": "Reload themes from YAML configuration.", + "description": "Reloads themes from the YAML-configuration.", "fields": {} } }, "recorder": { "purge": { "name": "Purge", - "description": "Start purge task - to clean up old data from your database.", + "description": "Starts purge task - to clean up old data from your database.", "fields": { "keep_days": { - "name": "Days to keep", - "description": "Number of history days to keep in database after purge.", "selector": { "number": { "min": 0, "max": 365, "unit_of_measurement": "days" } - } + }, + "name": "Days to keep", + "description": "Number of days to keep the data in the database. Starting today, counting backward. A value of \u00607\u0060 means that everything older than a week will be purged." }, "repack": { - "name": "Repack", - "description": "Attempt to save disk space by rewriting the entire database file.", "default": false, "selector": { "boolean": null - } + }, + "name": "Repack", + "description": "Attempt to save disk space by rewriting the entire database file." }, "apply_filter": { - "name": "Apply filter", - "description": "Apply entity_id and event_type filter in addition to time based purge.", "default": false, "selector": { "boolean": null - } + }, + "name": "Apply filter", + "description": "Applys \u0060entity_id\u0060 and \u0060event_type\u0060 filters in addition to time-based purge." } } }, "purge_entities": { - "name": "Purge Entities", - "description": "Start purge task to remove specific entities from your database.", + "name": "Purge entities", + "description": "Starts a purge task to remove the data related to specific entities from your database.", "fields": { "domains": { - "name": "Domains to remove", - "description": "List the domains that need to be removed from the recorder database.", "example": "sun", "required": false, "default": [], "selector": { "object": null - } + }, + "name": "Domains to remove", + "description": "List of domains for which the data needs to be removed from the recorder database." }, "entity_globs": { - "name": "Entity Globs to remove", - "description": "List the glob patterns to select entities for removal from the recorder database.", "example": "domain*.object_id*", "required": false, "default": [], "selector": { "object": null - } + }, + "name": "Entity globs to remove", + "description": "List of glob patterns used to select the entities for which the data is to be removed from the recorder database." }, "keep_days": { - "name": "Days to keep", - "description": "Number of history days to keep in database of matching rows. The default of 0 days will remove all matching rows.", "default": 0, "selector": { "number": { @@ -401,7 +387,9 @@ "max": 365, "unit_of_measurement": "days" } - } + }, + "name": "Days to keep", + "description": "Number of days to keep the data for rows matching the filter. Starting today, counting backward. A value of \u00607\u0060 means that everything older than a week will be purged. The default of 0 days will remove all matching rows immediately." } }, "target": { @@ -412,56 +400,56 @@ }, "enable": { "name": "Enable", - "description": "Start the recording of events and state changes", + "description": "Starts the recording of events and state changes.", "fields": {} }, "disable": { "name": "Disable", - "description": "Stop the recording of events and state changes", + "description": "Stops the recording of events and state changes.", "fields": {} } }, "cloud": { "remote_connect": { "name": "Remote connect", - "description": "Make instance UI available outside over NabuCasa cloud", + "description": "Makes the instance UI accessible from outside of the local network by using Home Assistant Cloud.", "fields": {} }, "remote_disconnect": { "name": "Remote disconnect", - "description": "Disconnect UI from NabuCasa cloud", + "description": "Disconnects the Home Assistant UI from the Home Assistant Cloud. You will no longer be able to access your Home Assistant instance from outside your local network.", "fields": {} } }, "conversation": { "process": { "name": "Process", - "description": "Launch a conversation from a transcribed text.", + "description": "Launches a conversation from a transcribed text.", "fields": { "text": { - "name": "Text", - "description": "Transcribed text", "example": "Turn all lights on", "required": true, "selector": { "text": null - } + }, + "name": "Text", + "description": "Transcribed text input." }, "language": { - "name": "Language", - "description": "Language of text. Defaults to server language", "example": "NL", "selector": { "text": null - } + }, + "name": "Language", + "description": "Language of text. Defaults to server language." }, "agent_id": { - "name": "Agent", - "description": "Assist engine to process your request", "example": "homeassistant", "selector": { "conversation_agent": null - } + }, + "name": "Agent", + "description": "Conversation agent to process your request. The conversation agent is the brains of your assistant. It processes the incoming text commands." } }, "response": { @@ -469,976 +457,828 @@ } }, "reload": { - "name": "", - "description": "", - "fields": {} + "name": "Reload", + "description": "Reloads the intent configuration.", + "fields": { + "language": { + "example": "NL", + "selector": { + "text": null + }, + "name": "Language", + "description": "Language to clear cached intents for. Defaults to server language." + }, + "agent_id": { + "example": "homeassistant", + "selector": { + "conversation_agent": null + }, + "name": "Agent", + "description": "Conversation agent to reload." + } + } } }, "logbook": { "log": { "name": "Log", - "description": "Create a custom entry in your logbook.", + "description": "Creates a custom entry in the logbook.", "fields": { "name": { - "name": "Name", - "description": "Custom name for an entity, can be referenced with entity_id.", "required": true, "example": "Kitchen", "selector": { "text": null - } + }, + "name": "Name", + "description": "Custom name for an entity, can be referenced using an \u0060entity_id\u0060." }, "message": { - "name": "Message", - "description": "Message of the custom logbook entry.", "required": true, "example": "is being used", "selector": { "text": null - } + }, + "name": "Message", + "description": "Message of the logbook entry." }, "entity_id": { - "name": "Entity ID", - "description": "Entity to reference in custom logbook entry.", "selector": { "entity": null - } + }, + "name": "Entity ID", + "description": "Entity to reference in the logbook entry." }, "domain": { - "name": "Domain", - "description": "Icon of domain to display in custom logbook entry.", "example": "light", "selector": { "text": null - } + }, + "name": "Domain", + "description": "Determines which icon is used in the logbook entry. The icon illustrates the integration domain related to this logbook entry." } } } }, - "zone": { + "group": { "reload": { "name": "Reload", - "description": "Reload the YAML-based zone configuration.", - "fields": {} - } - }, - "timer": { - "reload": { - "name": "", - "description": "", + "description": "Reloads group configuration, entities, and notify services from YAML-configuration.", "fields": {} }, - "start": { - "name": "Start", - "description": "Start a timer", + "set": { + "name": "Set", + "description": "Creates/Updates a user group.", "fields": { - "duration": { - "description": "Duration the timer requires to finish. [optional]", - "example": "00:01:00 or 60", + "object_id": { + "required": true, + "example": "test_group", "selector": { "text": null - } + }, + "name": "Object ID", + "description": "Object ID of this group. This object ID is used as part of the entity ID. Entity ID format: [domain].[object_id]." + }, + "name": { + "example": "My test group", + "selector": { + "text": null + }, + "name": "Name", + "description": "Name of the group." + }, + "icon": { + "example": "mdi:camera", + "selector": { + "icon": null + }, + "name": "Icon", + "description": "Name of the icon for the group." + }, + "entities": { + "example": "domain.entity_id1, domain.entity_id2", + "selector": { + "entity": { + "multiple": true + } + }, + "name": "Entities", + "description": "List of all members in the group. Cannot be used in combination with \u0060Add entities\u0060 or \u0060Remove entities\u0060." + }, + "add_entities": { + "example": "domain.entity_id1, domain.entity_id2", + "selector": { + "entity": { + "multiple": true + } + }, + "name": "Add entities", + "description": "List of members to be added to the group. Cannot be used in combination with \u0060Entities\u0060 or \u0060Remove entities\u0060." + }, + "remove_entities": { + "example": "domain.entity_id1, domain.entity_id2", + "selector": { + "entity": { + "multiple": true + } + }, + "name": "Remove entities", + "description": "List of members to be removed from a group. Cannot be used in combination with \u0060Entities\u0060 or \u0060Add entities\u0060." + }, + "all": { + "selector": { + "boolean": null + }, + "name": "All", + "description": "Enable this option if the group should only be used when all entities are in state \u0060on\u0060." } - }, + } + }, + "remove": { + "name": "Remove", + "description": "Removes a group.", + "fields": { + "object_id": { + "required": true, + "example": "test_group", + "selector": { + "object": null + }, + "name": "Object ID", + "description": "Object ID of this group. This object ID is used as part of the entity ID. Entity ID format: [domain].[object_id]." + } + } + } + }, + "input_select": { + "reload": { + "name": "Reload", + "description": "Reloads helpers from the YAML-configuration.", + "fields": {} + }, + "select_first": { + "name": "First", + "description": "Selects the first option.", + "fields": {}, "target": { "entity": [ { "domain": [ - "timer" + "input_select" ] } ] } }, - "pause": { - "name": "Pause", - "description": "Pause a timer.", + "select_last": { + "name": "Last", + "description": "Selects the last option.", "fields": {}, "target": { "entity": [ { "domain": [ - "timer" + "input_select" ] } ] } }, - "cancel": { - "name": "Cancel", - "description": "Cancel a timer.", - "fields": {}, + "select_next": { + "name": "Next", + "description": "Select the next option.", + "fields": { + "cycle": { + "default": true, + "selector": { + "boolean": null + }, + "name": "Cycle", + "description": "If the option should cycle from the last to the first option on the list." + } + }, "target": { "entity": [ { "domain": [ - "timer" + "input_select" ] } ] } }, - "finish": { - "name": "Finish", - "description": "Finish a timer.", - "fields": {}, + "select_option": { + "name": "Select", + "description": "Selects an option.", + "fields": { + "option": { + "required": true, + "example": "\u0022Item A\u0022", + "selector": { + "text": null + }, + "name": "Option", + "description": "Option to be selected." + } + }, "target": { "entity": [ { "domain": [ - "timer" + "input_select" ] } ] } }, - "change": { - "name": "Change", - "description": "Change a timer", + "select_previous": { + "name": "Previous", + "description": "Selects the previous option.", "fields": { - "duration": { - "description": "Duration to add or subtract to the running timer", - "default": 0, - "required": true, - "example": "00:01:00, 60 or -60", + "cycle": { + "default": true, "selector": { - "text": null + "boolean": null + }, + "name": "Cycle", + "description": "If the option should cycle from the last to the first option on the list." + } + }, + "target": { + "entity": [ + { + "domain": [ + "input_select" + ] } + ] + } + }, + "set_options": { + "name": "Set options", + "description": "Sets the options.", + "fields": { + "options": { + "required": true, + "example": "[\u0022Item A\u0022, \u0022Item B\u0022, \u0022Item C\u0022]", + "selector": { + "object": null + }, + "name": "Options", + "description": "List of options." } }, "target": { "entity": [ { "domain": [ - "timer" + "input_select" ] } ] } } }, - "counter": { - "increment": { - "name": "Increment", - "description": "Increment a counter.", + "schedule": { + "reload": { + "name": "Reload", + "description": "Reloads schedules from the YAML-configuration.", + "fields": {} + } + }, + "timer": { + "reload": { + "name": "Reload", + "description": "Reloads timers from the YAML-configuration.", + "fields": {} + }, + "start": { + "name": "Start", + "description": "Starts a timer.", + "fields": { + "duration": { + "example": "00:01:00 or 60", + "selector": { + "text": null + }, + "name": "Duration", + "description": "Duration the timer requires to finish. [optional]." + } + }, + "target": { + "entity": [ + { + "domain": [ + "timer" + ] + } + ] + } + }, + "pause": { + "name": "Pause", + "description": "Pauses a timer.", "fields": {}, "target": { "entity": [ { "domain": [ - "counter" + "timer" ] } ] } }, - "decrement": { - "name": "Decrement", - "description": "Decrement a counter.", + "cancel": { + "name": "Cancel", + "description": "Cancels a timer.", "fields": {}, "target": { "entity": [ { "domain": [ - "counter" + "timer" ] } ] } }, - "reset": { - "name": "Reset", - "description": "Reset a counter.", + "finish": { + "name": "Finish", + "description": "Finishes a timer.", "fields": {}, "target": { "entity": [ { "domain": [ - "counter" + "timer" ] } ] } }, - "set_value": { - "name": "Set", - "description": "Set the counter value", + "change": { + "name": "Change", + "description": "Changes a timer.", "fields": { - "value": { - "name": "Value", + "duration": { + "default": 0, "required": true, - "description": "The new counter value the entity should be set to.", + "example": "00:01:00, 60 or -60", "selector": { - "number": { - "min": 0, - "max": 9223372036854775807, - "mode": "box" - } - } + "text": null + }, + "name": "Duration", + "description": "Duration to add or subtract to the running timer." } }, "target": { "entity": [ { "domain": [ - "counter" + "timer" ] } ] } - }, - "configure": { - "name": "", - "description": "", - "fields": {} } }, - "group": { + "zone": { "reload": { "name": "Reload", - "description": "Reload group configuration, entities, and notify services.", + "description": "Reloads zones from the YAML-configuration.", "fields": {} - }, - "set": { - "name": "Set", - "description": "Create/Update a user group.", - "fields": { - "object_id": { - "name": "Object ID", - "description": "Group id and part of entity id.", - "required": true, - "example": "test_group", - "selector": { - "text": null - } - }, - "name": { - "name": "Name", - "description": "Name of group", - "example": "My test group", - "selector": { - "text": null - } - }, - "icon": { - "name": "Icon", - "description": "Name of icon for the group.", - "example": "mdi:camera", - "selector": { - "icon": null - } - }, - "entities": { - "name": "Entities", - "description": "List of all members in the group. Not compatible with \u0027delta\u0027.", - "example": "domain.entity_id1, domain.entity_id2", - "selector": { - "object": null - } - }, - "add_entities": { - "name": "Add Entities", - "description": "List of members that will change on group listening.", - "example": "domain.entity_id1, domain.entity_id2", - "selector": { - "object": null - } - }, - "remove_entities": { - "name": "Remove Entities", - "description": "List of members that will be removed from group listening.", - "example": "domain.entity_id1, domain.entity_id2", - "selector": { - "object": null - } - }, - "all": { - "name": "All", - "description": "Enable this option if the group should only turn on when all entities are on.", - "selector": { - "boolean": null - } - } - } - }, - "remove": { - "name": "Remove", - "description": "Remove a user group.", - "fields": { - "object_id": { - "name": "Object ID", - "description": "Group id and part of entity id.", - "required": true, - "example": "test_group", - "selector": { - "object": null - } - } - } } }, "ffmpeg": { "start": { "name": "Start", - "description": "Send a start command to a ffmpeg based sensor.", + "description": "Sends a start command to a ffmpeg based sensor.", "fields": { "entity_id": { - "name": "Entity", - "description": "Name of entity that will start. Platform dependent.", "selector": { "entity": { "integration": "ffmpeg", "domain": "binary_sensor" } - } + }, + "name": "Entity", + "description": "Name of entity that will start. Platform dependent." } } }, "stop": { "name": "Stop", - "description": "Send a stop command to a ffmpeg based sensor.", + "description": "Sends a stop command to a ffmpeg based sensor.", "fields": { "entity_id": { - "name": "Entity", - "description": "Name of entity that will stop. Platform dependent.", "selector": { "entity": { "integration": "ffmpeg", "domain": "binary_sensor" } - } + }, + "name": "Entity", + "description": "Name of entity that will stop. Platform dependent." } } }, "restart": { "name": "Restart", - "description": "Send a restart command to a ffmpeg based sensor.", + "description": "Sends a restart command to a ffmpeg based sensor.", "fields": { "entity_id": { - "name": "Entity", - "description": "Name of entity that will restart. Platform dependent.", "selector": { "entity": { "integration": "ffmpeg", "domain": "binary_sensor" } - } + }, + "name": "Entity", + "description": "Name of entity that will restart. Platform dependent." } } } }, - "input_number": { + "script": { "reload": { "name": "Reload", - "description": "Reload the input_number configuration.", + "description": "Reloads all the available scripts.", "fields": {} }, - "set_value": { - "name": "Set", - "description": "Set the value of an input number entity.", - "fields": { - "value": { - "name": "Value", - "description": "The target value the entity should be set to.", - "required": true, - "selector": { - "number": { - "min": 0, - "max": 9223372036854775807, - "step": 0.001, - "mode": "box" - } - } - } - }, + "turn_on": { + "name": "Turn on", + "description": "Runs the sequence of actions defined in a script.", + "fields": {}, "target": { "entity": [ { "domain": [ - "input_number" + "script" ] } ] } }, - "increment": { - "name": "Increment", - "description": "Increment the value of an input number entity by its stepping.", + "turn_off": { + "name": "Turn off", + "description": "Stops a running script.", "fields": {}, "target": { "entity": [ { "domain": [ - "input_number" + "script" ] } ] } }, - "decrement": { - "name": "Decrement", - "description": "Decrement the value of an input number entity by its stepping.", + "toggle": { + "name": "Toggle", + "description": "Toggle a script. Starts it, if isn\u0027t running, stops it otherwise.", "fields": {}, "target": { "entity": [ { "domain": [ - "input_number" + "script" ] } ] } } }, - "input_datetime": { - "reload": { - "name": "Reload", - "description": "Reload the input_datetime configuration.", - "fields": {} - }, - "set_datetime": { - "name": "Set", - "description": "This can be used to dynamically set the date and/or time.", + "automation": { + "trigger": { + "name": "Trigger", + "description": "Triggers the actions of an automation.", "fields": { - "date": { - "name": "Date", - "description": "The target date the entity should be set to.", - "example": "\u00222019-04-20\u0022", - "selector": { - "text": null - } - }, - "time": { - "name": "Time", - "description": "The target time the entity should be set to.", - "example": "\u002205:04:20\u0022", - "selector": { - "time": null - } - }, - "datetime": { - "name": "Date \u0026 Time", - "description": "The target date \u0026 time the entity should be set to.", - "example": "\u00222019-04-20 05:04:20\u0022", - "selector": { - "text": null - } - }, - "timestamp": { - "name": "Timestamp", - "description": "The target date \u0026 time the entity should be set to as expressed by a UNIX timestamp.", + "skip_condition": { + "default": true, "selector": { - "number": { - "min": 0, - "max": 9223372036854775807, - "mode": "box" - } - } + "boolean": null + }, + "name": "Skip conditions", + "description": "Defines whether or not the conditions will be skipped." } }, "target": { "entity": [ { "domain": [ - "input_datetime" + "automation" ] } ] } - } - }, - "schedule": { - "reload": { - "name": "Reload", - "description": "Reload the schedule configuration", - "fields": {} - } - }, - "input_select": { - "reload": { - "name": "Reload", - "description": "Reload the input_select configuration.", - "fields": {} }, - "select_first": { - "name": "First", - "description": "Select the first option of an input select entity.", + "toggle": { + "name": "Toggle", + "description": "Toggles (enable / disable) an automation.", "fields": {}, "target": { "entity": [ { "domain": [ - "input_select" + "automation" ] } ] } }, - "select_last": { - "name": "Last", - "description": "Select the last option of an input select entity.", + "turn_on": { + "name": "Turn on", + "description": "Enables an automation.", "fields": {}, "target": { "entity": [ { "domain": [ - "input_select" + "automation" ] } ] } }, - "select_next": { - "name": "Next", - "description": "Select the next options of an input select entity.", + "turn_off": { + "name": "Turn off", + "description": "Disables an automation.", "fields": { - "cycle": { - "name": "Cycle", - "description": "If the option should cycle from the last to the first.", + "stop_actions": { "default": true, "selector": { "boolean": null - } + }, + "name": "Stop actions", + "description": "Stops currently running actions." } }, "target": { "entity": [ { "domain": [ - "input_select" + "automation" ] } ] } }, - "select_option": { - "name": "Select", - "description": "Select an option of an input select entity.", + "reload": { + "name": "Reload", + "description": "Reloads the automation configuration.", + "fields": {} + } + }, + "input_text": { + "reload": { + "name": "Reload", + "description": "Reloads helpers from the YAML-configuration.", + "fields": {} + }, + "set_value": { + "name": "Set", + "description": "Sets the value.", "fields": { - "option": { - "name": "Option", - "description": "Option to be selected.", + "value": { "required": true, - "example": "\u0022Item A\u0022", + "example": "This is an example text", "selector": { "text": null - } + }, + "name": "Value", + "description": "The target value." } }, "target": { "entity": [ { "domain": [ - "input_select" + "input_text" ] } ] } + } + }, + "input_button": { + "reload": { + "name": "Reload", + "description": "Reloads helpers from the YAML-configuration.", + "fields": {} }, - "select_previous": { - "name": "Previous", - "description": "Select the previous options of an input select entity.", - "fields": { - "cycle": { - "name": "Cycle", - "description": "If the option should cycle from the first to the last.", - "default": true, - "selector": { - "boolean": null - } - } - }, + "press": { + "name": "Press", + "description": "Mimics the physical button press on the device.", + "fields": {}, "target": { "entity": [ { "domain": [ - "input_select" + "input_button" ] } ] } + } + }, + "input_datetime": { + "reload": { + "name": "Reload", + "description": "Reloads helpers from the YAML-configuration.", + "fields": {} }, - "set_options": { - "name": "Set options", - "description": "Set the options of an input select entity.", + "set_datetime": { + "name": "Set", + "description": "Sets the date and/or time.", "fields": { - "options": { - "name": "Options", - "description": "Options for the input select entity.", - "required": true, - "example": "[\u0022Item A\u0022, \u0022Item B\u0022, \u0022Item C\u0022]", + "date": { + "example": "\u00222019-04-20\u0022", "selector": { - "object": null - } + "text": null + }, + "name": "Date", + "description": "The target date." + }, + "time": { + "example": "\u002205:04:20\u0022", + "selector": { + "time": null + }, + "name": "Time", + "description": "The target time." + }, + "datetime": { + "example": "\u00222019-04-20 05:04:20\u0022", + "selector": { + "text": null + }, + "name": "Date \u0026 time", + "description": "The target date \u0026 time." + }, + "timestamp": { + "selector": { + "number": { + "min": 0, + "max": 9223372036854775807, + "mode": "box" + } + }, + "name": "Timestamp", + "description": "The target date \u0026 time, expressed by a UNIX timestamp." } }, "target": { "entity": [ { "domain": [ - "input_select" + "input_datetime" ] } ] } } }, - "automation": { - "trigger": { - "name": "Trigger", - "description": "Trigger the actions of an automation.", - "fields": { - "skip_condition": { - "name": "Skip conditions", - "description": "Whether or not the conditions will be skipped.", - "default": true, - "selector": { - "boolean": null - } - } - }, + "counter": { + "increment": { + "name": "Increment", + "description": "Increments a counter.", + "fields": {}, "target": { "entity": [ { "domain": [ - "automation" + "counter" ] } ] } }, - "toggle": { - "name": "Toggle", - "description": "Toggle (enable / disable) an automation.", + "decrement": { + "name": "Decrement", + "description": "Decrements a counter.", "fields": {}, "target": { "entity": [ { "domain": [ - "automation" + "counter" ] } ] } }, - "turn_on": { - "name": "Turn on", - "description": "Enable an automation.", + "reset": { + "name": "Reset", + "description": "Resets a counter.", "fields": {}, "target": { "entity": [ { "domain": [ - "automation" + "counter" ] } ] } }, - "turn_off": { - "name": "Turn off", - "description": "Disable an automation.", + "set_value": { + "name": "Set", + "description": "Sets the counter value.", "fields": { - "stop_actions": { - "name": "Stop actions", - "description": "Stop currently running actions.", - "default": true, + "value": { + "required": true, "selector": { - "boolean": null - } + "number": { + "min": 0, + "max": 9223372036854775807, + "mode": "box" + } + }, + "name": "Value", + "description": "The new counter value the entity should be set to." } }, "target": { "entity": [ { "domain": [ - "automation" + "counter" ] } ] } - }, - "reload": { - "name": "Reload", - "description": "Reload the automation configuration.", - "fields": {} } }, - "script": { + "input_number": { "reload": { "name": "Reload", - "description": "Reload all the available scripts", + "description": "Reloads helpers from the YAML-configuration.", "fields": {} }, - "turn_on": { - "name": "Turn on", - "description": "Turn on script", - "fields": {}, + "set_value": { + "name": "Set", + "description": "Sets the value.", + "fields": { + "value": { + "required": true, + "selector": { + "number": { + "min": 0, + "max": 9223372036854775807, + "step": 0.001, + "mode": "box" + } + }, + "name": "Value", + "description": "The target value." + } + }, "target": { "entity": [ { "domain": [ - "script" + "input_number" ] } ] } }, - "turn_off": { - "name": "Turn off", - "description": "Turn off script", + "increment": { + "name": "Increment", + "description": "Increments the value by 1 step.", "fields": {}, "target": { "entity": [ { "domain": [ - "script" + "input_number" ] } ] } }, - "toggle": { - "name": "Toggle", - "description": "Toggle script", - "fields": {}, - "target": { - "entity": [ - { - "domain": [ - "script" - ] - } - ] - } - } - }, - "input_text": { - "reload": { - "name": "Reload", - "description": "Reload the input_text configuration.", - "fields": {} - }, - "set_value": { - "name": "Set", - "description": "Set the value of an input text entity.", - "fields": { - "value": { - "name": "Value", - "description": "The target value the entity should be set to.", - "required": true, - "example": "This is an example text", - "selector": { - "text": null - } - } - }, - "target": { - "entity": [ - { - "domain": [ - "input_text" - ] - } - ] - } - } - }, - "input_button": { - "reload": { - "name": "", - "description": "", - "fields": {} - }, - "press": { - "name": "Press", - "description": "Press the input button entity.", + "decrement": { + "name": "Decrement", + "description": "Decrements the current value by 1 step.", "fields": {}, "target": { "entity": [ { "domain": [ - "input_button" - ] - } - ] - } - } - }, - "tts": { - "google_translate_say": { - "name": "Say a TTS message with google_translate", - "description": "Say something using text-to-speech on a media player with google_translate.", - "fields": { - "entity_id": { - "name": "Entity", - "description": "Name(s) of media player entities.", - "required": true, - "selector": { - "entity": { - "domain": "media_player" - } - } - }, - "message": { - "name": "Message", - "description": "Text to speak on devices.", - "example": "My name is hanna", - "required": true, - "selector": { - "text": null - } - }, - "cache": { - "name": "Cache", - "description": "Control file cache of this message.", - "default": false, - "selector": { - "boolean": null - } - }, - "language": { - "name": "Language", - "description": "Language to use for speech generation.", - "example": "ru", - "selector": { - "text": null - } - }, - "options": { - "name": "Options", - "description": "A dictionary containing platform-specific options. Optional depending on the platform.", - "advanced": true, - "example": "platform specific", - "selector": { - "object": null - } - } - } - }, - "speak": { - "name": "Speak", - "description": "Speak something using text-to-speech on a media player.", - "fields": { - "media_player_entity_id": { - "name": "Media Player Entity", - "description": "Name(s) of media player entities.", - "required": true, - "selector": { - "entity": { - "domain": "media_player" - } - } - }, - "message": { - "name": "Message", - "description": "Text to speak on devices.", - "example": "My name is hanna", - "required": true, - "selector": { - "text": null - } - }, - "cache": { - "name": "Cache", - "description": "Control file cache of this message.", - "default": true, - "selector": { - "boolean": null - } - }, - "language": { - "name": "Language", - "description": "Language to use for speech generation.", - "example": "ru", - "selector": { - "text": null - } - }, - "options": { - "name": "Options", - "description": "A dictionary containing platform-specific options. Optional depending on the platform.", - "advanced": true, - "example": "platform specific", - "selector": { - "object": null - } - } - }, - "target": { - "entity": [ - { - "domain": [ - "tts" + "input_number" ] } ] } - }, - "clear_cache": { - "name": "Clear TTS cache", - "description": "Remove all text-to-speech cache files and RAM cache.", - "fields": {} - }, - "cloud_say": { - "name": "Say a TTS message with cloud", - "description": "Say something using text-to-speech on a media player with cloud.", - "fields": { - "entity_id": { - "name": "Entity", - "description": "Name(s) of media player entities.", - "required": true, - "selector": { - "entity": { - "domain": "media_player" - } - } - }, - "message": { - "name": "Message", - "description": "Text to speak on devices.", - "example": "My name is hanna", - "required": true, - "selector": { - "text": null - } - }, - "cache": { - "name": "Cache", - "description": "Control file cache of this message.", - "default": false, - "selector": { - "boolean": null - } - }, - "language": { - "name": "Language", - "description": "Language to use for speech generation.", - "example": "ru", - "selector": { - "text": null - } - }, - "options": { - "name": "Options", - "description": "A dictionary containing platform-specific options. Optional depending on the platform.", - "advanced": true, - "example": "platform specific", - "selector": { - "object": null - } - } - } } }, "light": { "turn_on": { "name": "Turn on", - "description": "Turn on one or more lights and adjust properties of the light, even when they are turned on already.\n", + "description": "Turn on one or more lights and adjust properties of the light, even when they are turned on already.", "fields": { "transition": { - "name": "Transition", - "description": "Duration it takes to get to next state.", "filter": { "supported_features": [ 32 @@ -1450,11 +1290,11 @@ "max": 300, "unit_of_measurement": "seconds" } - } + }, + "name": "Transition", + "description": "Duration it takes to get to next state." }, "rgb_color": { - "name": "Color", - "description": "The color for the light (based on RGB - red, green, blue).", "filter": { "attribute": { "supported_color_modes": [ @@ -1468,11 +1308,11 @@ }, "selector": { "color_rgb": null - } + }, + "name": "Color", + "description": "The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue." }, "rgbw_color": { - "name": "RGBW-color", - "description": "A list containing four integers between 0 and 255 representing the RGBW (red, green, blue, white) color for the light.", "filter": { "attribute": { "supported_color_modes": [ @@ -1488,11 +1328,11 @@ "example": "[255, 100, 100, 50]", "selector": { "object": null - } + }, + "name": "RGBW-color", + "description": "The color in RGBW format. A list of four integers between 0 and 255 representing the values of red, green, blue, and white." }, "rgbww_color": { - "name": "RGBWW-color", - "description": "A list containing five integers between 0 and 255 representing the RGBWW (red, green, blue, cold white, warm white) color for the light.", "filter": { "attribute": { "supported_color_modes": [ @@ -1508,11 +1348,11 @@ "example": "[255, 100, 100, 50, 70]", "selector": { "object": null - } + }, + "name": "RGBWW-color", + "description": "The color in RGBWW format. A list of five integers between 0 and 255 representing the values of red, green, blue, cold white, and warm white." }, "color_name": { - "name": "Color name", - "description": "A human readable color name.", "filter": { "attribute": { "supported_color_modes": [ @@ -1527,6 +1367,7 @@ "advanced": true, "selector": { "select": { + "translation_key": "color_name", "options": [ "homeassistant", "aliceblue", @@ -1678,11 +1519,11 @@ "yellowgreen" ] } - } + }, + "name": "Color name", + "description": "A human-readable color name." }, "hs_color": { - "name": "Hue/Sat color", - "description": "Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100.", "filter": { "attribute": { "supported_color_modes": [ @@ -1698,11 +1539,11 @@ "example": "[300, 70]", "selector": { "object": null - } + }, + "name": "Hue/Sat color", + "description": "Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100." }, "xy_color": { - "name": "XY-color", - "description": "Color for the light in XY-format.", "filter": { "attribute": { "supported_color_modes": [ @@ -1718,11 +1559,11 @@ "example": "[0.52, 0.43]", "selector": { "object": null - } + }, + "name": "XY-color", + "description": "Color in XY-format. A list of two decimal numbers between 0 and 1." }, "color_temp": { - "name": "Color temperature", - "description": "Color temperature for the light in mireds.", "filter": { "attribute": { "supported_color_modes": [ @@ -1737,14 +1578,15 @@ }, "selector": { "color_temp": { - "min_mireds": 153, - "max_mireds": 500 + "unit": "mired", + "min": 153, + "max": 500 } - } + }, + "name": "Color temperature", + "description": "Color temperature in mireds." }, "kelvin": { - "name": "Color temperature (Kelvin)", - "description": "Color temperature for the light in Kelvin.", "filter": { "attribute": { "supported_color_modes": [ @@ -1759,17 +1601,16 @@ }, "advanced": true, "selector": { - "number": { + "color_temp": { + "unit": "kelvin", "min": 2000, - "max": 6500, - "step": 100, - "unit_of_measurement": "K" + "max": 6500 } - } + }, + "name": "Color temperature", + "description": "Color temperature in Kelvin." }, "brightness": { - "name": "Brightness value", - "description": "Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light.", "filter": { "attribute": { "supported_color_modes": [ @@ -1789,11 +1630,11 @@ "min": 0, "max": 255 } - } + }, + "name": "Brightness value", + "description": "Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness." }, "brightness_pct": { - "name": "Brightness", - "description": "Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light.", "filter": { "attribute": { "supported_color_modes": [ @@ -1813,11 +1654,11 @@ "max": 100, "unit_of_measurement": "%" } - } + }, + "name": "Brightness", + "description": "Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness." }, "brightness_step": { - "name": "Brightness step value", - "description": "Change brightness by an amount.", "filter": { "attribute": { "supported_color_modes": [ @@ -1837,11 +1678,11 @@ "min": -225, "max": 255 } - } + }, + "name": "Brightness step value", + "description": "Change brightness by an amount." }, "brightness_step_pct": { - "name": "Brightness step", - "description": "Change brightness by a percentage.", "filter": { "attribute": { "supported_color_modes": [ @@ -1861,11 +1702,11 @@ "max": 100, "unit_of_measurement": "%" } - } + }, + "name": "Brightness step", + "description": "Change brightness by a percentage." }, "white": { - "name": "White", - "description": "Set the light to white mode.", "filter": { "attribute": { "supported_color_modes": [ @@ -1879,20 +1720,20 @@ "value": true, "label": "Enabled" } - } + }, + "name": "White", + "description": "Set the light to white mode." }, "profile": { - "name": "Profile", - "description": "Name of a light profile to use.", "advanced": true, "example": "relax", "selector": { "text": null - } - }, + }, + "name": "Profile", + "description": "Name of a light profile to use." + }, "flash": { - "name": "Flash", - "description": "If the light should flash.", "filter": { "supported_features": [ 8 @@ -1912,11 +1753,11 @@ } ] } - } + }, + "name": "Flash", + "description": "Tell light to flash, can be either value short or long." }, "effect": { - "name": "Effect", - "description": "Light effect.", "filter": { "supported_features": [ 4 @@ -1924,7 +1765,9 @@ }, "selector": { "text": null - } + }, + "name": "Effect", + "description": "Light effect." } }, "target": { @@ -1939,11 +1782,9 @@ }, "turn_off": { "name": "Turn off", - "description": "Turns off one or more lights.", + "description": "Turn off one or more lights.", "fields": { "transition": { - "name": "Transition", - "description": "Duration it takes to get to next state.", "filter": { "supported_features": [ 32 @@ -1955,11 +1796,11 @@ "max": 300, "unit_of_measurement": "seconds" } - } + }, + "name": "Transition", + "description": "Duration it takes to get to next state." }, "flash": { - "name": "Flash", - "description": "If the light should flash.", "filter": { "supported_features": [ 8 @@ -1979,7 +1820,9 @@ } ] } - } + }, + "name": "Flash", + "description": "Tell light to flash, can be either value short or long." } }, "target": { @@ -1994,11 +1837,9 @@ }, "toggle": { "name": "Toggle", - "description": "Toggles one or more lights, from on to off, or, off to on, based on their current state.\n", + "description": "Toggles one or more lights, from on to off, or, off to on, based on their current state.", "fields": { "transition": { - "name": "Transition", - "description": "Duration it takes to get to next state.", "filter": { "supported_features": [ 32 @@ -2010,11 +1851,11 @@ "max": 300, "unit_of_measurement": "seconds" } - } + }, + "name": "Transition", + "description": "Duration it takes to get to next state." }, "rgb_color": { - "name": "RGB-color", - "description": "Color for the light in RGB-format.", "filter": { "attribute": { "supported_color_modes": [ @@ -2029,12 +1870,12 @@ "advanced": true, "example": "[255, 100, 100]", "selector": { - "object": null - } + "color_rgb": null + }, + "name": "Color", + "description": "The color in RGB format. A list of three integers between 0 and 255 representing the values of red, green, and blue." }, "color_name": { - "name": "Color name", - "description": "A human readable color name.", "filter": { "attribute": { "supported_color_modes": [ @@ -2049,6 +1890,7 @@ "advanced": true, "selector": { "select": { + "translation_key": "color_name", "options": [ "homeassistant", "aliceblue", @@ -2200,11 +2042,11 @@ "yellowgreen" ] } - } + }, + "name": "Color name", + "description": "A human-readable color name." }, "hs_color": { - "name": "Hue/Sat color", - "description": "Color for the light in hue/sat format. Hue is 0-360 and Sat is 0-100.", "filter": { "attribute": { "supported_color_modes": [ @@ -2220,11 +2062,11 @@ "example": "[300, 70]", "selector": { "object": null - } + }, + "name": "Hue/Sat color", + "description": "Color in hue/sat format. A list of two integers. Hue is 0-360 and Sat is 0-100." }, "xy_color": { - "name": "XY-color", - "description": "Color for the light in XY-format.", "filter": { "attribute": { "supported_color_modes": [ @@ -2240,11 +2082,11 @@ "example": "[0.52, 0.43]", "selector": { "object": null - } + }, + "name": "XY-color", + "description": "Color in XY-format. A list of two decimal numbers between 0 and 1." }, "color_temp": { - "name": "Color temperature (mireds)", - "description": "Color temperature for the light in mireds.", "filter": { "attribute": { "supported_color_modes": [ @@ -2260,11 +2102,11 @@ "advanced": true, "selector": { "color_temp": null - } + }, + "name": "Color temperature", + "description": "Color temperature in mireds." }, "kelvin": { - "name": "Color temperature (Kelvin)", - "description": "Color temperature for the light in Kelvin.", "filter": { "attribute": { "supported_color_modes": [ @@ -2279,17 +2121,16 @@ }, "advanced": true, "selector": { - "number": { + "color_temp": { + "unit": "kelvin", "min": 2000, - "max": 6500, - "step": 100, - "unit_of_measurement": "K" + "max": 6500 } - } + }, + "name": "Color temperature", + "description": "Color temperature in Kelvin." }, "brightness": { - "name": "Brightness value", - "description": "Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness and 255 is the maximum brightness supported by the light.", "filter": { "attribute": { "supported_color_modes": [ @@ -2309,11 +2150,11 @@ "min": 0, "max": 255 } - } + }, + "name": "Brightness value", + "description": "Number indicating brightness, where 0 turns the light off, 1 is the minimum brightness, and 255 is the maximum brightness." }, "brightness_pct": { - "name": "Brightness", - "description": "Number indicating percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness and 100 is the maximum brightness supported by the light.", "filter": { "attribute": { "supported_color_modes": [ @@ -2333,11 +2174,11 @@ "max": 100, "unit_of_measurement": "%" } - } + }, + "name": "Brightness", + "description": "Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness." }, "white": { - "name": "White", - "description": "Set the light to white mode.", "filter": { "attribute": { "supported_color_modes": [ @@ -2351,20 +2192,20 @@ "value": true, "label": "Enabled" } - } + }, + "name": "White", + "description": "Set the light to white mode." }, "profile": { - "name": "Profile", - "description": "Name of a light profile to use.", "advanced": true, "example": "relax", "selector": { "text": null - } + }, + "name": "Profile", + "description": "Name of a light profile to use." }, "flash": { - "name": "Flash", - "description": "If the light should flash.", "filter": { "supported_features": [ 8 @@ -2384,11 +2225,11 @@ } ] } - } + }, + "name": "Flash", + "description": "Tell light to flash, can be either value short or long." }, "effect": { - "name": "Effect", - "description": "Light effect.", "filter": { "supported_features": [ 4 @@ -2396,7 +2237,9 @@ }, "selector": { "text": null - } + }, + "name": "Effect", + "description": "Light effect." } }, "target": { @@ -2410,84 +2253,141 @@ } } }, - "input_boolean": { - "reload": { - "name": "Reload", - "description": "Reload the input_boolean configuration", - "fields": {} - }, - "turn_on": { - "name": "Turn on", - "description": "Turn on an input boolean", - "fields": {}, + "tts": { + "speak": { + "name": "Speak", + "description": "Speaks something using text-to-speech on a media player.", + "fields": { + "media_player_entity_id": { + "required": true, + "selector": { + "entity": { + "domain": "media_player" + } + }, + "name": "Media player entity", + "description": "Media players to play the message." + }, + "message": { + "example": "My name is hanna", + "required": true, + "selector": { + "text": null + }, + "name": "Message", + "description": "The text you want to convert into speech so that you can listen to it on your device." + }, + "cache": { + "default": true, + "selector": { + "boolean": null + }, + "name": "Cache", + "description": "Stores this message locally so that when the text is requested again, the output can be produced more quickly." + }, + "language": { + "example": "ru", + "selector": { + "text": null + }, + "name": "Language", + "description": "Language to use for speech generation." + }, + "options": { + "advanced": true, + "example": "platform specific", + "selector": { + "object": null + }, + "name": "Options", + "description": "A dictionary containing integration-specific options." + } + }, "target": { "entity": [ { "domain": [ - "input_boolean" + "tts" ] } ] } }, - "turn_off": { - "name": "Turn off", - "description": "Turn off an input boolean", - "fields": {}, - "target": { - "entity": [ - { - "domain": [ - "input_boolean" - ] - } - ] - } + "clear_cache": { + "name": "Clear TTS cache", + "description": "Removes all cached text-to-speech files and purges the memory.", + "fields": {} }, - "toggle": { - "name": "Toggle", - "description": "Toggle an input boolean", - "fields": {}, - "target": { - "entity": [ - { - "domain": [ - "input_boolean" - ] + "cloud_say": { + "name": "Say a TTS message with cloud", + "description": "Say something using text-to-speech on a media player with cloud.", + "fields": { + "entity_id": { + "required": true, + "selector": { + "entity": { + "domain": "media_player" + } } - ] + }, + "message": { + "example": "My name is hanna", + "required": true, + "selector": { + "text": null + } + }, + "cache": { + "default": false, + "selector": { + "boolean": null + } + }, + "language": { + "example": "ru", + "selector": { + "text": null + } + }, + "options": { + "advanced": true, + "example": "platform specific", + "selector": { + "object": null + } + } } } }, "scene": { "reload": { "name": "Reload", - "description": "Reload the scene configuration.", + "description": "Reloads the scenes from the YAML-configuration.", "fields": {} }, "apply": { "name": "Apply", - "description": "Activate a scene with configuration.", + "description": "Activates a scene with configuration.", "fields": { "entities": { - "name": "Entities state", - "description": "The entities and the state that they need to be.", "required": true, "example": "light.kitchen: \u0022on\u0022\nlight.ceiling:\n state: \u0022on\u0022\n brightness: 80\n", "selector": { "object": null - } + }, + "name": "Entities state", + "description": "List of entities and their target state." }, "transition": { - "name": "Transition", - "description": "Transition duration it takes to bring devices to the state defined in the scene.", "selector": { "number": { "min": 0, "max": 300, "unit_of_measurement": "seconds" } - } + }, + "name": "Transition", + "description": "Time it takes the devices to transition into the states defined in the scene." } } }, @@ -2496,46 +2396,64 @@ "description": "Creates a new scene.", "fields": { "scene_id": { - "name": "Scene entity ID", - "description": "The entity_id of the new scene.", "required": true, "example": "all_lights", "selector": { "text": null - } + }, + "name": "Scene entity ID", + "description": "The entity ID of the new scene." }, "entities": { - "name": "Entities state", - "description": "The entities to control with the scene.", + "advanced": true, "example": "light.tv_back_light: \u0022on\u0022\nlight.ceiling:\n state: \u0022on\u0022\n brightness: 200\n", "selector": { "object": null - } + }, + "name": "Entities state", + "description": "List of entities and their target state. If your entities are already in the target state right now, use \u0060snapshot_entities\u0060 instead." }, "snapshot_entities": { - "name": "Snapshot entities", - "description": "The entities of which a snapshot is to be taken", "example": "- light.ceiling\n- light.kitchen\n", "selector": { - "object": null - } + "entity": { + "multiple": true + } + }, + "name": "Snapshot entities", + "description": "List of entities to be included in the snapshot. By taking a snapshot, you record the current state of those entities. If you do not want to use the current state of all your entities for this scene, you can combine the \u0060snapshot_entities\u0060 with \u0060entities\u0060." } } }, + "delete": { + "name": "Delete", + "description": "Deletes a dynamically created scene.", + "fields": {}, + "target": { + "entity": [ + { + "integration": "homeassistant", + "domain": [ + "scene" + ] + } + ] + } + }, "turn_on": { "name": "Activate", - "description": "Activate a scene.", + "description": "Activates a scene.", "fields": { "transition": { - "name": "Transition", - "description": "Transition duration it takes to bring devices to the state defined in the scene.", "selector": { "number": { "min": 0, "max": 300, "unit_of_measurement": "seconds" } - } + }, + "name": "Transition", + "description": "Time it takes the devices to transition into the states defined in the scene." } }, "target": { @@ -2549,51 +2467,84 @@ } } }, - "button": { - "press": { - "name": "Press", - "description": "Press the button entity.", + "input_boolean": { + "reload": { + "name": "Reload", + "description": "Reloads helpers from the YAML-configuration.", + "fields": {} + }, + "turn_on": { + "name": "Turn on", + "description": "Turns on the helper.", "fields": {}, "target": { "entity": [ { "domain": [ - "button" + "input_boolean" ] } ] } - } - }, - "notify": { - "persistent_notification": { - "name": "Send a persistent notification", - "description": "Sends a notification that is visible in the front-end.", - "fields": { - "message": { - "name": "Message", - "description": "Message body of the notification.", - "required": true, - "example": "The garage door has been open for 10 minutes.", - "selector": { - "text": null - } - }, - "title": { - "name": "Title", - "description": "Title for your notification.", - "example": "Your Garage Door Friend", + }, + "turn_off": { + "name": "Turn off", + "description": "Turns off the helper.", + "fields": {}, + "target": { + "entity": [ + { + "domain": [ + "input_boolean" + ] + } + ] + } + }, + "toggle": { + "name": "Toggle", + "description": "Toggles the helper on/off.", + "fields": {}, + "target": { + "entity": [ + { + "domain": [ + "input_boolean" + ] + } + ] + } + } + }, + "notify": { + "persistent_notification": { + "name": "Send a persistent notification", + "description": "Sends a notification that is visible in the **Notifications** panel.", + "fields": { + "message": { + "required": true, + "example": "The garage door has been open for 10 minutes.", "selector": { "text": null - } + }, + "name": "Message", + "description": "Message body of the notification." + }, + "title": { + "example": "Your Garage Door Friend", + "selector": { + "text": null + }, + "name": "Title", + "description": "Title of the notification." }, "data": { - "name": "Data", - "description": "Extended information for notification. Optional depending on the platform.", "example": "platform specific", "selector": { "object": null - } + }, + "name": "Data", + "description": "Some integrations provide extended functionality. For information on how to use _data_, refer to the integration documentation.." } } }, @@ -2602,8 +2553,6 @@ "description": "Sends a notification message using the mobile_app_dteske_pixel integration.", "fields": { "message": { - "name": "Message", - "description": "Message body of the notification.", "required": true, "example": "The garage door has been open for 10 minutes.", "selector": { @@ -2611,24 +2560,18 @@ } }, "title": { - "name": "Title", - "description": "Title for your notification.", "example": "Your Garage Door Friend", "selector": { "text": null } }, "target": { - "name": "Target", - "description": "An array of targets to send the notification to. Optional depending on the platform.", "example": "platform specific", "selector": { "object": null } }, "data": { - "name": "Data", - "description": "Extended information for notification. Optional depending on the platform.", "example": "platform specific", "selector": { "object": null @@ -2641,8 +2584,6 @@ "description": "Sends a notification message using the notify service.", "fields": { "message": { - "name": "Message", - "description": "Message body of the notification.", "required": true, "example": "The garage door has been open for 10 minutes.", "selector": { @@ -2650,24 +2591,18 @@ } }, "title": { - "name": "Title", - "description": "Title for your notification.", "example": "Your Garage Door Friend", "selector": { "text": null } }, "target": { - "name": "Target", - "description": "An array of targets to send the notification to. Optional depending on the platform.", "example": "platform specific", "selector": { "object": null } }, "data": { - "name": "Data", - "description": "Extended information for notification. Optional depending on the platform.", "example": "platform specific", "selector": { "object": null @@ -2679,105 +2614,105 @@ "device_tracker": { "see": { "name": "See", - "description": "Control tracked device.", + "description": "Records a seen tracked device.", "fields": { "mac": { - "name": "MAC address", - "description": "MAC address of device", "example": "FF:FF:FF:FF:FF:FF", "selector": { "text": null - } + }, + "name": "MAC address", + "description": "MAC address of the device." }, "dev_id": { - "name": "Device ID", - "description": "Id of device (find id in known_devices.yaml).", "example": "phonedave", "selector": { "text": null - } + }, + "name": "Device ID", + "description": "ID of the device (find the ID in \u0060known_devices.yaml\u0060)." }, "host_name": { - "name": "Host name", - "description": "Hostname of device", "example": "Dave", "selector": { "text": null - } + }, + "name": "Hostname", + "description": "Hostname of the device." }, "location_name": { - "name": "Location name", - "description": "Name of location where device is located (not_home is away).", "example": "home", "selector": { "text": null - } + }, + "name": "Location", + "description": "Name of the location where the device is located. The options are: \u0060home\u0060, \u0060not_home\u0060, or the name of the zone." }, "gps": { - "name": "GPS coordinates", - "description": "GPS coordinates where device is located (latitude, longitude).", "example": "[51.509802, -0.086692]", "selector": { "object": null - } + }, + "name": "GPS coordinates", + "description": "GPS coordinates where the device is located, specified by latitude and longitude (for example: [51.513845, -0.100539])." }, "gps_accuracy": { - "name": "GPS accuracy", - "description": "Accuracy of GPS coordinates.", "selector": { "number": { - "min": 1, - "max": 100, - "unit_of_measurement": "%" + "min": 0, + "mode": "box", + "unit_of_measurement": "m" } - } + }, + "name": "GPS accuracy", + "description": "Accuracy of the GPS coordinates." }, "battery": { - "name": "Battery level", - "description": "Battery level of device.", "selector": { "number": { "min": 0, "max": 100, "unit_of_measurement": "%" } - } + }, + "name": "Battery level", + "description": "Battery level of the device." } } } }, "cast": { "show_lovelace_view": { - "name": "Show lovelace view", - "description": "Show a Lovelace view on a Chromecast.", + "name": "Show dashboard view", + "description": "Shows a dashboard view on a Chromecast device.", "fields": { "entity_id": { - "name": "Entity", - "description": "Media Player entity to show the Lovelace view on.", "required": true, "selector": { "entity": { "integration": "cast", "domain": "media_player" } - } + }, + "name": "Entity", + "description": "Media player entity to show the dashboard view on." }, "dashboard_path": { - "name": "Dashboard path", - "description": "The URL path of the Lovelace dashboard to show.", "required": true, "example": "lovelace-cast", "selector": { "text": null - } + }, + "name": "Dashboard path", + "description": "The URL path of the dashboard to show." }, "view_path": { - "name": "View Path", - "description": "The path of the Lovelace view to show.", "example": "downstairs", "selector": { "text": null - } + }, + "name": "View path", + "description": "The path of the dashboard view to show." } } } @@ -2785,13 +2720,16 @@ "media_player": { "turn_on": { "name": "Turn on", - "description": "Turn a media player power on.", + "description": "Turns on the power of the media player.", "fields": {}, "target": { "entity": [ { "domain": [ "media_player" + ], + "supported_features": [ + 128 ] } ] @@ -2799,13 +2737,16 @@ }, "turn_off": { "name": "Turn off", - "description": "Turn a media player power off.", + "description": "Turns off the power of the media player.", "fields": {}, "target": { "entity": [ { "domain": [ "media_player" + ], + "supported_features": [ + 256 ] } ] @@ -2813,13 +2754,16 @@ }, "toggle": { "name": "Toggle", - "description": "Toggles a media player power state.", + "description": "Toggles a media player on/off.", "fields": {}, "target": { "entity": [ { "domain": [ "media_player" + ], + "supported_features": [ + 384 ] } ] @@ -2827,13 +2771,17 @@ }, "volume_up": { "name": "Turn up volume", - "description": "Turn a media player volume up.", + "description": "Turns up the volume.", "fields": {}, "target": { "entity": [ { "domain": [ "media_player" + ], + "supported_features": [ + 4, + 1024 ] } ] @@ -2841,13 +2789,17 @@ }, "volume_down": { "name": "Turn down volume", - "description": "Turn a media player volume down.", + "description": "Turns down the volume.", "fields": {}, "target": { "entity": [ { "domain": [ "media_player" + ], + "supported_features": [ + 4, + 1024 ] } ] @@ -2855,13 +2807,16 @@ }, "media_play_pause": { "name": "Play/Pause", - "description": "Toggle media player play/pause state.", + "description": "Toggles play/pause.", "fields": {}, "target": { "entity": [ { "domain": [ "media_player" + ], + "supported_features": [ + 16385 ] } ] @@ -2869,13 +2824,16 @@ }, "media_play": { "name": "Play", - "description": "Send the media player the command for play.", + "description": "Starts playing.", "fields": {}, "target": { "entity": [ { "domain": [ "media_player" + ], + "supported_features": [ + 16384 ] } ] @@ -2883,13 +2841,16 @@ }, "media_pause": { "name": "Pause", - "description": "Send the media player the command for pause.", + "description": "Pauses.", "fields": {}, "target": { "entity": [ { "domain": [ "media_player" + ], + "supported_features": [ + 1 ] } ] @@ -2897,13 +2858,16 @@ }, "media_stop": { "name": "Stop", - "description": "Send the media player the stop command.", + "description": "Stops playing.", "fields": {}, "target": { "entity": [ { "domain": [ "media_player" + ], + "supported_features": [ + 4096 ] } ] @@ -2911,13 +2875,16 @@ }, "media_next_track": { "name": "Next", - "description": "Send the media player the command for next track.", + "description": "Selects the next track.", "fields": {}, "target": { "entity": [ { "domain": [ "media_player" + ], + "supported_features": [ + 32 ] } ] @@ -2925,13 +2892,16 @@ }, "media_previous_track": { "name": "Previous", - "description": "Send the media player the command for previous track.", + "description": "Selects the previous track.", "fields": {}, "target": { "entity": [ { "domain": [ "media_player" + ], + "supported_features": [ + 16 ] } ] @@ -2939,13 +2909,16 @@ }, "clear_playlist": { "name": "Clear playlist", - "description": "Send the media player the command to clear players playlist.", + "description": "Clears the playlist.", "fields": {}, "target": { "entity": [ { "domain": [ "media_player" + ], + "supported_features": [ + 8192 ] } ] @@ -2953,11 +2926,9 @@ }, "volume_set": { "name": "Set volume", - "description": "Set a media player\u0027s volume level.", + "description": "Sets the volume level.", "fields": { "volume_level": { - "name": "Level", - "description": "Volume level to set as float.", "required": true, "selector": { "number": { @@ -2965,7 +2936,9 @@ "max": 1, "step": 0.01 } - } + }, + "name": "Level", + "description": "The volume. 0 is inaudible, 1 is the maximum volume." } }, "target": { @@ -2973,22 +2946,25 @@ { "domain": [ "media_player" + ], + "supported_features": [ + 4 ] } ] } }, "volume_mute": { - "name": "Mute volume", - "description": "Mute a media player\u0027s volume.", + "name": "Mute/unmute volume", + "description": "Mutes or unmutes the media player.", "fields": { "is_volume_muted": { - "name": "Muted", - "description": "True/false for mute/unmute.", "required": true, "selector": { "boolean": null - } + }, + "name": "Muted", + "description": "Defines whether or not it is muted." } }, "target": { @@ -2996,6 +2972,9 @@ { "domain": [ "media_player" + ], + "supported_features": [ + 8 ] } ] @@ -3003,11 +2982,9 @@ }, "media_seek": { "name": "Seek", - "description": "Send the media player the command to seek in current playing media.", + "description": "Allows you to go to a different part of the media that is currently playing.", "fields": { "seek_position": { - "name": "Position", - "description": "Position to seek to. The format is platform dependent.", "required": true, "selector": { "number": { @@ -3016,7 +2993,9 @@ "step": 0.01, "mode": "box" } - } + }, + "name": "Position", + "description": "Target position in the currently playing media. The format is platform dependent." } }, "target": { @@ -3024,6 +3003,9 @@ { "domain": [ "media_player" + ], + "supported_features": [ + 2 ] } ] @@ -3031,11 +3013,9 @@ }, "join": { "name": "Join", - "description": "Group players together. Only works on platforms with support for player groups.", + "description": "Groups media players together for synchronous playback. Only works on supported multiroom audio systems.", "fields": { "group_members": { - "name": "Group members", - "description": "The players which will be synced with the target player.", "required": true, "example": "- media_player.multiroom_player2\n- media_player.multiroom_player3\n", "selector": { @@ -3043,7 +3023,9 @@ "multiple": true, "domain": "media_player" } - } + }, + "name": "Group members", + "description": "The players which will be synced with the playback specified in \u0060target\u0060." } }, "target": { @@ -3051,6 +3033,9 @@ { "domain": [ "media_player" + ], + "supported_features": [ + 524288 ] } ] @@ -3058,16 +3043,16 @@ }, "select_source": { "name": "Select source", - "description": "Send the media player the command to change input source.", + "description": "Sends the media player the command to change input source.", "fields": { "source": { - "name": "Source", - "description": "Name of the source to switch to. Platform dependent.", "required": true, "example": "video1", "selector": { "text": null - } + }, + "name": "Source", + "description": "Name of the source to switch to. Platform dependent." } }, "target": { @@ -3075,6 +3060,9 @@ { "domain": [ "media_player" + ], + "supported_features": [ + 2048 ] } ] @@ -3082,15 +3070,15 @@ }, "select_sound_mode": { "name": "Select sound mode", - "description": "Send the media player the command to change sound mode.", + "description": "Selects a specific sound mode.", "fields": { "sound_mode": { - "name": "Sound mode", - "description": "Name of the sound mode to switch to.", "example": "Music", "selector": { "text": null - } + }, + "name": "Sound mode", + "description": "Name of the sound mode to switch to." } }, "target": { @@ -3098,6 +3086,9 @@ { "domain": [ "media_player" + ], + "supported_features": [ + 65536 ] } ] @@ -3105,61 +3096,60 @@ }, "play_media": { "name": "Play media", - "description": "Send the media player the command for playing media.", + "description": "Starts playing specified media.", "fields": { "media_content_id": { - "name": "Content ID", - "description": "The ID of the content to play. Platform dependent.", "required": true, "example": "https://home-assistant.io/images/cast/splash.png", "selector": { "text": null - } + }, + "name": "Content ID", + "description": "The ID of the content to play. Platform dependent." }, "media_content_type": { - "name": "Content type", - "description": "The type of the content to play. Like image, music, tvshow, video, episode, channel or playlist.", "required": true, "example": "music", "selector": { "text": null - } + }, + "name": "Content type", + "description": "The type of the content to play. Such as image, music, tv show, video, episode, channel, or playlist." }, "enqueue": { - "name": "Enqueue", - "description": "If the content should be played now or be added to the queue.", + "filter": { + "supported_features": [ + 2097152 + ] + }, "required": false, "selector": { "select": { "options": [ - { - "label": "Play now", - "value": "play" - }, - { - "label": "Play next", - "value": "next" - }, - { - "label": "Add to queue", - "value": "add" - }, - { - "label": "Play now and clear queue", - "value": "replace" - } - ] + "play", + "next", + "add", + "replace" + ], + "translation_key": "enqueue" } - } + }, + "name": "Enqueue", + "description": "If the content should be played now or be added to the queue." }, "announce": { - "name": "Announce", - "description": "If the media should be played as an announcement.", + "filter": { + "supported_features": [ + 1048576 + ] + }, "required": false, "example": "true", "selector": { "boolean": null - } + }, + "name": "Announce", + "description": "If the media should be played as an announcement." } }, "target": { @@ -3167,6 +3157,9 @@ { "domain": [ "media_player" + ], + "supported_features": [ + 512 ] } ] @@ -3174,15 +3167,15 @@ }, "shuffle_set": { "name": "Shuffle", - "description": "Set shuffling state.", + "description": "Playback mode that selects the media in randomized order.", "fields": { "shuffle": { - "name": "Shuffle", - "description": "True/false for enabling/disabling shuffle.", "required": true, "selector": { "boolean": null - } + }, + "name": "Shuffle", + "description": "Whether or not shuffle mode is enabled." } }, "target": { @@ -3190,6 +3183,9 @@ { "domain": [ "media_player" + ], + "supported_features": [ + 32768 ] } ] @@ -3197,13 +3193,16 @@ }, "unjoin": { "name": "Unjoin", - "description": "Unjoin the player from a group. Only works on platforms with support for player groups.", + "description": "Removes the player from a group. Only works on platforms which support player groups.", "fields": {}, "target": { "entity": [ { "domain": [ "media_player" + ], + "supported_features": [ + 524288 ] } ] @@ -3211,353 +3210,49 @@ }, "repeat_set": { "name": "Repeat", - "description": "Set repeat mode", + "description": "Playback mode that plays the media in a loop.", "fields": { "repeat": { - "name": "Repeat mode", - "description": "Repeat mode to set.", "required": true, "selector": { "select": { "options": [ - { - "label": "Off", - "value": "off" - }, - { - "label": "Repeat all", - "value": "all" - }, - { - "label": "Repeat one", - "value": "one" - } - ] - } - } - } - }, - "target": { - "entity": [ - { - "domain": [ - "media_player" - ] - } - ] - } - } - }, - "switch": { - "turn_off": { - "name": "Turn off", - "description": "Turn a switch off", - "fields": {}, - "target": { - "entity": [ - { - "domain": [ - "switch" - ] - } - ] - } - }, - "turn_on": { - "name": "Turn on", - "description": "Turn a switch on", - "fields": {}, - "target": { - "entity": [ - { - "domain": [ - "switch" - ] - } - ] - } - }, - "toggle": { - "name": "Toggle", - "description": "Toggles a switch state", - "fields": {}, - "target": { - "entity": [ - { - "domain": [ - "switch" - ] - } - ] - } - } - }, - "hue": { - "activate_scene": { - "name": "Activate Hue Scene", - "description": "Activate a Hue scene with more control over the options.", - "fields": { - "transition": { - "name": "Transition", - "description": "Transition duration it takes to bring devices to the state defined in the scene.", - "selector": { - "number": { - "min": 0, - "max": 3600, - "unit_of_measurement": "seconds" - } - } - }, - "dynamic": { - "name": "Dynamic", - "description": "Enable dynamic mode of the scene.", - "selector": { - "boolean": null - } - }, - "speed": { - "name": "Speed", - "description": "Speed of dynamic palette for this scene", - "advanced": true, - "selector": { - "number": { - "min": 0, - "max": 100 + "off", + "all", + "one" + ], + "translation_key": "repeat" } - } - }, - "brightness": { - "name": "Brightness", - "description": "Set brightness for the scene.", - "advanced": true, - "selector": { - "number": { - "min": 1, - "max": 255 - } - } - } - }, - "target": { - "entity": [ - { - "domain": [ - "scene" - ], - "integration": "hue" - } - ] - } - }, - "hue_activate_scene": { - "name": "Activate scene", - "description": "Activate a hue scene stored in the hue hub.", - "fields": { - "group_name": { - "name": "Group", - "description": "Name of hue group/room from the hue app.", - "example": "Living Room", - "selector": { - "text": null - } - }, - "scene_name": { - "name": "Scene", - "description": "Name of hue scene from the hue app.", - "example": "Energize", - "selector": { - "text": null - } - }, - "dynamic": { - "name": "Dynamic", - "description": "Enable dynamic mode of the scene (V2 bridges and supported scenes only).", - "selector": { - "boolean": null - } - } - } - } - }, - "backup": { - "create": { - "name": "Create backup", - "description": "Create a new backup.", - "fields": {} - } - }, - "cover": { - "open_cover": { - "name": "Open", - "description": "Open all or specified cover.", - "fields": {}, - "target": { - "entity": [ - { - "domain": [ - "cover" - ] - } - ] - } - }, - "close_cover": { - "name": "Close", - "description": "Close all or specified cover.", - "fields": {}, - "target": { - "entity": [ - { - "domain": [ - "cover" - ] - } - ] - } - }, - "set_cover_position": { - "name": "Set position", - "description": "Move to specific position all or specified cover.", - "fields": { - "position": { - "name": "Position", - "description": "Position of the cover", - "required": true, - "selector": { - "number": { - "min": 0, - "max": 100, - "unit_of_measurement": "%" - } - } - } - }, - "target": { - "entity": [ - { - "domain": [ - "cover" - ] - } - ] - } - }, - "stop_cover": { - "name": "Stop", - "description": "Stop all or specified cover.", - "fields": {}, - "target": { - "entity": [ - { - "domain": [ - "cover" - ] - } - ] - } - }, - "toggle": { - "name": "Toggle", - "description": "Toggle a cover open/closed.", - "fields": {}, - "target": { - "entity": [ - { - "domain": [ - "cover" - ] - } - ] - } - }, - "open_cover_tilt": { - "name": "Open tilt", - "description": "Open all or specified cover tilt.", - "fields": {}, - "target": { - "entity": [ - { - "domain": [ - "cover" - ] - } - ] - } - }, - "close_cover_tilt": { - "name": "Close tilt", - "description": "Close all or specified cover tilt.", - "fields": {}, - "target": { - "entity": [ - { - "domain": [ - "cover" - ] - } - ] - } - }, - "stop_cover_tilt": { - "name": "Stop tilt", - "description": "Stop all or specified cover.", - "fields": {}, - "target": { - "entity": [ - { - "domain": [ - "cover" - ] - } - ] - } - }, - "set_cover_tilt_position": { - "name": "Set tilt position", - "description": "Move to specific position all or specified cover tilt.", - "fields": { - "tilt_position": { - "name": "Tilt position", - "description": "Tilt position of the cover.", - "required": true, - "selector": { - "number": { - "min": 0, - "max": 100, - "unit_of_measurement": "%" - } - } - } - }, - "target": { - "entity": [ - { - "domain": [ - "cover" - ] - } - ] - } - }, - "toggle_cover_tilt": { - "name": "Toggle tilt", - "description": "Toggle a cover tilt open/closed.", - "fields": {}, + }, + "name": "Repeat mode", + "description": "Repeat mode to set." + } + }, "target": { "entity": [ { "domain": [ - "cover" + "media_player" + ], + "supported_features": [ + 262144 ] } ] } } }, + "backup": { + "create": { + "name": "Create backup", + "description": "Creates a new backup.", + "fields": {} + } + }, "camera": { "enable_motion_detection": { "name": "Enable motion detection", - "description": "Enable the motion detection in a camera.", + "description": "Enables the motion detection.", "fields": {}, "target": { "entity": [ @@ -3571,7 +3266,7 @@ }, "disable_motion_detection": { "name": "Disable motion detection", - "description": "Disable the motion detection in a camera.", + "description": "Disables the motion detection.", "fields": {}, "target": { "entity": [ @@ -3585,7 +3280,7 @@ }, "turn_off": { "name": "Turn off", - "description": "Turn off camera.", + "description": "Turns off the camera.", "fields": {}, "target": { "entity": [ @@ -3599,7 +3294,7 @@ }, "turn_on": { "name": "Turn on", - "description": "Turn on camera.", + "description": "Turns on the camera.", "fields": {}, "target": { "entity": [ @@ -3613,16 +3308,16 @@ }, "snapshot": { "name": "Take snapshot", - "description": "Take a snapshot from a camera.", + "description": "Takes a snapshot from a camera.", "fields": { "filename": { - "name": "Filename", - "description": "Template of a Filename. Variable is entity_id.", "required": true, "example": "/tmp/snapshot_{{ entity_id.name }}.jpg", "selector": { "text": null - } + }, + "name": "Filename", + "description": "Template of a filename. Variable available is \u0060entity_id\u0060." } }, "target": { @@ -3637,21 +3332,19 @@ }, "play_stream": { "name": "Play stream", - "description": "Play camera stream on supported media player.", + "description": "Plays the camera stream on a supported media player.", "fields": { "media_player": { - "name": "Media Player", - "description": "Name(s) of media player to stream to.", "required": true, "selector": { "entity": { "domain": "media_player" } - } + }, + "name": "Media player", + "description": "Media players to stream to." }, "format": { - "name": "Format", - "description": "Stream format supported by media player.", "default": "hls", "selector": { "select": { @@ -3659,7 +3352,9 @@ "hls" ] } - } + }, + "name": "Format", + "description": "Stream format supported by the media player." } }, "target": { @@ -3674,20 +3369,18 @@ }, "record": { "name": "Record", - "description": "Record live camera feed.", + "description": "Creates a recording of a live camera feed.", "fields": { "filename": { - "name": "Filename", - "description": "Template of a Filename. Variable is entity_id. Must be mp4.", "required": true, "example": "/tmp/snapshot_{{ entity_id.name }}.mp4", "selector": { "text": null - } + }, + "name": "Filename", + "description": "Template of a filename. Variable available is \u0060entity_id\u0060. Must be mp4." }, "duration": { - "name": "Duration", - "description": "Target recording length.", "default": 30, "selector": { "number": { @@ -3695,11 +3388,11 @@ "max": 3600, "unit_of_measurement": "seconds" } - } + }, + "name": "Duration", + "description": "Planned duration of the recording. The actual duration may vary." }, "lookback": { - "name": "Lookback", - "description": "Target lookback period to include in addition to duration. Only available if there is currently an active HLS stream.", "default": 0, "selector": { "number": { @@ -3707,7 +3400,9 @@ "max": 300, "unit_of_measurement": "seconds" } - } + }, + "name": "Lookback", + "description": "Planned lookback period to include in the recording (in addition to the duration). Only available if there is currently an active HLS stream. The actual length of the lookback period may vary." } }, "target": { @@ -3724,7 +3419,7 @@ "climate": { "turn_on": { "name": "Turn on", - "description": "Turn climate device on.", + "description": "Turns climate device on.", "fields": {}, "target": { "entity": [ @@ -3738,7 +3433,7 @@ }, "turn_off": { "name": "Turn off", - "description": "Turn climate device off.", + "description": "Turns climate device off.", "fields": {}, "target": { "entity": [ @@ -3752,45 +3447,25 @@ }, "set_hvac_mode": { "name": "Set HVAC mode", - "description": "Set HVAC operation mode for climate device.", + "description": "Sets HVAC operation mode.", "fields": { "hvac_mode": { - "name": "HVAC mode", - "description": "New value of operation mode.", "selector": { "select": { "options": [ - { - "label": "Off", - "value": "off" - }, - { - "label": "Auto", - "value": "auto" - }, - { - "label": "Cool", - "value": "cool" - }, - { - "label": "Dry", - "value": "dry" - }, - { - "label": "Fan Only", - "value": "fan_only" - }, - { - "label": "Heat/Cool", - "value": "heat_cool" - }, - { - "label": "Heat", - "value": "heat" - } - ] + "off", + "auto", + "cool", + "dry", + "fan_only", + "heat_cool", + "heat" + ], + "translation_key": "hvac_mode" } - } + }, + "name": "HVAC mode", + "description": "HVAC operation mode." } }, "target": { @@ -3805,16 +3480,16 @@ }, "set_preset_mode": { "name": "Set preset mode", - "description": "Set preset mode for climate device.", + "description": "Sets preset mode.", "fields": { "preset_mode": { - "name": "Preset mode", - "description": "New value of preset mode.", "required": true, "example": "away", "selector": { "text": null - } + }, + "name": "Preset mode", + "description": "Preset mode." } }, "target": { @@ -3832,15 +3507,15 @@ }, "set_aux_heat": { "name": "Turn on/off auxiliary heater", - "description": "Turn auxiliary heater on/off for climate device.", + "description": "Turns auxiliary heater on/off.", "fields": { "aux_heat": { - "name": "Auxiliary heating", - "description": "New value of auxiliary heater.", "required": true, "selector": { "boolean": null - } + }, + "name": "Auxiliary heating", + "description": "New value of auxiliary heater." } }, "target": { @@ -3857,12 +3532,10 @@ } }, "set_temperature": { - "name": "Set temperature", - "description": "Set target temperature of climate device.", + "name": "Set target temperature", + "description": "Sets target temperature.", "fields": { "temperature": { - "name": "Temperature", - "description": "New target temperature for HVAC.", "filter": { "supported_features": [ 1 @@ -3875,11 +3548,11 @@ "step": 0.1, "mode": "box" } - } + }, + "name": "Temperature", + "description": "Target temperature." }, "target_temp_high": { - "name": "Target temperature high", - "description": "New target high temperature for HVAC.", "filter": { "supported_features": [ 2 @@ -3893,11 +3566,11 @@ "step": 0.1, "mode": "box" } - } + }, + "name": "Target temperature high", + "description": "High target temperature." }, "target_temp_low": { - "name": "Target temperature low", - "description": "New target low temperature for HVAC.", "filter": { "supported_features": [ 2 @@ -3911,45 +3584,27 @@ "step": 0.1, "mode": "box" } - } + }, + "name": "Target temperature low", + "description": "Low target temperature." }, "hvac_mode": { - "name": "HVAC mode", - "description": "HVAC operation mode to set temperature to.", "selector": { "select": { "options": [ - { - "label": "Off", - "value": "off" - }, - { - "label": "Auto", - "value": "auto" - }, - { - "label": "Cool", - "value": "cool" - }, - { - "label": "Dry", - "value": "dry" - }, - { - "label": "Fan Only", - "value": "fan_only" - }, - { - "label": "Heat/Cool", - "value": "heat_cool" - }, - { - "label": "Heat", - "value": "heat" - } - ] + "off", + "auto", + "cool", + "dry", + "fan_only", + "heat_cool", + "heat" + ], + "translation_key": "hvac_mode" } - } + }, + "name": "HVAC mode", + "description": "HVAC operation mode." } }, "target": { @@ -3968,11 +3623,9 @@ }, "set_humidity": { "name": "Set target humidity", - "description": "Set target humidity of climate device.", + "description": "Sets target humidity.", "fields": { "humidity": { - "name": "Humidity", - "description": "New target humidity for climate device.", "required": true, "selector": { "number": { @@ -3980,7 +3633,9 @@ "max": 99, "unit_of_measurement": "%" } - } + }, + "name": "Humidity", + "description": "Target humidity." } }, "target": { @@ -3998,16 +3653,16 @@ }, "set_fan_mode": { "name": "Set fan mode", - "description": "Set fan operation for climate device.", + "description": "Sets fan operation mode.", "fields": { "fan_mode": { - "name": "Fan mode", - "description": "New value of fan mode.", "required": true, "example": "low", "selector": { "text": null - } + }, + "name": "Fan mode", + "description": "Fan operation mode." } }, "target": { @@ -4025,16 +3680,16 @@ }, "set_swing_mode": { "name": "Set swing mode", - "description": "Set swing operation for climate device.", + "description": "Sets swing operation mode.", "fields": { "swing_mode": { - "name": "Swing mode", - "description": "New value of swing mode.", "required": true, "example": "horizontal", "selector": { "text": null - } + }, + "name": "Swing mode", + "description": "Swing operation mode." } }, "target": { @@ -4052,13 +3707,120 @@ } }, "zha": { + "set_lock_user_code": { + "name": "Set lock user code", + "description": "Sets a user code on a lock.", + "fields": { + "code_slot": { + "required": true, + "example": 1, + "selector": { + "text": null + }, + "name": "Code slot", + "description": "Code slot to set the code in." + }, + "user_code": { + "required": true, + "example": 1234, + "selector": { + "text": null + }, + "name": "Code", + "description": "Code to set." + } + }, + "target": { + "entity": [ + { + "domain": [ + "lock" + ], + "integration": "zha" + } + ] + } + }, + "enable_lock_user_code": { + "name": "Enable lock user", + "description": "Enables a user code on a lock.", + "fields": { + "code_slot": { + "required": true, + "example": 1, + "selector": { + "text": null + }, + "name": "Code slot", + "description": "Code slot to enable." + } + }, + "target": { + "entity": [ + { + "domain": [ + "lock" + ], + "integration": "zha" + } + ] + } + }, + "disable_lock_user_code": { + "name": "Disable lock user", + "description": "Disables a user code on a lock.", + "fields": { + "code_slot": { + "required": true, + "example": 1, + "selector": { + "text": null + }, + "name": "Code slot", + "description": "Code slot to disable." + } + }, + "target": { + "entity": [ + { + "domain": [ + "lock" + ], + "integration": "zha" + } + ] + } + }, + "clear_lock_user_code": { + "name": "Clear lock user", + "description": "Clears a user code from a lock.", + "fields": { + "code_slot": { + "required": true, + "example": 1, + "selector": { + "text": null + }, + "name": "Code slot", + "description": "Code slot to clear code from." + } + }, + "target": { + "entity": [ + { + "domain": [ + "lock" + ], + "integration": "zha" + } + ] + } + }, "permit": { "name": "Permit", - "description": "Allow nodes to join the Zigbee network.", + "description": "Allows nodes to join the Zigbee network.", "fields": { "duration": { - "name": "Duration", - "description": "Time to permit joins, in seconds", "default": 60, "selector": { "number": { @@ -4066,73 +3828,73 @@ "max": 254, "unit_of_measurement": "seconds" } - } + }, + "name": "Duration", + "description": "Time to permit joins." }, "ieee": { - "name": "IEEE", - "description": "IEEE address of the node permitting new joins", "example": "00:0d:6f:00:05:7d:2d:34", "selector": { "text": null - } + }, + "name": "IEEE", + "description": "IEEE address of the node permitting new joins." }, "source_ieee": { - "name": "Source IEEE", - "description": "IEEE address of the joining device (must be used with install code)", "example": "00:0a:bf:00:01:10:23:35", "selector": { "text": null - } + }, + "name": "Source IEEE", + "description": "IEEE address of the joining device (must be used with the install code)." }, "install_code": { - "name": "Install Code", - "description": "Install code of the joining device (must be used with source_ieee)", "example": "1234-5678-1234-5678-AABB-CCDD-AABB-CCDD-EEFF", "selector": { "text": null - } + }, + "name": "Install code", + "description": "Install code of the joining device (must be used with the source_ieee)." }, "qr_code": { - "name": "QR Code", - "description": "value of the QR install code (different between vendors)", "example": "Z:000D6FFFFED4163B$I:52797BF4A5084DAA8E1712B61741CA024051", "selector": { "text": null - } + }, + "name": "QR code", + "description": "Value of the QR install code (different between vendors)." } } }, "remove": { "name": "Remove", - "description": "Remove a node from the Zigbee network.", + "description": "Removes a node from the Zigbee network.", "fields": { "ieee": { - "name": "IEEE", - "description": "IEEE address of the node to remove", "required": true, "example": "00:0d:6f:00:05:7d:2d:34", "selector": { "text": null - } + }, + "name": "IEEE", + "description": "IEEE address of the node to remove." } } }, "set_zigbee_cluster_attribute": { "name": "Set zigbee cluster attribute", - "description": "Set attribute value for the specified cluster on the specified entity.", + "description": "Sets an attribute value for the specified cluster on the specified entity.", "fields": { "ieee": { - "name": "IEEE", - "description": "IEEE address for the device", "required": true, "example": "00:0d:6f:00:05:7d:2d:34", "selector": { "text": null - } + }, + "name": "IEEE", + "description": "IEEE address for the device." }, "endpoint_id": { - "name": "Endpoint ID", - "description": "Endpoint id for the cluster", "required": true, "selector": { "number": { @@ -4140,22 +3902,22 @@ "max": 65535, "mode": "box" } - } + }, + "name": "Endpoint ID", + "description": "Endpoint ID for the cluster." }, "cluster_id": { - "name": "Cluster ID", - "description": "ZCL cluster to retrieve attributes for", "required": true, "selector": { "number": { "min": 1, "max": 65535 } - } + }, + "name": "Cluster ID", + "description": "ZCL cluster to retrieve attributes for." }, "cluster_type": { - "name": "Cluster Type", - "description": "type of the cluster", "default": "in", "selector": { "select": { @@ -4164,11 +3926,11 @@ "out" ] } - } + }, + "name": "Cluster Type", + "description": "Type of the cluster." }, "attribute": { - "name": "Attribute", - "description": "id of the attribute to set", "required": true, "example": 0, "selector": { @@ -4176,65 +3938,65 @@ "min": 1, "max": 65535 } - } + }, + "name": "Attribute", + "description": "ID of the attribute to set." }, "value": { - "name": "Value", - "description": "value to write to the attribute", "required": true, "example": 1, "selector": { "text": null - } + }, + "name": "Value", + "description": "Value to write to the attribute." }, "manufacturer": { - "name": "Manufacturer", - "description": "manufacturer code", "example": 252, "selector": { "text": null - } + }, + "name": "Manufacturer", + "description": "Manufacturer code." } } }, "issue_zigbee_cluster_command": { "name": "Issue zigbee cluster command", - "description": "Issue command on the specified cluster on the specified entity.", + "description": "Issues a command on the specified cluster on the specified entity.", "fields": { "ieee": { - "name": "IEEE", - "description": "IEEE address for the device", "required": true, "example": "00:0d:6f:00:05:7d:2d:34", "selector": { "text": null - } + }, + "name": "IEEE", + "description": "IEEE address for the device." }, "endpoint_id": { - "name": "Endpoint ID", - "description": "Endpoint id for the cluster", "required": true, "selector": { "number": { "min": 1, "max": 65535 } - } + }, + "name": "Endpoint ID", + "description": "Endpoint ID for the cluster." }, "cluster_id": { - "name": "Cluster ID", - "description": "ZCL cluster to retrieve attributes for", "required": true, "selector": { "number": { "min": 1, "max": 65535 } - } + }, + "name": "Cluster ID", + "description": "ZCL cluster to retrieve attributes for." }, "cluster_type": { - "name": "Cluster Type", - "description": "type of the cluster", "default": "in", "selector": { "select": { @@ -4243,22 +4005,22 @@ "out" ] } - } + }, + "name": "Cluster Type", + "description": "Type of the cluster." }, "command": { - "name": "Command", - "description": "id of the command to execute", "required": true, "selector": { "number": { "min": 1, "max": 65535 } - } + }, + "name": "Command", + "description": "ID of the command to execute." }, "command_type": { - "name": "Command Type", - "description": "type of the command to execute", "required": true, "selector": { "select": { @@ -4267,30 +4029,32 @@ "server" ] } - } + }, + "name": "Command Type", + "description": "Type of the command to execute." }, "args": { - "name": "Args", - "description": "args to pass to the command", "example": "[arg1, arg2, argN]", "selector": { "object": null - } + }, + "name": "Args", + "description": "Arguments to pass to the command." }, "params": { - "name": "Params", - "description": "parameters to pass to the command", "selector": { "object": null - } + }, + "name": "Params", + "description": "Parameters to pass to the command." }, "manufacturer": { - "name": "Manufacturer", - "description": "manufacturer code", "example": 252, "selector": { "text": null - } + }, + "name": "Manufacturer", + "description": "Manufacturer code." } } }, @@ -4299,28 +4063,26 @@ "description": "Issue command on the specified cluster on the specified group.", "fields": { "group": { - "name": "Group", - "description": "Hexadecimal address of the group", "required": true, "example": 546, "selector": { "text": null - } + }, + "name": "Group", + "description": "Hexadecimal address of the group." }, "cluster_id": { - "name": "Cluster ID", - "description": "ZCL cluster to send command to", "required": true, "selector": { "number": { "min": 1, "max": 65535 } - } + }, + "name": "Cluster ID", + "description": "ZCL cluster to send command to." }, "cluster_type": { - "name": "Cluster Type", - "description": "type of the cluster", "default": "in", "selector": { "select": { @@ -4329,34 +4091,36 @@ "out" ] } - } + }, + "name": "Cluster type", + "description": "Type of the cluster." }, "command": { - "name": "Command", - "description": "id of the command to execute", "required": true, "selector": { "number": { "min": 1, "max": 65535 } - } + }, + "name": "Command", + "description": "ID of the command to execute." }, "args": { - "name": "Args", - "description": "args to pass to the command", "example": "[arg1, arg2, argN]", "selector": { "object": null - } + }, + "name": "Args", + "description": "Arguments to pass to the command." }, "manufacturer": { - "name": "Manufacturer", - "description": "manufacturer code", "example": 252, "selector": { "text": null - } + }, + "name": "Manufacturer", + "description": "Manufacturer code." } } }, @@ -4365,17 +4129,15 @@ "description": "This service uses the WD capabilities to emit a quick audible/visible pulse called a \u0022squawk\u0022. The squawk command has no effect if the WD is currently active (warning in progress).", "fields": { "ieee": { - "name": "IEEE", - "description": "IEEE address for the device", "required": true, "example": "00:0d:6f:00:05:7d:2d:34", "selector": { "text": null - } + }, + "name": "IEEE", + "description": "IEEE address for the device." }, "mode": { - "name": "Mode", - "description": "The Squawk Mode field is used as a 4-bit enumeration, and can have one of the values shown in Table 8-24 of the ZCL spec - Squawk Mode Field. The exact operation of each mode (how the WD \u201Csquawks\u201D) is implementation specific.", "default": 0, "selector": { "number": { @@ -4383,11 +4145,11 @@ "max": 1, "mode": "box" } - } + }, + "name": "Mode", + "description": "The Squawk Mode field is used as a 4-bit enumeration, and can have one of the values shown in Table 8-24 of the ZCL spec - Squawk Mode Field. The exact operation of each mode (how the WD \u201Csquawks\u201D) is implementation specific." }, "strobe": { - "name": "Strobe", - "description": "The strobe field is used as a Boolean, and determines if the visual indication is also required in addition to the audible squawk, as shown in Table 8-25 of the ZCL spec - Strobe Bit.", "default": 1, "selector": { "number": { @@ -4395,11 +4157,11 @@ "max": 1, "mode": "box" } - } + }, + "name": "Strobe", + "description": "The strobe field is used as a Boolean, and determines if the visual indication is also required in addition to the audible squawk, as shown in Table 8-25 of the ZCL spec - Strobe Bit." }, "level": { - "name": "Level", - "description": "The squawk level field is used as a 2-bit enumeration, and determines the intensity of audible squawk sound as shown in Table 8-26 of the ZCL spec - Squawk Level Field Values.", "default": 2, "selector": { "number": { @@ -4407,26 +4169,26 @@ "max": 3, "mode": "box" } - } + }, + "name": "Level", + "description": "The squawk level field is used as a 2-bit enumeration, and determines the intensity of audible squawk sound as shown in Table 8-26 of the ZCL spec - Squawk Level Field Values." } } }, "warning_device_warn": { - "name": "Warning device warn", - "description": "This service starts the WD operation. The WD alerts the surrounding area by audible (siren) and visual (strobe) signals.", + "name": "Warning device starts alert", + "description": "This service starts the operation of the warning device. The warning device alerts the surrounding area by audible (siren) and visual (strobe) signals.", "fields": { "ieee": { - "name": "IEEE", - "description": "IEEE address for the device", "required": true, "example": "00:0d:6f:00:05:7d:2d:34", "selector": { "text": null - } + }, + "name": "IEEE", + "description": "IEEE address for the device." }, "mode": { - "name": "Mode", - "description": "The Warning Mode field is used as an 4-bit enumeration, can have one of the values 0-6 defined below in table 8-20 of the ZCL spec. The exact behavior of the WD device in each mode is according to the relevant security standards.", "default": 3, "selector": { "number": { @@ -4434,11 +4196,11 @@ "max": 6, "mode": "box" } - } + }, + "name": "Mode", + "description": "The Warning Mode field is used as a 4-bit enumeration, can have one of the values 0-6 defined below in table 8-20 of the ZCL spec. The exact behavior of the warning device in each mode is according to the relevant security standards." }, "strobe": { - "name": "Strobe", - "description": "The Strobe field is used as a 2-bit enumeration, and determines if the visual indication is required in addition to the audible siren, as indicated in Table 8-21 of the ZCL spec. \u00220\u0022 means no strobe, \u00221\u0022 means strobe. If the strobe field is \u201C1\u201D and the Warning Mode is \u201C0\u201D (\u201CStop\u201D) then only the strobe is activated.", "default": 1, "selector": { "number": { @@ -4446,11 +4208,11 @@ "max": 1, "mode": "box" } - } + }, + "name": "Strobe", + "description": "The Strobe field is used as a 2-bit enumeration, and determines if the visual indication is required in addition to the audible siren, as indicated in Table 8-21 of the ZCL spec. \u00220\u0022 means no strobe, \u00221\u0022 means strobe. If the strobe field is \u201C1\u201D and the Warning Mode is \u201C0\u201D (\u201CStop\u201D), then only the strobe is activated." }, "level": { - "name": "Level", - "description": "The Siren Level field is used as a 2-bit enumeration, and indicates the intensity of audible squawk sound as shown in Table 8-22 of the ZCL spec.", "default": 2, "selector": { "number": { @@ -4458,11 +4220,11 @@ "max": 3, "mode": "box" } - } + }, + "name": "Level", + "description": "The Siren Level field is used as a 2-bit enumeration, and indicates the intensity of audible squawk sound as shown in Table 8-22 of the ZCL spec." }, "duration": { - "name": "Duration", - "description": "Requested duration of warning, in seconds (16 bit). If both Strobe and Warning Mode are \u00220\u0022 this field SHALL be ignored.", "default": 5, "selector": { "number": { @@ -4470,11 +4232,11 @@ "max": 65535, "unit_of_measurement": "seconds" } - } + }, + "name": "Duration", + "description": "Requested duration of warning, in seconds (16 bit). If both Strobe and Warning Mode are \u00220\u0022 this field is ignored." }, "duty_cycle": { - "name": "Duty cycle", - "description": "Indicates the length of the flash cycle. This provides a means of varying the flash duration for different alarm types (e.g., fire, police, burglar). Valid range is 0-100 in increments of 10. All other values SHALL be rounded to the nearest valid value. Strobe SHALL calculate duty cycle over a duration of one second. The ON state SHALL precede the OFF state. For example, if Strobe Duty Cycle Field specifies \u201C40,\u201D then the strobe SHALL flash ON for 4/10ths of a second and then turn OFF for 6/10ths of a second.", "default": 0, "selector": { "number": { @@ -4482,11 +4244,11 @@ "max": 100, "step": 10 } - } + }, + "name": "Duty cycle", + "description": "Indicates the length of the flash cycle. This allows you to vary the flash duration for different alarm types (e.g., fire, police, burglar). The valid range is 0-100 in increments of 10. All other values must be rounded to the nearest valid value. Strobe calculates a duty cycle over a duration of one second. The ON state must precede the OFF state. For example, if the Strobe Duty Cycle field specifies \u201C40,\u201D, then the strobe flashes ON for 4/10ths of a second and then turns OFF for 6/10ths of a second." }, "intensity": { - "name": "Intensity", - "description": "Indicates the intensity of the strobe as shown in Table 8-23 of the ZCL spec. This attribute is designed to vary the output of the strobe (i.e., brightness) and not its frequency, which is detailed in section 8.4.2.3.1.6 of the ZCL spec.", "default": 2, "selector": { "number": { @@ -4494,283 +4256,221 @@ "max": 3, "mode": "box" } - } + }, + "name": "Intensity", + "description": "Indicates the intensity of the strobe as shown in Table 8-23 of the ZCL spec. This attribute is designed to vary the output of the strobe (i.e., brightness) and not its frequency, which is detailed in section 8.4.2.3.1.6 of the ZCL spec." } } - }, - "set_lock_user_code": { - "name": "Set lock user code", - "description": "Set a user code on a lock", - "fields": { - "code_slot": { - "name": "Code slot", - "description": "Code slot to set the code in", - "required": true, - "example": 1, - "selector": { - "text": null - } - }, - "user_code": { - "name": "Code", - "description": "Code to set", - "required": true, - "example": 1234, - "selector": { - "text": null - } - } - }, + } + }, + "button": { + "press": { + "name": "Press", + "description": "Press the button entity.", + "fields": {}, "target": { "entity": [ { "domain": [ - "lock" - ], - "integration": "zha" + "button" + ] } ] } - }, - "enable_lock_user_code": { - "name": "Enable lock user", - "description": "Enable a user code on a lock", - "fields": { - "code_slot": { - "name": "Code slot", - "description": "Code slot to enable", - "required": true, - "example": 1, - "selector": { - "text": null - } - } - }, + } + }, + "cover": { + "open_cover": { + "name": "Open", + "description": "Opens a cover.", + "fields": {}, "target": { "entity": [ { "domain": [ - "lock" + "cover" ], - "integration": "zha" + "supported_features": [ + 1 + ] } ] } }, - "disable_lock_user_code": { - "name": "Disable lock user", - "description": "Disable a user code on a lock", - "fields": { - "code_slot": { - "name": "Code slot", - "description": "Code slot to disable", - "required": true, - "example": 1, - "selector": { - "text": null - } - } - }, + "close_cover": { + "name": "Close", + "description": "Closes a cover.", + "fields": {}, "target": { "entity": [ { "domain": [ - "lock" + "cover" ], - "integration": "zha" + "supported_features": [ + 2 + ] } ] } }, - "clear_lock_user_code": { - "name": "Clear lock user", - "description": "Clear a user code from a lock", + "set_cover_position": { + "name": "Set position", + "description": "Moves a cover to a specific position.", "fields": { - "code_slot": { - "name": "Code slot", - "description": "Code slot to clear code from", + "position": { "required": true, - "example": 1, "selector": { - "text": null - } + "number": { + "min": 0, + "max": 100, + "unit_of_measurement": "%" + } + }, + "name": "Position", + "description": "Target position." } }, "target": { "entity": [ { "domain": [ - "lock" + "cover" ], - "integration": "zha" + "supported_features": [ + 4 + ] } ] } - } - }, - "number": { - "set_value": { - "name": "Set", - "description": "Set the value of a Number entity.", - "fields": { - "value": { - "name": "Value", - "description": "The target value the entity should be set to.", - "example": 42, - "selector": { - "text": null - } - } - }, + }, + "stop_cover": { + "name": "Stop", + "description": "Stops the cover movement.", + "fields": {}, "target": { "entity": [ { "domain": [ - "number" - ] - } - ] - } - } - }, - "siren": { - "turn_on": { - "name": "", - "description": "Turn siren on.", - "fields": { - "tone": { - "description": "The tone to emit when turning the siren on. When \u0060available_tones\u0060 property is a map, either the key or the value can be used. Must be supported by the integration.", - "example": "fire", - "required": false, - "selector": { - "text": null - } - }, - "volume_level": { - "description": "The volume level of the noise to emit when turning the siren on. Must be supported by the integration.", - "example": 0.5, - "required": false, - "selector": { - "number": { - "min": 0, - "max": 1, - "step": 0.05 - } - } - }, - "duration": { - "description": "The duration in seconds of the noise to emit when turning the siren on. Must be supported by the integration.", - "example": 15, - "required": false, - "selector": { - "text": null + "cover" + ], + "supported_features": [ + 8 + ] } - } - }, + ] + } + }, + "toggle": { + "name": "Toggle", + "description": "Toggles a cover open/closed.", + "fields": {}, "target": { "entity": [ { "domain": [ - "siren" + "cover" + ], + "supported_features": [ + 3 ] } ] } }, - "turn_off": { - "name": "", - "description": "Turn siren off.", + "open_cover_tilt": { + "name": "Open tilt", + "description": "Tilts a cover open.", "fields": {}, "target": { "entity": [ { "domain": [ - "siren" + "cover" + ], + "supported_features": [ + 16 ] } ] } }, - "toggle": { - "name": "", - "description": "Toggles a siren.", + "close_cover_tilt": { + "name": "Close tilt", + "description": "Tilts a cover to close.", "fields": {}, "target": { "entity": [ { "domain": [ - "siren" + "cover" + ], + "supported_features": [ + 32 ] } ] } - } - }, - "lock": { - "unlock": { - "name": "Unlock", - "description": "Unlock all or specified locks.", - "fields": { - "code": { - "name": "Code", - "description": "An optional code to unlock the lock with.", - "example": 1234, - "selector": { - "text": null - } - } - }, + }, + "stop_cover_tilt": { + "name": "Stop tilt", + "description": "Stops a tilting cover movement.", + "fields": {}, "target": { "entity": [ { "domain": [ - "lock" + "cover" + ], + "supported_features": [ + 64 ] } ] } }, - "lock": { - "name": "Lock", - "description": "Lock all or specified locks.", + "set_cover_tilt_position": { + "name": "Set tilt position", + "description": "Moves a cover tilt to a specific position.", "fields": { - "code": { - "name": "Code", - "description": "An optional code to lock the lock with.", - "example": 1234, + "tilt_position": { + "required": true, "selector": { - "text": null - } + "number": { + "min": 0, + "max": 100, + "unit_of_measurement": "%" + } + }, + "name": "Tilt position", + "description": "Target tilt positition." } }, "target": { "entity": [ { "domain": [ - "lock" + "cover" + ], + "supported_features": [ + 128 ] } ] } }, - "open": { - "name": "Open", - "description": "Open all or specified locks.", - "fields": { - "code": { - "name": "Code", - "description": "An optional code to open the lock with.", - "example": 1234, - "selector": { - "text": null - } - } - }, + "toggle_cover_tilt": { + "name": "Toggle tilt", + "description": "Toggles a cover tilt open/closed.", + "fields": {}, "target": { "entity": [ { "domain": [ - "lock" + "cover" + ], + "supported_features": [ + 48 ] } ] @@ -4780,15 +4480,15 @@ "alarm_control_panel": { "alarm_disarm": { "name": "Disarm", - "description": "Send the alarm the command for disarm.", + "description": "Disarms the alarm.", "fields": { "code": { - "name": "Code", - "description": "An optional code to disarm the alarm control panel with.", "example": "1234", "selector": { "text": null - } + }, + "name": "Code", + "description": "Code to disarm the alarm." } }, "target": { @@ -4803,15 +4503,15 @@ }, "alarm_arm_home": { "name": "Arm home", - "description": "Send the alarm the command for arm home.", + "description": "Sets the alarm to: _armed, but someone is home_.", "fields": { "code": { - "name": "Code", - "description": "An optional code to arm home the alarm control panel with.", "example": "1234", "selector": { "text": null - } + }, + "name": "Code", + "description": "Code to arm the alarm." } }, "target": { @@ -4819,6 +4519,9 @@ { "domain": [ "alarm_control_panel" + ], + "supported_features": [ + 1 ] } ] @@ -4826,15 +4529,15 @@ }, "alarm_arm_away": { "name": "Arm away", - "description": "Send the alarm the command for arm away.", + "description": "Sets the alarm to: _armed, no one home_.", "fields": { "code": { - "name": "Code", - "description": "An optional code to arm away the alarm control panel with.", "example": "1234", "selector": { "text": null - } + }, + "name": "Code", + "description": "Code to arm the alarm." } }, "target": { @@ -4842,6 +4545,9 @@ { "domain": [ "alarm_control_panel" + ], + "supported_features": [ + 2 ] } ] @@ -4849,15 +4555,15 @@ }, "alarm_arm_night": { "name": "Arm night", - "description": "Send the alarm the command for arm night.", + "description": "Sets the alarm to: _armed for the night_.", "fields": { "code": { - "name": "Code", - "description": "An optional code to arm night the alarm control panel with.", "example": "1234", "selector": { "text": null - } + }, + "name": "Code", + "description": "Code to arm the alarm." } }, "target": { @@ -4865,6 +4571,9 @@ { "domain": [ "alarm_control_panel" + ], + "supported_features": [ + 4 ] } ] @@ -4872,15 +4581,15 @@ }, "alarm_arm_vacation": { "name": "Arm vacation", - "description": "Send the alarm the command for arm vacation.", + "description": "Sets the alarm to: _armed for vacation_.", "fields": { "code": { - "name": "Code", - "description": "An optional code to arm vacation the alarm control panel with.", "example": "1234", "selector": { "text": null - } + }, + "name": "Code", + "description": "Code to arm the alarm." } }, "target": { @@ -4888,6 +4597,9 @@ { "domain": [ "alarm_control_panel" + ], + "supported_features": [ + 32 ] } ] @@ -4895,15 +4607,15 @@ }, "alarm_arm_custom_bypass": { "name": "Arm with custom bypass", - "description": "Send arm custom bypass command.", + "description": "Arms the alarm while allowing to bypass a custom area.", "fields": { "code": { - "name": "Code", - "description": "An optional code to arm custom bypass the alarm control panel with.", "example": "1234", "selector": { "text": null - } + }, + "name": "Code", + "description": "Code to arm the alarm." } }, "target": { @@ -4911,6 +4623,9 @@ { "domain": [ "alarm_control_panel" + ], + "supported_features": [ + 16 ] } ] @@ -4918,15 +4633,15 @@ }, "alarm_trigger": { "name": "Trigger", - "description": "Send the alarm the command for trigger.", + "description": "Enables an external alarm trigger.", "fields": { "code": { - "name": "Code", - "description": "An optional code to trigger the alarm control panel with.", "example": "1234", "selector": { "text": null - } + }, + "name": "Code", + "description": "Code to arm the alarm." } }, "target": { @@ -4934,6 +4649,108 @@ { "domain": [ "alarm_control_panel" + ], + "supported_features": [ + 8 + ] + } + ] + } + } + }, + "lock": { + "unlock": { + "name": "Unlock", + "description": "Unlocks a lock.", + "fields": { + "code": { + "example": 1234, + "selector": { + "text": null + }, + "name": "Code", + "description": "Code used to unlock the lock." + } + }, + "target": { + "entity": [ + { + "domain": [ + "lock" + ] + } + ] + } + }, + "lock": { + "name": "Lock", + "description": "Locks a lock.", + "fields": { + "code": { + "example": 1234, + "selector": { + "text": null + }, + "name": "Code", + "description": "Code used to lock the lock." + } + }, + "target": { + "entity": [ + { + "domain": [ + "lock" + ] + } + ] + } + }, + "open": { + "name": "Open", + "description": "Opens a lock.", + "fields": { + "code": { + "example": 1234, + "selector": { + "text": null + }, + "name": "Code", + "description": "Code used to open the lock." + } + }, + "target": { + "entity": [ + { + "domain": [ + "lock" + ], + "supported_features": [ + 1 + ] + } + ] + } + } + }, + "number": { + "set_value": { + "name": "Set", + "description": "Sets the value of a number.", + "fields": { + "value": { + "example": 42, + "selector": { + "text": null + }, + "name": "Value", + "description": "The target value to set." + } + }, + "target": { + "entity": [ + { + "domain": [ + "number" ] } ] @@ -4943,26 +4760,36 @@ "fan": { "turn_on": { "name": "Turn on", - "description": "Turn fan on.", + "description": "Turns fan on.", "fields": { "percentage": { - "name": "Percentage", - "description": "Percentage speed setting.", + "filter": { + "supported_features": [ + 1 + ] + }, "selector": { "number": { "min": 0, "max": 100, "unit_of_measurement": "%" } - } + }, + "name": "Percentage", + "description": "Speed of the fan." }, "preset_mode": { - "name": "Preset mode", - "description": "Preset mode setting.", "example": "auto", + "filter": { + "supported_features": [ + 8 + ] + }, "selector": { "text": null - } + }, + "name": "Preset mode", + "description": "Preset mode." } }, "target": { @@ -4977,7 +4804,7 @@ }, "turn_off": { "name": "Turn off", - "description": "Turn fan off.", + "description": "Turns fan off.", "fields": {}, "target": { "entity": [ @@ -4991,7 +4818,7 @@ }, "toggle": { "name": "Toggle", - "description": "Toggle the fan on/off.", + "description": "Toggles the fan on/off.", "fields": {}, "target": { "entity": [ @@ -5005,19 +4832,20 @@ }, "increase_speed": { "name": "Increase speed", - "description": "Increase the speed of the fan by one speed or a percentage_step.", + "description": "Increases the speed of the fan.", "fields": { "percentage_step": { "advanced": true, "required": false, - "description": "Increase speed by a percentage.", "selector": { "number": { "min": 0, "max": 100, "unit_of_measurement": "%" } - } + }, + "name": "Increment", + "description": "Increases the speed by a percentage step." } }, "target": { @@ -5025,6 +4853,9 @@ { "domain": [ "fan" + ], + "supported_features": [ + 1 ] } ] @@ -5032,19 +4863,20 @@ }, "decrease_speed": { "name": "Decrease speed", - "description": "Decrease the speed of the fan by one speed or a percentage_step.", + "description": "Decreases the speed of the fan.", "fields": { "percentage_step": { "advanced": true, "required": false, - "description": "Decrease speed by a percentage.", "selector": { "number": { "min": 0, "max": 100, "unit_of_measurement": "%" } - } + }, + "name": "Decrement", + "description": "Decreases the speed by a percentage step." } }, "target": { @@ -5052,6 +4884,9 @@ { "domain": [ "fan" + ], + "supported_features": [ + 1 ] } ] @@ -5059,15 +4894,15 @@ }, "oscillate": { "name": "Oscillate", - "description": "Oscillate the fan.", + "description": "Controls oscillatation of the fan.", "fields": { "oscillating": { - "name": "Oscillating", - "description": "Flag to turn on/off oscillation.", "required": true, "selector": { "boolean": null - } + }, + "name": "Oscillating", + "description": "Turn on/off oscillation." } }, "target": { @@ -5075,6 +4910,9 @@ { "domain": [ "fan" + ], + "supported_features": [ + 2 ] } ] @@ -5082,26 +4920,21 @@ }, "set_direction": { "name": "Set direction", - "description": "Set the fan rotation.", + "description": "Sets the fan rotation direction.", "fields": { "direction": { - "name": "Direction", - "description": "The direction to rotate.", "required": true, "selector": { "select": { "options": [ - { - "label": "Forward", - "value": "forward" - }, - { - "label": "Reverse", - "value": "reverse" - } - ] + "forward", + "reverse" + ], + "translation_key": "direction" } - } + }, + "name": "Direction", + "description": "Direction to rotate." } }, "target": { @@ -5109,18 +4942,19 @@ { "domain": [ "fan" + ], + "supported_features": [ + 4 ] } ] } }, "set_percentage": { - "name": "Set speed percentage", - "description": "Set fan speed percentage.", + "name": "Set speed", + "description": "Sets the fan speed.", "fields": { "percentage": { - "name": "Percentage", - "description": "Percentage speed setting.", "required": true, "selector": { "number": { @@ -5128,7 +4962,9 @@ "max": 100, "unit_of_measurement": "%" } - } + }, + "name": "Percentage", + "description": "Speed of the fan." } }, "target": { @@ -5136,6 +4972,9 @@ { "domain": [ "fan" + ], + "supported_features": [ + 1 ] } ] @@ -5143,16 +4982,16 @@ }, "set_preset_mode": { "name": "Set preset mode", - "description": "Set preset mode for a fan device.", + "description": "Sets preset mode.", "fields": { "preset_mode": { - "name": "Preset mode", - "description": "New value of preset mode.", "required": true, "example": "auto", "selector": { "text": null - } + }, + "name": "Preset mode", + "description": "Preset mode." } }, "target": { @@ -5160,6 +4999,9 @@ { "domain": [ "fan" + ], + "supported_features": [ + 8 ] } ] @@ -5169,7 +5011,7 @@ "select": { "select_first": { "name": "First", - "description": "Select the first option of an select entity.", + "description": "Selects the first option.", "fields": {}, "target": { "entity": [ @@ -5183,7 +5025,7 @@ }, "select_last": { "name": "Last", - "description": "Select the last option of an select entity.", + "description": "Selects the last option.", "fields": {}, "target": { "entity": [ @@ -5197,15 +5039,15 @@ }, "select_next": { "name": "Next", - "description": "Select the next options of an select entity.", + "description": "Selects the next option.", "fields": { "cycle": { - "name": "Cycle", - "description": "If the option should cycle from the last to the first.", "default": true, "selector": { "boolean": null - } + }, + "name": "Cycle", + "description": "If the option should cycle from the last to the first." } }, "target": { @@ -5220,16 +5062,16 @@ }, "select_option": { "name": "Select", - "description": "Select an option of an select entity.", + "description": "Selects an option.", "fields": { "option": { - "name": "Option", - "description": "Option to be selected.", "required": true, "example": "\u0022Item A\u0022", "selector": { "text": null - } + }, + "name": "Option", + "description": "Option to be selected." } }, "target": { @@ -5244,15 +5086,15 @@ }, "select_previous": { "name": "Previous", - "description": "Select the previous options of an select entity.", + "description": "Selects the previous option.", "fields": { "cycle": { - "name": "Cycle", - "description": "If the option should cycle from the first to the last.", "default": true, "selector": { "boolean": null - } + }, + "name": "Cycle", + "description": "If the option should cycle from the first to the last." } }, "target": { @@ -5265,5 +5107,236 @@ ] } } + }, + "siren": { + "turn_on": { + "name": "Turn on", + "description": "Turns the siren on.", + "fields": { + "tone": { + "example": "fire", + "filter": { + "supported_features": [ + 4 + ] + }, + "required": false, + "selector": { + "text": null + }, + "name": "Tone", + "description": "The tone to emit. When \u0060available_tones\u0060 property is a map, either the key or the value can be used. Must be supported by the integration." + }, + "volume_level": { + "example": 0.5, + "filter": { + "supported_features": [ + 8 + ] + }, + "required": false, + "selector": { + "number": { + "min": 0, + "max": 1, + "step": 0.05 + } + }, + "name": "Volume", + "description": "The volume. 0 is inaudible, 1 is the maximum volume. Must be supported by the integration." + }, + "duration": { + "example": 15, + "filter": { + "supported_features": [ + 16 + ] + }, + "required": false, + "selector": { + "text": null + }, + "name": "Duration", + "description": "Number of seconds the sound is played. Must be supported by the integration." + } + }, + "target": { + "entity": [ + { + "domain": [ + "siren" + ], + "supported_features": [ + 1 + ] + } + ] + } + }, + "turn_off": { + "name": "Turn off", + "description": "Turns the siren off.", + "fields": {}, + "target": { + "entity": [ + { + "domain": [ + "siren" + ], + "supported_features": [ + 2 + ] + } + ] + } + }, + "toggle": { + "name": "Toggle", + "description": "Toggles the siren on/off.", + "fields": {}, + "target": { + "entity": [ + { + "domain": [ + "siren" + ], + "supported_features": [ + 3 + ] + } + ] + } + } + }, + "switch": { + "turn_off": { + "name": "Turn off", + "description": "Turns a switch off.", + "fields": {}, + "target": { + "entity": [ + { + "domain": [ + "switch" + ] + } + ] + } + }, + "turn_on": { + "name": "Turn on", + "description": "Turns a switch on.", + "fields": {}, + "target": { + "entity": [ + { + "domain": [ + "switch" + ] + } + ] + } + }, + "toggle": { + "name": "Toggle", + "description": "Toggles a switch on/off.", + "fields": {}, + "target": { + "entity": [ + { + "domain": [ + "switch" + ] + } + ] + } + } + }, + "hue": { + "activate_scene": { + "name": "Activate Hue scene", + "description": "Activates a Hue scene with more control over the options.", + "fields": { + "transition": { + "selector": { + "number": { + "min": 0, + "max": 3600, + "unit_of_measurement": "seconds" + } + }, + "name": "Transition", + "description": "Transition duration it takes to bring devices to the state defined in the scene." + }, + "dynamic": { + "selector": { + "boolean": null + }, + "name": "Dynamic", + "description": "Enable dynamic mode of the scene." + }, + "speed": { + "advanced": true, + "selector": { + "number": { + "min": 0, + "max": 100 + } + }, + "name": "Speed", + "description": "Speed of dynamic palette for this scene." + }, + "brightness": { + "advanced": true, + "selector": { + "number": { + "min": 1, + "max": 255 + } + }, + "name": "Brightness", + "description": "Set brightness for the scene." + } + }, + "target": { + "entity": [ + { + "domain": [ + "scene" + ], + "integration": "hue" + } + ] + } + }, + "hue_activate_scene": { + "name": "Activate scene", + "description": "Activates a hue scene stored in the hue hub.", + "fields": { + "group_name": { + "example": "Living Room", + "selector": { + "text": null + }, + "name": "Group", + "description": "Name of hue group/room from the hue app." + }, + "scene_name": { + "example": "Energize", + "selector": { + "text": null + }, + "name": "Scene", + "description": "Name of hue scene from the hue app." + }, + "dynamic": { + "selector": { + "boolean": null + }, + "name": "Dynamic", + "description": "Enable dynamic mode of the scene (V2 bridges and supported scenes only)." + } + } + } } } \ No newline at end of file diff --git a/apps/HallwayAutomation.cs b/apps/HallwayAutomation.cs index 686e6d2..bd312c0 100644 --- a/apps/HallwayAutomation.cs +++ b/apps/HallwayAutomation.cs @@ -1,42 +1,42 @@ -namespace TeskeHomeAssistant.apps; +//namespace TeskeHomeAssistant.apps; -[NetDaemonApp] -public class HallwayAutomation -{ - public HallwayAutomation(IHaContext ha, IScheduler scheduler, Entities entities, ILogger logger) - { - var hallwayLights = new List - { - entities.Light.Hallway1, - entities.Light.Hallway2, - }; +//[NetDaemonApp] +//public class HallwayAutomation +//{ +// public HallwayAutomation(IHaContext ha, IScheduler scheduler, Entities entities, ILogger logger) +// { +// var hallwayLights = new List +// { +// entities.Light.Hallway1, +// entities.Light.Hallway2, +// }; - new MotionBuilder(entities.BinarySensor.HallwaySensorMotion, scheduler, logger) - .WithMotionAllowed(entities.Switch.HallwaySensorMotion) - .WithOnAction(_ => - { - if (entities.Light.HallwaySwitch.State == "off") - { - entities.Light.HallwaySwitch.TurnOn(); - } - hallwayLights.TurnOn(); - }) - .WithOffAction(_ => hallwayLights.TurnOff(), TimeSpan.FromMinutes(2)) - .Build(); +// new MotionBuilder(entities.BinarySensor.HallwaySensorMotion, scheduler, logger) +// .WithMotionAllowed(entities.Switch.HallwaySensorMotion) +// .WithOnAction(_ => +// { +// if (entities.Light.HallwaySwitch.State == "off") +// { +// entities.Light.HallwaySwitch.TurnOn(); +// } +// hallwayLights.TurnOn(); +// }) +// .WithOffAction(_ => hallwayLights.TurnOff(), TimeSpan.FromMinutes(2)) +// .Build(); - ha.Events.Where(ZigbeeDeviceName.HallwaySwitch, ZigbeeSwitchCommands.On).Subscribe(_ => - { - entities.Switch.HallwaySensorMotion.TurnOff(); - scheduler.Schedule(TimeSpan.FromHours(2), () => entities.Switch.HallwaySensorMotion.TurnOn()); - hallwayLights.TurnOn(); - }); +// ha.Events.Where(ZigbeeDeviceName.HallwaySwitch, ZigbeeSwitchCommands.On).Subscribe(_ => +// { +// entities.Switch.HallwaySensorMotion.TurnOff(); +// scheduler.Schedule(TimeSpan.FromHours(2), () => entities.Switch.HallwaySensorMotion.TurnOn()); +// hallwayLights.TurnOn(); +// }); - ha.Events.Where(ZigbeeDeviceName.HallwaySwitch, ZigbeeSwitchCommands.Off).Subscribe(_ => - { - entities.Switch.HallwaySensorMotion.TurnOff(); - scheduler.Schedule(TimeSpan.FromHours(6), () => entities.Switch.HallwaySensorMotion.TurnOn()); - hallwayLights.TurnOff(); - }); +// ha.Events.Where(ZigbeeDeviceName.HallwaySwitch, ZigbeeSwitchCommands.Off).Subscribe(_ => +// { +// entities.Switch.HallwaySensorMotion.TurnOff(); +// scheduler.Schedule(TimeSpan.FromHours(6), () => entities.Switch.HallwaySensorMotion.TurnOn()); +// hallwayLights.TurnOff(); +// }); - } -} +// } +//} diff --git a/apps/HomeSchedule.cs b/apps/HomeSchedule.cs index 3a60052..6f02a0b 100644 --- a/apps/HomeSchedule.cs +++ b/apps/HomeSchedule.cs @@ -1,125 +1,125 @@ -namespace TeskeHomeAssistant.apps; +//namespace TeskeHomeAssistant.apps; -[NetDaemonApp] -public class HomeSchedule -{ - public HomeSchedule(IScheduler scheduler, Entities entities, IHaContext ha, ILogger logger) - { - var bedroomLights = new List - { - entities.Light.Lamp, - entities.Light.Nightstand, - entities.Light.ElementsAc4b, - }; +//[NetDaemonApp] +//public class HomeSchedule +//{ +// public HomeSchedule(IScheduler scheduler, Entities entities, IHaContext ha, ILogger logger) +// { +// var bedroomLights = new List +// { +// entities.Light.Lamp, +// entities.Light.Nightstand, +// entities.Light.ElementsAc4b, +// }; - var drivewayLights = new List - { - entities.Light.DrivewaySwitchLight, - entities.Light.HueFilamentBulb1, - entities.Light.HueFilamentBulb2, - entities.Light.HueFilamentBulb3, - }; +// var drivewayLights = new List +// { +// entities.Light.DrivewaySwitchLight, +// entities.Light.HueFilamentBulb1, +// entities.Light.HueFilamentBulb2, +// entities.Light.HueFilamentBulb3, +// }; - var fadeDuration = (int)TimeSpan.FromMinutes(5).TotalSeconds; +// var fadeDuration = (int)TimeSpan.FromMinutes(5).TotalSeconds; - List alarmSchedule = new(); - entities.Sensor.DteskePixelNextAlarm.StateChanges().Subscribe(e => - { - var alarmString = e.New?.State; - var result = DateTimeOffset.TryParse(alarmString, out DateTimeOffset nextAlarm); - nextAlarm = nextAlarm.ToOffset(DateTimeOffset.Now.Offset); +// List alarmSchedule = new(); +// entities.Sensor.DteskePixelNextAlarm.StateChanges().Subscribe(e => +// { +// var alarmString = e.New?.State; +// var result = DateTimeOffset.TryParse(alarmString, out DateTimeOffset nextAlarm); +// nextAlarm = nextAlarm.ToOffset(DateTimeOffset.Now.Offset); - logger.LogInformation("Detected alarm state change, new alarm time detected as {@alarmString}, parsed as {@nextAlarm}", alarmString, nextAlarm.LocalDateTime); - // Clean up previously scheduled items - foreach (var scheduled in alarmSchedule) - { - scheduled.Dispose(); - } - logger.LogDebug("Cleaned up {@count} previously scheduled events", alarmSchedule.Count); - alarmSchedule.Clear(); +// logger.LogInformation("Detected alarm state change, new alarm time detected as {@alarmString}, parsed as {@nextAlarm}", alarmString, nextAlarm.LocalDateTime); +// // Clean up previously scheduled items +// foreach (var scheduled in alarmSchedule) +// { +// scheduled.Dispose(); +// } +// logger.LogDebug("Cleaned up {@count} previously scheduled events", alarmSchedule.Count); +// alarmSchedule.Clear(); - if (result) - { - alarmSchedule.Add(scheduler.Schedule(nextAlarm, () => - { - bedroomLights.TurnOn(GlobalConfiguration.BRIGHTNESS_HIGH); - ha.Message("Home Schedule", "Bedroom Lights On", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); - })); +// if (result) +// { +// alarmSchedule.Add(scheduler.Schedule(nextAlarm, () => +// { +// bedroomLights.TurnOn(GlobalConfiguration.BRIGHTNESS_HIGH); +// ha.Message("Home Schedule", "Bedroom Lights On", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); +// })); - nextAlarm = nextAlarm.Subtract(TimeSpan.FromMinutes(5)); - alarmSchedule.Add(scheduler.Schedule(nextAlarm, () => - { - bedroomLights.TurnOn(GlobalConfiguration.BRIGHTNESS_HIGH, fadeDuration); - })); - ha.Message("Home Schedule", $"Lights scheduled to turn on at {nextAlarm.LocalDateTime}", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); +// nextAlarm = nextAlarm.Subtract(TimeSpan.FromMinutes(5)); +// alarmSchedule.Add(scheduler.Schedule(nextAlarm, () => +// { +// bedroomLights.TurnOn(GlobalConfiguration.BRIGHTNESS_HIGH, fadeDuration); +// })); +// ha.Message("Home Schedule", $"Lights scheduled to turn on at {nextAlarm.LocalDateTime}", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); - nextAlarm = nextAlarm.AddMinutes(5).AddHours(2); - alarmSchedule.Add(scheduler.Schedule(nextAlarm, () => - { - bedroomLights.TurnOff(); - ha.Message("Home Schedule", "Bedroom Lignts Off", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); - })); - } - else - { - ha.Message("Home Schedule", $"**Unable to parse alarm string!**", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); - } - }); +// nextAlarm = nextAlarm.AddMinutes(5).AddHours(2); +// alarmSchedule.Add(scheduler.Schedule(nextAlarm, () => +// { +// bedroomLights.TurnOff(); +// ha.Message("Home Schedule", "Bedroom Lignts Off", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); +// })); +// } +// else +// { +// ha.Message("Home Schedule", $"**Unable to parse alarm string!**", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); +// } +// }); - List sunSchedule = new(); - entities.Sun.Sun.StateChanges().Subscribe(e => - { - var sunsetString = e.New?.Attributes?.NextSetting; - var result = DateTimeOffset.TryParse(sunsetString, out DateTimeOffset sunset); +// List sunSchedule = new(); +// entities.Sun.Sun.StateChanges().Subscribe(e => +// { +// var sunsetString = e.New?.Attributes?.NextSetting; +// var result = DateTimeOffset.TryParse(sunsetString, out DateTimeOffset sunset); - logger.LogInformation("Detected sun state change, new sun time detected as {@sunString}, parsed as {@nextAlarm}", sunsetString, sunset.LocalDateTime); - // Clean up previously scheduled items - foreach (var scheduled in sunSchedule) - { - scheduled.Dispose(); - } - logger.LogDebug("Cleaned up {@count} previously scheduled events", sunSchedule.Count); - sunSchedule.Clear(); +// logger.LogInformation("Detected sun state change, new sun time detected as {@sunString}, parsed as {@nextAlarm}", sunsetString, sunset.LocalDateTime); +// // Clean up previously scheduled items +// foreach (var scheduled in sunSchedule) +// { +// scheduled.Dispose(); +// } +// logger.LogDebug("Cleaned up {@count} previously scheduled events", sunSchedule.Count); +// sunSchedule.Clear(); - if (result) - { - // If we got a sunset from HA, set the schedule for 30 min before that - sunset = sunset.Subtract(TimeSpan.FromMinutes(30)); - sunSchedule.Add(scheduler.Schedule(sunset, () => - { - drivewayLights.TurnOn(GlobalConfiguration.BRIGHTNESS_HIGH); - bedroomLights.TurnOn(GlobalConfiguration.BRIGHTNESS_HIGH); - ha.Message("Home Schedule", "Outside & Bedroom Lights On", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); - })); - ha.Message("Home Schedule", $"Lights scheduled to turn on at {sunset.LocalDateTime}", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); - } - else - { - ha.Message("Home Schedule", $"**Unable to parse sunset!**", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); - } - }); +// if (result) +// { +// // If we got a sunset from HA, set the schedule for 30 min before that +// sunset = sunset.Subtract(TimeSpan.FromMinutes(30)); +// sunSchedule.Add(scheduler.Schedule(sunset, () => +// { +// drivewayLights.TurnOn(GlobalConfiguration.BRIGHTNESS_HIGH); +// bedroomLights.TurnOn(GlobalConfiguration.BRIGHTNESS_HIGH); +// ha.Message("Home Schedule", "Outside & Bedroom Lights On", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); +// })); +// ha.Message("Home Schedule", $"Lights scheduled to turn on at {sunset.LocalDateTime}", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); +// } +// else +// { +// ha.Message("Home Schedule", $"**Unable to parse sunset!**", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); +// } +// }); - // 11:00 PM - scheduler.ScheduleCron("00 23 * * *", () => - { - drivewayLights.TurnOff(); - ha.Message("Home Schedule", "11:00 PM Outside Lights Off", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); - }); +// // 11:00 PM +// scheduler.ScheduleCron("00 23 * * *", () => +// { +// drivewayLights.TurnOff(); +// ha.Message("Home Schedule", "11:00 PM Outside Lights Off", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); +// }); - // 11:15 PM - scheduler.ScheduleCron("15 23 * * *", () => - { - entities.Light.Lamp.TurnOff(fadeDuration); - entities.Light.Nightstand.TurnOff(fadeDuration); - ha.Message("Home Schedule", "11:15 PM Fade Bedroom Lights", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); - }); +// // 11:15 PM +// scheduler.ScheduleCron("15 23 * * *", () => +// { +// entities.Light.Lamp.TurnOff(fadeDuration); +// entities.Light.Nightstand.TurnOff(fadeDuration); +// ha.Message("Home Schedule", "11:15 PM Fade Bedroom Lights", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); +// }); - // 11:30 PM - scheduler.ScheduleCron("25 23 * * *", () => - { - entities.Light.ElementsAc4b.TurnOff(fadeDuration); - ha.Message("Home Schedule", "11:25 PM Fade Bedroom Nanoleaf", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); - }); +// // 11:30 PM +// scheduler.ScheduleCron("25 23 * * *", () => +// { +// entities.Light.ElementsAc4b.TurnOff(fadeDuration); +// ha.Message("Home Schedule", "11:25 PM Fade Bedroom Nanoleaf", entities.InputBoolean.NetdaemonAutomationsHomeSchedule.EntityId); +// }); - } -} +// } +//} diff --git a/apps/LaundryRoomAutomation.cs b/apps/LaundryRoomAutomation.cs index 94ee409..ec8a74c 100644 --- a/apps/LaundryRoomAutomation.cs +++ b/apps/LaundryRoomAutomation.cs @@ -1,19 +1,19 @@ -namespace TeskeHomeAssistant.apps; +//namespace TeskeHomeAssistant.apps; -[NetDaemonApp] -public class LaundryRoomAutomation -{ - public LaundryRoomAutomation(IScheduler scheduler, Entities entities, ILogger logger) - { - var laundryRoomLights = new List - { - entities.Light.LaundryRoomLight - }; +//[NetDaemonApp] +//public class LaundryRoomAutomation +//{ +// public LaundryRoomAutomation(IScheduler scheduler, Entities entities, ILogger logger) +// { +// var laundryRoomLights = new List +// { +// entities.Light.LaundryRoomLight +// }; - new MotionBuilder(entities.BinarySensor.LaundryRoomSensorMotion, scheduler, logger) - .WithMotionAllowed(entities.Switch.LaundryRoomSensorMotion) - .WithOnAction(_ => laundryRoomLights.TurnOn(60)) - .WithOffAction(_ => laundryRoomLights.TurnOff(), TimeSpan.FromMinutes(5)) - .Build(); - } -} +// new MotionBuilder(entities.BinarySensor.LaundryRoomSensorMotion, scheduler, logger) +// .WithMotionAllowed(entities.Switch.LaundryRoomSensorMotion) +// .WithOnAction(_ => laundryRoomLights.TurnOn(60)) +// .WithOffAction(_ => laundryRoomLights.TurnOff(), TimeSpan.FromMinutes(5)) +// .Build(); +// } +//} diff --git a/apps/LivingRoomAutomation.cs b/apps/LivingRoomAutomation.cs index 63a5e2a..773c4fd 100644 --- a/apps/LivingRoomAutomation.cs +++ b/apps/LivingRoomAutomation.cs @@ -1,48 +1,48 @@ -namespace TeskeHomeAssistant.apps; +//namespace TeskeHomeAssistant.apps; -[NetDaemonApp] -public class LivingRoomAutomation -{ - public LivingRoomAutomation(IHaContext ha, Entities entities) - { - var livingRoomLights = new List - { - entities.Light.LivingRoomSwitchLight, - entities.Light.LivingRoomLamp, - entities.Switch.LivingRoomTableSwitch - }; - var dimmer = new Dimmer(100, 20, 2); +//[NetDaemonApp] +//public class LivingRoomAutomation +//{ +// public LivingRoomAutomation(IHaContext ha, Entities entities) +// { +// var livingRoomLights = new List +// { +// entities.Light.LivingRoomSwitchLight, +// entities.Light.LivingRoomLamp, +// entities.Switch.LivingRoomTableSwitch +// }; +// var dimmer = new Dimmer(100, 20, 2); - ha.Events.Where(ZigbeeDeviceName.LivingRoomButton, ZigbeeButtonCommands.Press).Subscribe(_ => - { - livingRoomLights.TurnOn(dimmer.Next()); - }); +// ha.Events.Where(ZigbeeDeviceName.LivingRoomButton, ZigbeeButtonCommands.Press).Subscribe(_ => +// { +// livingRoomLights.TurnOn(dimmer.Next()); +// }); - ha.Events.Where(ZigbeeDeviceName.LivingRoomButton, ZigbeeButtonCommands.DoublePress).Subscribe(_ => - { - entities.Switch.LivingRoomSquareLampSwitch.Toggle(); - }); +// ha.Events.Where(ZigbeeDeviceName.LivingRoomButton, ZigbeeButtonCommands.DoublePress).Subscribe(_ => +// { +// entities.Switch.LivingRoomSquareLampSwitch.Toggle(); +// }); - ha.Events.Where(ZigbeeDeviceName.LivingRoomButton, ZigbeeButtonCommands.LongPress).Subscribe(_ => - { - livingRoomLights.TurnOff(); - }); +// ha.Events.Where(ZigbeeDeviceName.LivingRoomButton, ZigbeeButtonCommands.LongPress).Subscribe(_ => +// { +// livingRoomLights.TurnOff(); +// }); - entities.Light.LivingRoomSwitchLight.StateChanges() - .Subscribe(e => - { - if (e.New?.State == "on") - { - dimmer.SetStep(2); - livingRoomLights.TurnOn(dimmer.Current); - entities.Switch.LivingRoomSquareLampSwitch.TurnOn(); - } - if (e.New?.State == "off") - { - livingRoomLights.TurnOff(); - entities.Switch.LivingRoomSquareLampSwitch.TurnOff(); - } - }); +// entities.Light.LivingRoomSwitchLight.StateChanges() +// .Subscribe(e => +// { +// if (e.New?.State == "on") +// { +// dimmer.SetStep(2); +// livingRoomLights.TurnOn(dimmer.Current); +// entities.Switch.LivingRoomSquareLampSwitch.TurnOn(); +// } +// if (e.New?.State == "off") +// { +// livingRoomLights.TurnOff(); +// entities.Switch.LivingRoomSquareLampSwitch.TurnOff(); +// } +// }); - } -} +// } +//} diff --git a/apps/MasterBedroomAutomation.cs b/apps/MasterBedroomAutomation.cs index a188129..33df2b9 100644 --- a/apps/MasterBedroomAutomation.cs +++ b/apps/MasterBedroomAutomation.cs @@ -1,44 +1,44 @@ -namespace TeskeHomeAssistant.apps; +//namespace TeskeHomeAssistant.apps; -[NetDaemonApp] -public class MasterBedroomAutomation -{ - public MasterBedroomAutomation(IHaContext ha, IScheduler scheduler, Entities entities, ILogger logger) - { - var closetLights = new List - { - entities.Light.MasterCloset1, - entities.Light.MasterCloset2 - }; +//[NetDaemonApp] +//public class MasterBedroomAutomation +//{ +// public MasterBedroomAutomation(IHaContext ha, IScheduler scheduler, Entities entities, ILogger logger) +// { +// var closetLights = new List +// { +// entities.Light.MasterCloset1, +// entities.Light.MasterCloset2 +// }; - var bedroomLights = new List - { - entities.Light.Lamp, - entities.Light.Nightstand, - entities.Light.ElementsAc4b - }; +// var bedroomLights = new List +// { +// entities.Light.Lamp, +// entities.Light.Nightstand, +// entities.Light.ElementsAc4b +// }; - var dimmer = new Dimmer(100, 20, 2); +// var dimmer = new Dimmer(100, 20, 2); - new MotionBuilder(entities.BinarySensor.MasterClosetMotion, scheduler, logger) - .WithMotionAllowed(entities.Switch.MasterClosetMotion) - .WithOnAction(_ => closetLights.TurnOn()) - .WithOffAction(_ => closetLights.TurnOff(), TimeSpan.FromMinutes(1)) - .Build(); +// new MotionBuilder(entities.BinarySensor.MasterClosetMotion, scheduler, logger) +// .WithMotionAllowed(entities.Switch.MasterClosetMotion) +// .WithOnAction(_ => closetLights.TurnOn()) +// .WithOffAction(_ => closetLights.TurnOff(), TimeSpan.FromMinutes(1)) +// .Build(); - ha.Events.Where(ZigbeeDeviceName.MasterBedroomButton, ZigbeeButtonCommands.LongPress).Subscribe(_ => - { - bedroomLights.TurnOff(); - closetLights.TurnOff(); ; - entities.Switch.MasterClosetMotion.TurnOff(); - scheduler.Schedule(TimeSpan.FromHours(6), () => entities.Switch.MasterClosetMotion.TurnOn()); - dimmer.SetStep(1); - }); +// ha.Events.Where(ZigbeeDeviceName.MasterBedroomButton, ZigbeeButtonCommands.LongPress).Subscribe(_ => +// { +// bedroomLights.TurnOff(); +// closetLights.TurnOff(); ; +// entities.Switch.MasterClosetMotion.TurnOff(); +// scheduler.Schedule(TimeSpan.FromHours(6), () => entities.Switch.MasterClosetMotion.TurnOn()); +// dimmer.SetStep(1); +// }); - ha.Events.Where(ZigbeeDeviceName.MasterBedroomButton, ZigbeeButtonCommands.Press).Subscribe(_ => - { - bedroomLights.TurnOn(dimmer.Next()); - entities.Switch.MasterClosetMotion.TurnOn(); - }); - } -} +// ha.Events.Where(ZigbeeDeviceName.MasterBedroomButton, ZigbeeButtonCommands.Press).Subscribe(_ => +// { +// bedroomLights.TurnOn(dimmer.Next()); +// entities.Switch.MasterClosetMotion.TurnOn(); +// }); +// } +//} diff --git a/apps/OfficeAutomation.cs b/apps/OfficeAutomation.cs index 45d448b..6d7cb09 100644 --- a/apps/OfficeAutomation.cs +++ b/apps/OfficeAutomation.cs @@ -7,14 +7,12 @@ public OfficeAutomation(IHaContext ha, IScheduler scheduler, Entities entities, { var officeLights = new List { - entities.Light.OfficeDeskLamp1, - entities.Light.OfficeDeskLamp2, - entities.Light.Shapes7b48 + entities.Light.OfficeLights, }; var dimmer = new Dimmer(100, 20, 2); - new MotionBuilder(entities.BinarySensor.OfficeSensorMotion, scheduler, logger) + new MotionBuilder(entities.BinarySensor.OfficeMotionSensor, scheduler, logger) .WithMotionAllowed(entities.InputBoolean.OfficeMotionAllowed) .WithOnAction(_ => officeLights.TurnOn(dimmer.Current)) .WithOffAction(_ => @@ -24,14 +22,6 @@ public OfficeAutomation(IHaContext ha, IScheduler scheduler, Entities entities, }, TimeSpan.FromHours(1)) .Build(); - ha.Events.Where(ZigbeeDeviceName.OfficeButton, ZigbeeButtonCommands.LongPress).Subscribe(_ => - { - entities.InputBoolean.OfficeMotionAllowed.TurnOff(); - officeLights.TurnOff(); - dimmer.SetStep(2); - scheduler.Schedule(TimeSpan.FromHours(2), () => entities.InputBoolean.OfficeMotionAllowed.TurnOn()); - }); - ha.Events.Where(ZigbeeDeviceName.OfficeButton, ZigbeeButtonCommands.Press).Subscribe(_ => { entities.InputBoolean.OfficeMotionAllowed.TurnOff(); @@ -44,5 +34,13 @@ public OfficeAutomation(IHaContext ha, IScheduler scheduler, Entities entities, officeLights.TurnOn(dimmer.Next()); logger.LogInformation("New brightness is {@brightness}", dimmer.Current); }); + + ha.Events.Where(ZigbeeDeviceName.OfficeButton, ZigbeeButtonCommands.LongPress).Subscribe(_ => + { + entities.InputBoolean.OfficeMotionAllowed.TurnOff(); + officeLights.TurnOff(); + dimmer.SetStep(2); + scheduler.Schedule(TimeSpan.FromHours(2), () => entities.InputBoolean.OfficeMotionAllowed.TurnOn()); + }); } }