diff --git a/configurations/homie/modules/home-assistant/netdaemon/.version b/configurations/homie/modules/home-assistant/netdaemon/.version index a3b77523..3c88528a 100644 --- a/configurations/homie/modules/home-assistant/netdaemon/.version +++ b/configurations/homie/modules/home-assistant/netdaemon/.version @@ -1 +1 @@ -25.14.1 +25.18.0 diff --git a/configurations/homie/modules/home-assistant/netdaemon/HomeAssistantGenerated b/configurations/homie/modules/home-assistant/netdaemon/HomeAssistantGenerated index 8d1b0d88..b5afa1e0 100644 --- a/configurations/homie/modules/home-assistant/netdaemon/HomeAssistantGenerated +++ b/configurations/homie/modules/home-assistant/netdaemon/HomeAssistantGenerated @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // <auto-generated> -// Generated using NetDaemon CodeGenerator nd-codegen v25.14.1.0 -// At: 2025-04-14T14:05:15.5864843-04:00 +// Generated using NetDaemon CodeGenerator nd-codegen v25.18.0.0 +// At: 2025-05-07T22:05:30.0907220-04:00 // // *** Make sure the version of the codegen tool and your nugets NetDaemon.* have the same version.*** // You can use following command to keep it up to date with the latest version: @@ -67,6 +67,7 @@ public static class GeneratedExtensions serviceCollection.AddTransient<ZoneEntities>(); serviceCollection.AddTransient<UpdateEntities>(); serviceCollection.AddTransient<InputNumberEntities>(); + serviceCollection.AddTransient<InputSelectEntities>(); serviceCollection.AddTransient<Services>(); serviceCollection.AddTransient<AndroidtvServices>(); serviceCollection.AddTransient<AssistSatelliteServices>(); @@ -119,7 +120,6 @@ public static class GeneratedExtensions serviceCollection.AddTransient<TodoServices>(); serviceCollection.AddTransient<TtsServices>(); serviceCollection.AddTransient<UpdateServices>(); - serviceCollection.AddTransient<WeatherServices>(); serviceCollection.AddTransient<YamahaSoundbarServices>(); serviceCollection.AddTransient<ZoneServices>(); return serviceCollection; @@ -146,6 +146,7 @@ public class GeneratedEntityFactory : IEntityFactory "device_tracker" => new DeviceTrackerEntity(haContext, entityId), "input_boolean" => new InputBooleanEntity(haContext, entityId), "input_number" => new InputNumberEntity(haContext, entityId), + "input_select" => new InputSelectEntity(haContext, entityId), "input_text" => new InputTextEntity(haContext, entityId), "light" => new LightEntity(haContext, entityId), "lock" => new LockEntity(haContext, entityId), @@ -231,6 +232,8 @@ public interface IEntities UpdateEntities Update { get; } InputNumberEntities InputNumber { get; } + + InputSelectEntities InputSelect { get; } } public partial class Entities : IEntities @@ -270,6 +273,7 @@ public partial class Entities : IEntities public ZoneEntities Zone => new(_haContext); public UpdateEntities Update => new(_haContext); public InputNumberEntities InputNumber => new(_haContext); + public InputSelectEntities InputSelect => new(_haContext); } public partial class LightEntities @@ -300,15 +304,16 @@ public partial class MediaPlayerEntities public IEnumerable<MediaPlayerEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("media_player.")).Select(e => new MediaPlayerEntity(e)); ///<summary>Android TV 192.168.0.106</summary> public MediaPlayerEntity AndroidTv1921680106 => new(_haContext, "media_player.android_tv_192_168_0_106"); - ///<summary>YAS_209</summary> + ///<summary>Living Room Speaker</summary> public MediaPlayerEntity LivingRoomSpeaker => new(_haContext, "media_player.living_room_speaker"); + ///<summary>YAS_209</summary> + public MediaPlayerEntity LivingRoomSpeaker2 => new(_haContext, "media_player.living_room_speaker_2"); ///<summary>UE Boom 2</summary> public MediaPlayerEntity MusicPlayerDaemon => new(_haContext, "media_player.music_player_daemon"); ///<summary>Living room TV</summary> public MediaPlayerEntity Onn4kStreamingBox => new(_haContext, "media_player.onn_4k_streaming_box"); ///<summary>Living room TV</summary> public MediaPlayerEntity Onn4kStreamingBox2 => new(_haContext, "media_player.onn_4k_streaming_box_2"); - ///<summary>Spotify matt</summary> public MediaPlayerEntity SpotifyMatt => new(_haContext, "media_player.spotify_matt"); ///<summary>SpotifyPlus matt</summary> public MediaPlayerEntity Spotifyplus => new(_haContext, "media_player.spotifyplus"); @@ -356,7 +361,7 @@ public partial class BinarySensorEntities /// <summary>Enumerates all binary_sensor entities currently registered (at runtime) in Home Assistant as BinarySensorEntity</summary> public IEnumerable<BinarySensorEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("binary_sensor.")).Select(e => new BinarySensorEntity(e)); - ///<summary>CODA-4680-FIZ WAN status</summary> + ///<summary>WAN status</summary> public BinarySensorEntity Coda4680FizWanStatus => new(_haContext, "binary_sensor.coda_4680_fiz_wan_status"); ///<summary>M5Stack Atom Echo 31196c Button</summary> public BinarySensorEntity M5stackAtomEcho31196cButton => new(_haContext, "binary_sensor.m5stack_atom_echo_31196c_button"); @@ -458,7 +463,9 @@ public partial class DeviceTrackerEntities public DeviceTrackerEntity Mc2000103066422c1 => new(_haContext, "device_tracker.mc200_01_030664_22c1"); public DeviceTrackerEntity Mc200010318862a53 => new(_haContext, "device_tracker.mc200_01_031886_2a53"); public DeviceTrackerEntity Mc20001070702B39d => new(_haContext, "device_tracker.mc200_01_070702_b39d"); + public DeviceTrackerEntity Mc200010838791059 => new(_haContext, "device_tracker.mc200_01_083879_1059"); public DeviceTrackerEntity Mc20001142816Ce44 => new(_haContext, "device_tracker.mc200_01_142816_ce44"); + public DeviceTrackerEntity Mc200011516196ec5 => new(_haContext, "device_tracker.mc200_01_151619_6ec5"); public DeviceTrackerEntity Mc200011585562218 => new(_haContext, "device_tracker.mc200_01_158556_2218"); public DeviceTrackerEntity Mc200011595051493 => new(_haContext, "device_tracker.mc200_01_159505_1493"); public DeviceTrackerEntity Mc20001177515458e => new(_haContext, "device_tracker.mc200_01_177515_458e"); @@ -478,6 +485,8 @@ public partial class InputBooleanEntities /// <summary>Enumerates all input_boolean entities currently registered (at runtime) in Home Assistant as InputBooleanEntity</summary> public IEnumerable<InputBooleanEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("input_boolean.")).Select(e => new InputBooleanEntity(e)); + ///<summary>Material You Style Upgrades</summary> + public InputBooleanEntity MaterialYouStyles => new(_haContext, "input_boolean.material_you_styles"); ///<summary>netdaemon_net_daemon_config_apps_frontend_bathroom_light_bathroom_light</summary> public InputBooleanEntity NetdaemonNetDaemonConfigAppsFrontendBathroomLightBathroomLight => new(_haContext, "input_boolean.netdaemon_net_daemon_config_apps_frontend_bathroom_light_bathroom_light"); ///<summary>netdaemon_net_daemon_config_apps_spotify_pause_unpause_pause_unpause</summary> @@ -514,6 +523,8 @@ public partial class InputTextEntities public InputTextEntity BathroomLightBrightness => new(_haContext, "input_text.bathroom_light_brightness"); ///<summary>BathroomLightTemperature</summary> public InputTextEntity BathroomLightTemperature => new(_haContext, "input_text.bathroom_light_temperature"); + ///<summary>Material You Base Color</summary> + public InputTextEntity MaterialYouBaseColor => new(_haContext, "input_text.material_you_base_color"); } public partial class LockEntities @@ -652,7 +663,13 @@ public partial class SensorEntities public IEnumerable<SensorEntity> EnumerateAllNonNumeric() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("sensor.") && !(e.EntityState?.AttributesJson?.TryGetProperty("unit_of_measurement", out _) ?? false)).Select(e => new SensorEntity(e)); /// <summary>Enumerates all numeric sensor entities currently registered (at runtime) in Home Assistant as NumericSensorEntity</summary> public IEnumerable<NumericSensorEntity> EnumerateAllNumeric() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("sensor.") && (e.EntityState?.AttributesJson?.TryGetProperty("unit_of_measurement", out _) ?? false)).Select(e => new NumericSensorEntity(e)); - ///<summary>CODA-4680-FIZ External IP</summary> + ///<summary>Backup Backup Manager state</summary> + public SensorEntity BackupBackupManagerState => new(_haContext, "sensor.backup_backup_manager_state"); + ///<summary>Backup Last successful automatic backup</summary> + public SensorEntity BackupLastSuccessfulAutomaticBackup => new(_haContext, "sensor.backup_last_successful_automatic_backup"); + ///<summary>Backup Next scheduled automatic backup</summary> + public SensorEntity BackupNextScheduledAutomaticBackup => new(_haContext, "sensor.backup_next_scheduled_automatic_backup"); + ///<summary>External IP</summary> public SensorEntity Coda4680FizExternalIp => new(_haContext, "sensor.coda_4680_fiz_external_ip"); ///<summary>Material Rounded Base Color Matt</summary> public SensorEntity MaterialRoundedBaseColorMatt => new(_haContext, "sensor.material_rounded_base_color_matt"); @@ -746,13 +763,13 @@ public partial class SensorEntities public SensorEntity Zigbee2mqttBridgeVersion => new(_haContext, "sensor.zigbee2mqtt_bridge_version"); ///<summary>Estimated distance</summary> public NumericSensorEntity Care4b6bEstimatedDistance => new(_haContext, "sensor.care_4b6b_estimated_distance"); - ///<summary>CODA-4680-FIZ Data received</summary> + ///<summary>Data received</summary> public NumericSensorEntity Coda4680FizDataReceived => new(_haContext, "sensor.coda_4680_fiz_data_received"); - ///<summary>CODA-4680-FIZ Data sent</summary> + ///<summary>Data sent</summary> public NumericSensorEntity Coda4680FizDataSent => new(_haContext, "sensor.coda_4680_fiz_data_sent"); - ///<summary>CODA-4680-FIZ Download speed</summary> + ///<summary>Download speed</summary> public NumericSensorEntity Coda4680FizDownloadSpeed => new(_haContext, "sensor.coda_4680_fiz_download_speed"); - ///<summary>CODA-4680-FIZ Upload speed</summary> + ///<summary>Upload speed</summary> public NumericSensorEntity Coda4680FizUploadSpeed => new(_haContext, "sensor.coda_4680_fiz_upload_speed"); ///<summary>Estimated distance</summary> public NumericSensorEntity Mc2000103066422c1EstimatedDistance => new(_haContext, "sensor.mc200_01_030664_22c1_estimated_distance"); @@ -761,8 +778,12 @@ public partial class SensorEntities ///<summary>Estimated distance</summary> public NumericSensorEntity Mc20001070702B39dEstimatedDistance => new(_haContext, "sensor.mc200_01_070702_b39d_estimated_distance"); ///<summary>Estimated distance</summary> + public NumericSensorEntity Mc200010838791059EstimatedDistance => new(_haContext, "sensor.mc200_01_083879_1059_estimated_distance"); + ///<summary>Estimated distance</summary> public NumericSensorEntity Mc20001142816Ce44EstimatedDistance => new(_haContext, "sensor.mc200_01_142816_ce44_estimated_distance"); ///<summary>Estimated distance</summary> + public NumericSensorEntity Mc200011516196ec5EstimatedDistance => new(_haContext, "sensor.mc200_01_151619_6ec5_estimated_distance"); + ///<summary>Estimated distance</summary> public NumericSensorEntity Mc200011585562218EstimatedDistance => new(_haContext, "sensor.mc200_01_158556_2218_estimated_distance"); ///<summary>Estimated distance</summary> public NumericSensorEntity Mc200011595051493EstimatedDistance => new(_haContext, "sensor.mc200_01_159505_1493_estimated_distance"); @@ -930,7 +951,7 @@ public partial class WeatherEntities public IEnumerable<WeatherEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("weather.")).Select(e => new WeatherEntity(e)); ///<summary>Home</summary> public WeatherEntity ForecastHome => new(_haContext, "weather.forecast_home"); - ///<summary>Forecast Home</summary> + ///<summary>Home</summary> public WeatherEntity ForecastHome2 => new(_haContext, "weather.forecast_home_2"); } @@ -978,6 +999,22 @@ public partial class InputNumberEntities public InputNumberEntity BathroomLightBrightness => new(_haContext, "input_number.bathroom_light_brightness"); ///<summary>BathroomLightTemperature</summary> public InputNumberEntity BathroomLightTemperature => new(_haContext, "input_number.bathroom_light_temperature"); + ///<summary>Material You Contrast Level</summary> + public InputNumberEntity MaterialYouContrast => new(_haContext, "input_number.material_you_contrast"); +} + +public partial class InputSelectEntities +{ + private readonly IHaContext _haContext; + public InputSelectEntities(IHaContext haContext) + { + _haContext = haContext; + } + + /// <summary>Enumerates all input_select entities currently registered (at runtime) in Home Assistant as InputSelectEntity</summary> + public IEnumerable<InputSelectEntity> EnumerateAll() => _haContext.GetAllEntities().Where(e => e.EntityId.StartsWith("input_select.")).Select(e => new InputSelectEntity(e)); + ///<summary>Material You Scheme Name</summary> + public InputSelectEntity MaterialYouScheme => new(_haContext, "input_select.material_you_scheme"); } public partial record LightEntity : Entity<LightEntity, EntityState<LightAttributes>, LightAttributes>, ILightEntityCore @@ -1342,6 +1379,12 @@ public partial record BinarySensorAttributes [JsonPropertyName("icon")] public string? Icon { get; init; } + + [JsonPropertyName("restored")] + public bool? Restored { get; init; } + + [JsonPropertyName("supported_features")] + public double? SupportedFeatures { get; init; } } public partial record ButtonEntity : Entity<ButtonEntity, EntityState<ButtonAttributes>, ButtonAttributes>, IButtonEntityCore @@ -1493,6 +1536,9 @@ public partial record InputBooleanAttributes [JsonPropertyName("friendly_name")] public string? FriendlyName { get; init; } + + [JsonPropertyName("icon")] + public string? Icon { get; init; } } public partial record InputTextEntity : Entity<InputTextEntity, EntityState<InputTextAttributes>, InputTextAttributes>, IInputTextEntityCore @@ -1857,6 +1903,12 @@ public partial record SensorAttributes [JsonPropertyName("74278bda-b644-4520-8f0c-720eaf059935_0_50585")] public double? _74278bdab64445208f0c720eaf059935050585 { get; init; } + + [JsonPropertyName("restored")] + public bool? Restored { get; init; } + + [JsonPropertyName("supported_features")] + public double? SupportedFeatures { get; init; } } public partial record NumericSensorEntity : NumericEntity<NumericSensorEntity, NumericEntityState<NumericSensorAttributes>, NumericSensorAttributes>, ISensorEntityCore @@ -2301,6 +2353,53 @@ public partial record InputNumberAttributes [JsonPropertyName("supported_features")] public double? SupportedFeatures { get; init; } + + [JsonPropertyName("initial")] + public object? Initial { get; init; } + + [JsonPropertyName("editable")] + public bool? Editable { get; init; } + + [JsonPropertyName("min")] + public double? Min { get; init; } + + [JsonPropertyName("max")] + public double? Max { get; init; } + + [JsonPropertyName("step")] + public double? Step { get; init; } + + [JsonPropertyName("mode")] + public string? Mode { get; init; } + + [JsonPropertyName("icon")] + public string? Icon { get; init; } +} + +public partial record InputSelectEntity : Entity<InputSelectEntity, EntityState<InputSelectAttributes>, InputSelectAttributes>, IInputSelectEntityCore +{ + public InputSelectEntity(IHaContext haContext, string entityId) : base(haContext, entityId) + { + } + + public InputSelectEntity(IEntityCore entity) : base(entity) + { + } +} + +public partial record InputSelectAttributes +{ + [JsonPropertyName("options")] + public IReadOnlyList<string>? Options { get; init; } + + [JsonPropertyName("editable")] + public bool? Editable { get; init; } + + [JsonPropertyName("icon")] + public string? Icon { get; init; } + + [JsonPropertyName("friendly_name")] + public string? FriendlyName { get; init; } } public interface IServices @@ -2407,8 +2506,6 @@ public interface IServices UpdateServices Update { get; } - WeatherServices Weather { get; } - YamahaSoundbarServices YamahaSoundbar { get; } ZoneServices Zone { get; } @@ -2473,7 +2570,6 @@ public partial class Services : IServices public TodoServices Todo => new(_haContext); public TtsServices Tts => new(_haContext); public UpdateServices Update => new(_haContext); - public WeatherServices Weather => new(_haContext); public YamahaSoundbarServices YamahaSoundbar => new(_haContext); public ZoneServices Zone => new(_haContext); } @@ -2585,9 +2681,11 @@ public partial class AssistSatelliteServices ///<summary>Lets a satellite announce a message.</summary> ///<param name="message">The message to announce. eg: Time to wake up!</param> ///<param name="mediaId">The media ID to announce instead of using text-to-speech.</param> - public void Announce(ServiceTarget target, string? message = null, string? mediaId = null) + ///<param name="preannounce">Play a sound before the announcement.</param> + ///<param name="preannounceMediaId">Custom media ID to play before the announcement.</param> + public void Announce(ServiceTarget target, string? message = null, string? mediaId = null, bool? preannounce = null, string? preannounceMediaId = null) { - _haContext.CallService("assist_satellite", "announce", target, new AssistSatelliteAnnounceParameters { Message = message, MediaId = mediaId }); + _haContext.CallService("assist_satellite", "announce", target, new AssistSatelliteAnnounceParameters { Message = message, MediaId = mediaId, Preannounce = preannounce, PreannounceMediaId = preannounceMediaId }); } ///<summary>Starts a conversation from a satellite.</summary> @@ -2601,9 +2699,11 @@ public partial class AssistSatelliteServices ///<param name="startMessage">The message to start with. eg: You left the lights on in the living room. Turn them off?</param> ///<param name="startMediaId">The media ID to start with instead of using text-to-speech.</param> ///<param name="extraSystemPrompt">Provide background information to the AI about the request.</param> - public void StartConversation(ServiceTarget target, string? startMessage = null, string? startMediaId = null, string? extraSystemPrompt = null) + ///<param name="preannounce">Play a sound before the start message or media.</param> + ///<param name="preannounceMediaId">Custom media ID to play before the start message or media.</param> + public void StartConversation(ServiceTarget target, string? startMessage = null, string? startMediaId = null, string? extraSystemPrompt = null, bool? preannounce = null, string? preannounceMediaId = null) { - _haContext.CallService("assist_satellite", "start_conversation", target, new AssistSatelliteStartConversationParameters { StartMessage = startMessage, StartMediaId = startMediaId, ExtraSystemPrompt = extraSystemPrompt }); + _haContext.CallService("assist_satellite", "start_conversation", target, new AssistSatelliteStartConversationParameters { StartMessage = startMessage, StartMediaId = startMediaId, ExtraSystemPrompt = extraSystemPrompt, Preannounce = preannounce, PreannounceMediaId = preannounceMediaId }); } } @@ -2616,6 +2716,14 @@ public partial record AssistSatelliteAnnounceParameters ///<summary>The media ID to announce instead of using text-to-speech.</summary> [JsonPropertyName("media_id")] public string? MediaId { get; init; } + + ///<summary>Play a sound before the announcement.</summary> + [JsonPropertyName("preannounce")] + public bool? Preannounce { get; init; } + + ///<summary>Custom media ID to play before the announcement.</summary> + [JsonPropertyName("preannounce_media_id")] + public string? PreannounceMediaId { get; init; } } public partial record AssistSatelliteStartConversationParameters @@ -2631,6 +2739,14 @@ public partial record AssistSatelliteStartConversationParameters ///<summary>Provide background information to the AI about the request.</summary> [JsonPropertyName("extra_system_prompt")] public string? ExtraSystemPrompt { get; init; } + + ///<summary>Play a sound before the start message or media.</summary> + [JsonPropertyName("preannounce")] + public bool? Preannounce { get; init; } + + ///<summary>Custom media ID to play before the start message or media.</summary> + [JsonPropertyName("preannounce_media_id")] + public string? PreannounceMediaId { get; init; } } public partial class AutomationServices @@ -2770,14 +2886,14 @@ public partial class CalendarServices _haContext.CallService("calendar", "create_event", target, new CalendarCreateEventParameters { Summary = summary, Description = description, StartDateTime = startDateTime, EndDateTime = endDateTime, StartDate = startDate, EndDate = endDate, In = @in, Location = location }); } - ///<summary>Get events on a calendar within a time range.</summary> + ///<summary>Retrieves events on a calendar within a time range.</summary> ///<param name="target">The target for this service call</param> public void GetEvents(ServiceTarget target, CalendarGetEventsParameters data) { _haContext.CallService("calendar", "get_events", target, data); } - ///<summary>Get events on a calendar within a time range.</summary> + ///<summary>Retrieves events on a calendar within a time range.</summary> ///<param name="startDateTime">Returns active events after this time (exclusive). When not set, defaults to now. eg: 2022-03-22 20:00:00</param> ///<param name="endDateTime">Returns active events before this time (exclusive). Cannot be used with Duration. eg: 2022-03-22 22:00:00</param> ///<param name="duration">Returns active events from Start time for the specified duration.</param> @@ -2786,14 +2902,14 @@ public partial class CalendarServices _haContext.CallService("calendar", "get_events", target, new CalendarGetEventsParameters { StartDateTime = startDateTime, EndDateTime = endDateTime, Duration = duration }); } - ///<summary>Get events on a calendar within a time range.</summary> + ///<summary>Retrieves events on a calendar within a time range.</summary> ///<param name="target">The target for this service call</param> public Task<JsonElement?> GetEventsAsync(ServiceTarget target, CalendarGetEventsParameters data) { return _haContext.CallServiceWithResponseAsync("calendar", "get_events", target, data); } - ///<summary>Get events on a calendar within a time range.</summary> + ///<summary>Retrieves events on a calendar within a time range.</summary> ///<param name="target">The target for this service call</param> ///<param name="startDateTime">Returns active events after this time (exclusive). When not set, defaults to now. eg: 2022-03-22 20:00:00</param> ///<param name="endDateTime">Returns active events before this time (exclusive). Cannot be used with Duration. eg: 2022-03-22 22:00:00</param> @@ -2872,7 +2988,7 @@ public partial class CastServices ///<param name="entityId">Media player entity to show the dashboard view on.</param> ///<param name="dashboardPath">The URL path of the dashboard to show, defaults to lovelace if not specified. eg: lovelace-cast</param> ///<param name="viewPath">The URL path of the dashboard view to show. eg: downstairs</param> - public void ShowLovelaceView(string entityId, string dashboardPath, string? viewPath = null) + public void ShowLovelaceView(string entityId, string viewPath, string? dashboardPath = null) { _haContext.CallService("cast", "show_lovelace_view", null, new CastShowLovelaceViewParameters { EntityId = entityId, DashboardPath = dashboardPath, ViewPath = viewPath }); } @@ -3960,7 +4076,7 @@ public partial class LightServices ///<summary>Toggles one or more lights, from on to off, or off to on, based on their current state.</summary> ///<param name="transition">Duration it takes to get to next state.</param> ///<param name="rgbColor">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]</param> - ///<param name="kelvin">Color temperature in Kelvin.</param> + ///<param name="colorTempKelvin">Color temperature in Kelvin.</param> ///<param name="brightnessPct">Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</param> ///<param name="effect">Light effect.</param> ///<param name="rgbwColor"> eg: [255, 100, 100, 50]</param> @@ -3973,9 +4089,9 @@ public partial class LightServices ///<param name="white"></param> ///<param name="profile"> eg: relax</param> ///<param name="flash"></param> - public void Toggle(ServiceTarget target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? kelvin = null, double? brightnessPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, object? white = null, string? profile = null, object? flash = null) + public void Toggle(ServiceTarget target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? colorTempKelvin = null, double? brightnessPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, object? white = null, string? profile = null, object? flash = null) { - _haContext.CallService("light", "toggle", target, new LightToggleParameters { Transition = transition, RgbColor = rgbColor, Kelvin = kelvin, BrightnessPct = brightnessPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, White = white, Profile = profile, Flash = flash }); + _haContext.CallService("light", "toggle", target, new LightToggleParameters { Transition = transition, RgbColor = rgbColor, ColorTempKelvin = colorTempKelvin, BrightnessPct = brightnessPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, White = white, Profile = profile, Flash = flash }); } ///<summary>Turns off one or more lights.</summary> @@ -4003,7 +4119,7 @@ public partial class LightServices ///<summary>Turns on one or more lights and adjusts their properties, even when they are turned on already.</summary> ///<param name="transition">Duration it takes to get to next state.</param> ///<param name="rgbColor">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]</param> - ///<param name="kelvin">Color temperature in Kelvin.</param> + ///<param name="colorTempKelvin">Color temperature in Kelvin.</param> ///<param name="brightnessPct">Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</param> ///<param name="brightnessStepPct">Change brightness by a percentage.</param> ///<param name="effect">Light effect.</param> @@ -4018,9 +4134,9 @@ public partial class LightServices ///<param name="white"></param> ///<param name="profile"> eg: relax</param> ///<param name="flash"></param> - public void TurnOn(ServiceTarget target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? kelvin = null, double? brightnessPct = null, double? brightnessStepPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, double? brightnessStep = null, object? white = null, string? profile = null, object? flash = null) + public void TurnOn(ServiceTarget target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? colorTempKelvin = null, double? brightnessPct = null, double? brightnessStepPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, double? brightnessStep = null, object? white = null, string? profile = null, object? flash = null) { - _haContext.CallService("light", "turn_on", target, new LightTurnOnParameters { Transition = transition, RgbColor = rgbColor, Kelvin = kelvin, BrightnessPct = brightnessPct, BrightnessStepPct = brightnessStepPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, BrightnessStep = brightnessStep, White = white, Profile = profile, Flash = flash }); + _haContext.CallService("light", "turn_on", target, new LightTurnOnParameters { Transition = transition, RgbColor = rgbColor, ColorTempKelvin = colorTempKelvin, BrightnessPct = brightnessPct, BrightnessStepPct = brightnessStepPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, BrightnessStep = brightnessStep, White = white, Profile = profile, Flash = flash }); } } @@ -4035,8 +4151,8 @@ public partial record LightToggleParameters public IReadOnlyCollection<int>? RgbColor { get; init; } ///<summary>Color temperature in Kelvin.</summary> - [JsonPropertyName("kelvin")] - public object? Kelvin { get; init; } + [JsonPropertyName("color_temp_kelvin")] + public object? ColorTempKelvin { get; init; } ///<summary>Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</summary> [JsonPropertyName("brightness_pct")] @@ -4103,8 +4219,8 @@ public partial record LightTurnOnParameters public IReadOnlyCollection<int>? RgbColor { get; init; } ///<summary>Color temperature in Kelvin.</summary> - [JsonPropertyName("kelvin")] - public object? Kelvin { get; init; } + [JsonPropertyName("color_temp_kelvin")] + public object? ColorTempKelvin { get; init; } ///<summary>Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</summary> [JsonPropertyName("brightness_pct")] @@ -5250,9 +5366,9 @@ public partial class RecorderServices } ///<summary>Starts a purge task to remove the data related to specific entities from your database.</summary> - ///<param name="entityId">List of entities for which the data is to be removed from the recorder database.</param> - ///<param name="domains">List of domains for which the data needs to be removed from the recorder database. eg: sun</param> - ///<param name="entityGlobs">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*</param> + ///<param name="entityId">List of entities for which the data is to be removed from the Recorder database.</param> + ///<param name="domains">List of domains for which the data needs to be removed from the Recorder database. eg: sun</param> + ///<param name="entityGlobs">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*</param> ///<param name="keepDays">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.</param> public void PurgeEntities(IEnumerable<string>? entityId = null, object? domains = null, object? entityGlobs = null, double? keepDays = null) { @@ -5277,15 +5393,15 @@ public partial record RecorderPurgeParameters public partial record RecorderPurgeEntitiesParameters { - ///<summary>List of entities for which the data is to be removed from the recorder database.</summary> + ///<summary>List of entities for which the data is to be removed from the Recorder database.</summary> [JsonPropertyName("entity_id")] public IEnumerable<string>? EntityId { get; init; } - ///<summary>List of domains for which the data needs to be removed from the recorder database. eg: sun</summary> + ///<summary>List of domains for which the data needs to be removed from the Recorder database. eg: sun</summary> [JsonPropertyName("domains")] public object? Domains { get; init; } - ///<summary>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*</summary> + ///<summary>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*</summary> [JsonPropertyName("entity_globs")] public object? EntityGlobs { get; init; } @@ -11320,51 +11436,6 @@ public partial record UpdateInstallParameters public bool? Backup { get; init; } } -public partial class WeatherServices -{ - private readonly IHaContext _haContext; - public WeatherServices(IHaContext haContext) - { - _haContext = haContext; - } - - ///<summary>Retrieves the forecast from selected weather services.</summary> - ///<param name="target">The target for this service call</param> - public void GetForecasts(ServiceTarget target, WeatherGetForecastsParameters data) - { - _haContext.CallService("weather", "get_forecasts", target, data); - } - - ///<summary>Retrieves the forecast from selected weather services.</summary> - ///<param name="type">The scope of the weather forecast.</param> - public void GetForecasts(ServiceTarget target, object @type) - { - _haContext.CallService("weather", "get_forecasts", target, new WeatherGetForecastsParameters { Type = @type }); - } - - ///<summary>Retrieves the forecast from selected weather services.</summary> - ///<param name="target">The target for this service call</param> - public Task<JsonElement?> GetForecastsAsync(ServiceTarget target, WeatherGetForecastsParameters data) - { - return _haContext.CallServiceWithResponseAsync("weather", "get_forecasts", target, data); - } - - ///<summary>Retrieves the forecast from selected weather services.</summary> - ///<param name="target">The target for this service call</param> - ///<param name="type">The scope of the weather forecast.</param> - public Task<JsonElement?> GetForecastsAsync(ServiceTarget target, object @type) - { - return _haContext.CallServiceWithResponseAsync("weather", "get_forecasts", target, new WeatherGetForecastsParameters { Type = @type }); - } -} - -public partial record WeatherGetForecastsParameters -{ - ///<summary>The scope of the weather forecast.</summary> - [JsonPropertyName("type")] - public object? Type { get; init; } -} - public partial class YamahaSoundbarServices { private readonly IHaContext _haContext; @@ -11735,18 +11806,22 @@ public static class AssistSatelliteEntityExtensionMethods ///<param name="target">The AssistSatelliteEntity to call this service for</param> ///<param name="message">The message to announce. eg: Time to wake up!</param> ///<param name="mediaId">The media ID to announce instead of using text-to-speech.</param> - public static void Announce(this AssistSatelliteEntity target, string? message = null, string? mediaId = null) + ///<param name="preannounce">Play a sound before the announcement.</param> + ///<param name="preannounceMediaId">Custom media ID to play before the announcement.</param> + public static void Announce(this AssistSatelliteEntity target, string? message = null, string? mediaId = null, bool? preannounce = null, string? preannounceMediaId = null) { - target.CallService("announce", new AssistSatelliteAnnounceParameters { Message = message, MediaId = mediaId }); + target.CallService("announce", new AssistSatelliteAnnounceParameters { Message = message, MediaId = mediaId, Preannounce = preannounce, PreannounceMediaId = preannounceMediaId }); } ///<summary>Lets a satellite announce a message.</summary> ///<param name="target">The IEnumerable<AssistSatelliteEntity> to call this service for</param> ///<param name="message">The message to announce. eg: Time to wake up!</param> ///<param name="mediaId">The media ID to announce instead of using text-to-speech.</param> - public static void Announce(this IEnumerable<AssistSatelliteEntity> target, string? message = null, string? mediaId = null) + ///<param name="preannounce">Play a sound before the announcement.</param> + ///<param name="preannounceMediaId">Custom media ID to play before the announcement.</param> + public static void Announce(this IEnumerable<AssistSatelliteEntity> target, string? message = null, string? mediaId = null, bool? preannounce = null, string? preannounceMediaId = null) { - target.CallService("announce", new AssistSatelliteAnnounceParameters { Message = message, MediaId = mediaId }); + target.CallService("announce", new AssistSatelliteAnnounceParameters { Message = message, MediaId = mediaId, Preannounce = preannounce, PreannounceMediaId = preannounceMediaId }); } ///<summary>Starts a conversation from a satellite.</summary> @@ -11766,9 +11841,11 @@ public static class AssistSatelliteEntityExtensionMethods ///<param name="startMessage">The message to start with. eg: You left the lights on in the living room. Turn them off?</param> ///<param name="startMediaId">The media ID to start with instead of using text-to-speech.</param> ///<param name="extraSystemPrompt">Provide background information to the AI about the request.</param> - public static void StartConversation(this AssistSatelliteEntity target, string? startMessage = null, string? startMediaId = null, string? extraSystemPrompt = null) + ///<param name="preannounce">Play a sound before the start message or media.</param> + ///<param name="preannounceMediaId">Custom media ID to play before the start message or media.</param> + public static void StartConversation(this AssistSatelliteEntity target, string? startMessage = null, string? startMediaId = null, string? extraSystemPrompt = null, bool? preannounce = null, string? preannounceMediaId = null) { - target.CallService("start_conversation", new AssistSatelliteStartConversationParameters { StartMessage = startMessage, StartMediaId = startMediaId, ExtraSystemPrompt = extraSystemPrompt }); + target.CallService("start_conversation", new AssistSatelliteStartConversationParameters { StartMessage = startMessage, StartMediaId = startMediaId, ExtraSystemPrompt = extraSystemPrompt, Preannounce = preannounce, PreannounceMediaId = preannounceMediaId }); } ///<summary>Starts a conversation from a satellite.</summary> @@ -11776,9 +11853,11 @@ public static class AssistSatelliteEntityExtensionMethods ///<param name="startMessage">The message to start with. eg: You left the lights on in the living room. Turn them off?</param> ///<param name="startMediaId">The media ID to start with instead of using text-to-speech.</param> ///<param name="extraSystemPrompt">Provide background information to the AI about the request.</param> - public static void StartConversation(this IEnumerable<AssistSatelliteEntity> target, string? startMessage = null, string? startMediaId = null, string? extraSystemPrompt = null) + ///<param name="preannounce">Play a sound before the start message or media.</param> + ///<param name="preannounceMediaId">Custom media ID to play before the start message or media.</param> + public static void StartConversation(this IEnumerable<AssistSatelliteEntity> target, string? startMessage = null, string? startMediaId = null, string? extraSystemPrompt = null, bool? preannounce = null, string? preannounceMediaId = null) { - target.CallService("start_conversation", new AssistSatelliteStartConversationParameters { StartMessage = startMessage, StartMediaId = startMediaId, ExtraSystemPrompt = extraSystemPrompt }); + target.CallService("start_conversation", new AssistSatelliteStartConversationParameters { StartMessage = startMessage, StartMediaId = startMediaId, ExtraSystemPrompt = extraSystemPrompt, Preannounce = preannounce, PreannounceMediaId = preannounceMediaId }); } } @@ -11924,13 +12003,13 @@ public static class CalendarEntityExtensionMethods target.CallService("create_event", new CalendarCreateEventParameters { Summary = summary, Description = description, StartDateTime = startDateTime, EndDateTime = endDateTime, StartDate = startDate, EndDate = endDate, In = @in, Location = location }); } - ///<summary>Get events on a calendar within a time range.</summary> + ///<summary>Retrieves events on a calendar within a time range.</summary> public static Task<JsonElement?> GetEventsAsync(this ICalendarEntityCore target, CalendarGetEventsParameters data) { return target.CallServiceWithResponseAsync("get_events", data); } - ///<summary>Get events on a calendar within a time range.</summary> + ///<summary>Retrieves events on a calendar within a time range.</summary> ///<param name="target">The ICalendarEntityCore to call this service for</param> ///<param name="startDateTime">Returns active events after this time (exclusive). When not set, defaults to now. eg: 2022-03-22 20:00:00</param> ///<param name="endDateTime">Returns active events before this time (exclusive). Cannot be used with Duration. eg: 2022-03-22 22:00:00</param> @@ -11940,19 +12019,19 @@ public static class CalendarEntityExtensionMethods return target.CallServiceWithResponseAsync("get_events", new CalendarGetEventsParameters { StartDateTime = startDateTime, EndDateTime = endDateTime, Duration = duration }); } - ///<summary>Get events on a calendar within a time range.</summary> + ///<summary>Retrieves events on a calendar within a time range.</summary> public static void GetEvents(this ICalendarEntityCore target, CalendarGetEventsParameters data) { target.CallService("get_events", data); } - ///<summary>Get events on a calendar within a time range.</summary> + ///<summary>Retrieves events on a calendar within a time range.</summary> public static void GetEvents(this IEnumerable<ICalendarEntityCore> target, CalendarGetEventsParameters data) { target.CallService("get_events", data); } - ///<summary>Get events on a calendar within a time range.</summary> + ///<summary>Retrieves events on a calendar within a time range.</summary> ///<param name="target">The ICalendarEntityCore to call this service for</param> ///<param name="startDateTime">Returns active events after this time (exclusive). When not set, defaults to now. eg: 2022-03-22 20:00:00</param> ///<param name="endDateTime">Returns active events before this time (exclusive). Cannot be used with Duration. eg: 2022-03-22 22:00:00</param> @@ -11962,7 +12041,7 @@ public static class CalendarEntityExtensionMethods target.CallService("get_events", new CalendarGetEventsParameters { StartDateTime = startDateTime, EndDateTime = endDateTime, Duration = duration }); } - ///<summary>Get events on a calendar within a time range.</summary> + ///<summary>Retrieves events on a calendar within a time range.</summary> ///<param name="target">The IEnumerable<ICalendarEntityCore> to call this service for</param> ///<param name="startDateTime">Returns active events after this time (exclusive). When not set, defaults to now. eg: 2022-03-22 20:00:00</param> ///<param name="endDateTime">Returns active events before this time (exclusive). Cannot be used with Duration. eg: 2022-03-22 22:00:00</param> @@ -12067,6 +12146,145 @@ public static class InputNumberEntityExtensionMethods } } +public static class InputSelectEntityExtensionMethods +{ + ///<summary>Selects the first option.</summary> + public static void SelectFirst(this IInputSelectEntityCore target, object? data = null) + { + target.CallService("select_first", data); + } + + ///<summary>Selects the first option.</summary> + public static void SelectFirst(this IEnumerable<IInputSelectEntityCore> target, object? data = null) + { + target.CallService("select_first", data); + } + + ///<summary>Selects the last option.</summary> + public static void SelectLast(this IInputSelectEntityCore target, object? data = null) + { + target.CallService("select_last", data); + } + + ///<summary>Selects the last option.</summary> + public static void SelectLast(this IEnumerable<IInputSelectEntityCore> target, object? data = null) + { + target.CallService("select_last", data); + } + + ///<summary>Selects the next option.</summary> + public static void SelectNext(this IInputSelectEntityCore target, InputSelectSelectNextParameters data) + { + target.CallService("select_next", data); + } + + ///<summary>Selects the next option.</summary> + public static void SelectNext(this IEnumerable<IInputSelectEntityCore> target, InputSelectSelectNextParameters data) + { + target.CallService("select_next", data); + } + + ///<summary>Selects the next option.</summary> + ///<param name="target">The IInputSelectEntityCore to call this service for</param> + ///<param name="cycle">If the option should cycle from the last to the first option on the list.</param> + public static void SelectNext(this IInputSelectEntityCore target, bool? cycle = null) + { + target.CallService("select_next", new InputSelectSelectNextParameters { Cycle = cycle }); + } + + ///<summary>Selects the next option.</summary> + ///<param name="target">The IEnumerable<IInputSelectEntityCore> to call this service for</param> + ///<param name="cycle">If the option should cycle from the last to the first option on the list.</param> + public static void SelectNext(this IEnumerable<IInputSelectEntityCore> target, bool? cycle = null) + { + target.CallService("select_next", new InputSelectSelectNextParameters { Cycle = cycle }); + } + + ///<summary>Selects an option.</summary> + public static void SelectOption(this IInputSelectEntityCore target, InputSelectSelectOptionParameters data) + { + target.CallService("select_option", data); + } + + ///<summary>Selects an option.</summary> + public static void SelectOption(this IEnumerable<IInputSelectEntityCore> target, InputSelectSelectOptionParameters data) + { + target.CallService("select_option", data); + } + + ///<summary>Selects an option.</summary> + ///<param name="target">The IInputSelectEntityCore to call this service for</param> + ///<param name="option">Option to be selected. eg: "Item A"</param> + public static void SelectOption(this IInputSelectEntityCore target, string option) + { + target.CallService("select_option", new InputSelectSelectOptionParameters { Option = option }); + } + + ///<summary>Selects an option.</summary> + ///<param name="target">The IEnumerable<IInputSelectEntityCore> to call this service for</param> + ///<param name="option">Option to be selected. eg: "Item A"</param> + public static void SelectOption(this IEnumerable<IInputSelectEntityCore> target, string option) + { + target.CallService("select_option", new InputSelectSelectOptionParameters { Option = option }); + } + + ///<summary>Selects the previous option.</summary> + public static void SelectPrevious(this IInputSelectEntityCore target, InputSelectSelectPreviousParameters data) + { + target.CallService("select_previous", data); + } + + ///<summary>Selects the previous option.</summary> + public static void SelectPrevious(this IEnumerable<IInputSelectEntityCore> target, InputSelectSelectPreviousParameters data) + { + target.CallService("select_previous", data); + } + + ///<summary>Selects the previous option.</summary> + ///<param name="target">The IInputSelectEntityCore to call this service for</param> + ///<param name="cycle">If the option should cycle from the first to the last option on the list.</param> + public static void SelectPrevious(this IInputSelectEntityCore target, bool? cycle = null) + { + target.CallService("select_previous", new InputSelectSelectPreviousParameters { Cycle = cycle }); + } + + ///<summary>Selects the previous option.</summary> + ///<param name="target">The IEnumerable<IInputSelectEntityCore> to call this service for</param> + ///<param name="cycle">If the option should cycle from the first to the last option on the list.</param> + public static void SelectPrevious(this IEnumerable<IInputSelectEntityCore> target, bool? cycle = null) + { + target.CallService("select_previous", new InputSelectSelectPreviousParameters { Cycle = cycle }); + } + + ///<summary>Sets the options.</summary> + public static void SetOptions(this IInputSelectEntityCore target, InputSelectSetOptionsParameters data) + { + target.CallService("set_options", data); + } + + ///<summary>Sets the options.</summary> + public static void SetOptions(this IEnumerable<IInputSelectEntityCore> target, InputSelectSetOptionsParameters data) + { + target.CallService("set_options", data); + } + + ///<summary>Sets the options.</summary> + ///<param name="target">The IInputSelectEntityCore to call this service for</param> + ///<param name="options">List of options. eg: ["Item A", "Item B", "Item C"]</param> + public static void SetOptions(this IInputSelectEntityCore target, IEnumerable<string> options) + { + target.CallService("set_options", new InputSelectSetOptionsParameters { Options = options }); + } + + ///<summary>Sets the options.</summary> + ///<param name="target">The IEnumerable<IInputSelectEntityCore> to call this service for</param> + ///<param name="options">List of options. eg: ["Item A", "Item B", "Item C"]</param> + public static void SetOptions(this IEnumerable<IInputSelectEntityCore> target, IEnumerable<string> options) + { + target.CallService("set_options", new InputSelectSetOptionsParameters { Options = options }); + } +} + public static class InputTextEntityExtensionMethods { ///<summary>Sets the value.</summary> @@ -12116,7 +12334,7 @@ public static class LightEntityExtensionMethods ///<param name="target">The ILightEntityCore to call this service for</param> ///<param name="transition">Duration it takes to get to next state.</param> ///<param name="rgbColor">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]</param> - ///<param name="kelvin">Color temperature in Kelvin.</param> + ///<param name="colorTempKelvin">Color temperature in Kelvin.</param> ///<param name="brightnessPct">Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</param> ///<param name="effect">Light effect.</param> ///<param name="rgbwColor"> eg: [255, 100, 100, 50]</param> @@ -12129,16 +12347,16 @@ public static class LightEntityExtensionMethods ///<param name="white"></param> ///<param name="profile"> eg: relax</param> ///<param name="flash"></param> - public static void Toggle(this ILightEntityCore target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? kelvin = null, double? brightnessPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, object? white = null, string? profile = null, object? flash = null) + public static void Toggle(this ILightEntityCore target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? colorTempKelvin = null, double? brightnessPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, object? white = null, string? profile = null, object? flash = null) { - target.CallService("toggle", new LightToggleParameters { Transition = transition, RgbColor = rgbColor, Kelvin = kelvin, BrightnessPct = brightnessPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, White = white, Profile = profile, Flash = flash }); + target.CallService("toggle", new LightToggleParameters { Transition = transition, RgbColor = rgbColor, ColorTempKelvin = colorTempKelvin, BrightnessPct = brightnessPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, White = white, Profile = profile, Flash = flash }); } ///<summary>Toggles one or more lights, from on to off, or off to on, based on their current state.</summary> ///<param name="target">The IEnumerable<ILightEntityCore> to call this service for</param> ///<param name="transition">Duration it takes to get to next state.</param> ///<param name="rgbColor">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]</param> - ///<param name="kelvin">Color temperature in Kelvin.</param> + ///<param name="colorTempKelvin">Color temperature in Kelvin.</param> ///<param name="brightnessPct">Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</param> ///<param name="effect">Light effect.</param> ///<param name="rgbwColor"> eg: [255, 100, 100, 50]</param> @@ -12151,9 +12369,9 @@ public static class LightEntityExtensionMethods ///<param name="white"></param> ///<param name="profile"> eg: relax</param> ///<param name="flash"></param> - public static void Toggle(this IEnumerable<ILightEntityCore> target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? kelvin = null, double? brightnessPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, object? white = null, string? profile = null, object? flash = null) + public static void Toggle(this IEnumerable<ILightEntityCore> target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? colorTempKelvin = null, double? brightnessPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, object? white = null, string? profile = null, object? flash = null) { - target.CallService("toggle", new LightToggleParameters { Transition = transition, RgbColor = rgbColor, Kelvin = kelvin, BrightnessPct = brightnessPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, White = white, Profile = profile, Flash = flash }); + target.CallService("toggle", new LightToggleParameters { Transition = transition, RgbColor = rgbColor, ColorTempKelvin = colorTempKelvin, BrightnessPct = brightnessPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, White = white, Profile = profile, Flash = flash }); } ///<summary>Turns off one or more lights.</summary> @@ -12202,7 +12420,7 @@ public static class LightEntityExtensionMethods ///<param name="target">The ILightEntityCore to call this service for</param> ///<param name="transition">Duration it takes to get to next state.</param> ///<param name="rgbColor">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]</param> - ///<param name="kelvin">Color temperature in Kelvin.</param> + ///<param name="colorTempKelvin">Color temperature in Kelvin.</param> ///<param name="brightnessPct">Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</param> ///<param name="brightnessStepPct">Change brightness by a percentage.</param> ///<param name="effect">Light effect.</param> @@ -12217,16 +12435,16 @@ public static class LightEntityExtensionMethods ///<param name="white"></param> ///<param name="profile"> eg: relax</param> ///<param name="flash"></param> - public static void TurnOn(this ILightEntityCore target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? kelvin = null, double? brightnessPct = null, double? brightnessStepPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, double? brightnessStep = null, object? white = null, string? profile = null, object? flash = null) + public static void TurnOn(this ILightEntityCore target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? colorTempKelvin = null, double? brightnessPct = null, double? brightnessStepPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, double? brightnessStep = null, object? white = null, string? profile = null, object? flash = null) { - target.CallService("turn_on", new LightTurnOnParameters { Transition = transition, RgbColor = rgbColor, Kelvin = kelvin, BrightnessPct = brightnessPct, BrightnessStepPct = brightnessStepPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, BrightnessStep = brightnessStep, White = white, Profile = profile, Flash = flash }); + target.CallService("turn_on", new LightTurnOnParameters { Transition = transition, RgbColor = rgbColor, ColorTempKelvin = colorTempKelvin, BrightnessPct = brightnessPct, BrightnessStepPct = brightnessStepPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, BrightnessStep = brightnessStep, White = white, Profile = profile, Flash = flash }); } ///<summary>Turns on one or more lights and adjusts their properties, even when they are turned on already.</summary> ///<param name="target">The IEnumerable<ILightEntityCore> to call this service for</param> ///<param name="transition">Duration it takes to get to next state.</param> ///<param name="rgbColor">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]</param> - ///<param name="kelvin">Color temperature in Kelvin.</param> + ///<param name="colorTempKelvin">Color temperature in Kelvin.</param> ///<param name="brightnessPct">Number indicating the percentage of full brightness, where 0 turns the light off, 1 is the minimum brightness, and 100 is the maximum brightness.</param> ///<param name="brightnessStepPct">Change brightness by a percentage.</param> ///<param name="effect">Light effect.</param> @@ -12241,9 +12459,9 @@ public static class LightEntityExtensionMethods ///<param name="white"></param> ///<param name="profile"> eg: relax</param> ///<param name="flash"></param> - public static void TurnOn(this IEnumerable<ILightEntityCore> target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? kelvin = null, double? brightnessPct = null, double? brightnessStepPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, double? brightnessStep = null, object? white = null, string? profile = null, object? flash = null) + public static void TurnOn(this IEnumerable<ILightEntityCore> target, double? transition = null, IReadOnlyCollection<int>? rgbColor = null, object? colorTempKelvin = null, double? brightnessPct = null, double? brightnessStepPct = null, string? effect = null, object? rgbwColor = null, object? rgbwwColor = null, object? colorName = null, object? hsColor = null, object? xyColor = null, object? colorTemp = null, double? brightness = null, double? brightnessStep = null, object? white = null, string? profile = null, object? flash = null) { - target.CallService("turn_on", new LightTurnOnParameters { Transition = transition, RgbColor = rgbColor, Kelvin = kelvin, BrightnessPct = brightnessPct, BrightnessStepPct = brightnessStepPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, BrightnessStep = brightnessStep, White = white, Profile = profile, Flash = flash }); + target.CallService("turn_on", new LightTurnOnParameters { Transition = transition, RgbColor = rgbColor, ColorTempKelvin = colorTempKelvin, BrightnessPct = brightnessPct, BrightnessStepPct = brightnessStepPct, Effect = effect, RgbwColor = rgbwColor, RgbwwColor = rgbwwColor, ColorName = colorName, HsColor = hsColor, XyColor = xyColor, ColorTemp = colorTemp, Brightness = brightness, BrightnessStep = brightnessStep, White = white, Profile = profile, Flash = flash }); } } @@ -13519,49 +13737,4 @@ public static class UpdateEntityExtensionMethods { target.CallService("skip", data); } -} - -public static class WeatherEntityExtensionMethods -{ - ///<summary>Retrieves the forecast from selected weather services.</summary> - public static Task<JsonElement?> GetForecastsAsync(this IWeatherEntityCore target, WeatherGetForecastsParameters data) - { - return target.CallServiceWithResponseAsync("get_forecasts", data); - } - - ///<summary>Retrieves the forecast from selected weather services.</summary> - ///<param name="target">The IWeatherEntityCore to call this service for</param> - ///<param name="type">The scope of the weather forecast.</param> - public static Task<JsonElement?> GetForecastsAsync(this IWeatherEntityCore target, object @type) - { - return target.CallServiceWithResponseAsync("get_forecasts", new WeatherGetForecastsParameters { Type = @type }); - } - - ///<summary>Retrieves the forecast from selected weather services.</summary> - public static void GetForecasts(this IWeatherEntityCore target, WeatherGetForecastsParameters data) - { - target.CallService("get_forecasts", data); - } - - ///<summary>Retrieves the forecast from selected weather services.</summary> - public static void GetForecasts(this IEnumerable<IWeatherEntityCore> target, WeatherGetForecastsParameters data) - { - target.CallService("get_forecasts", data); - } - - ///<summary>Retrieves the forecast from selected weather services.</summary> - ///<param name="target">The IWeatherEntityCore to call this service for</param> - ///<param name="type">The scope of the weather forecast.</param> - public static void GetForecasts(this IWeatherEntityCore target, object @type) - { - target.CallService("get_forecasts", new WeatherGetForecastsParameters { Type = @type }); - } - - ///<summary>Retrieves the forecast from selected weather services.</summary> - ///<param name="target">The IEnumerable<IWeatherEntityCore> to call this service for</param> - ///<param name="type">The scope of the weather forecast.</param> - public static void GetForecasts(this IEnumerable<IWeatherEntityCore> target, object @type) - { - target.CallService("get_forecasts", new WeatherGetForecastsParameters { Type = @type }); - } } \ No newline at end of file diff --git a/configurations/homie/modules/home-assistant/netdaemon/apps/Frontend/BathroomLight/BathroomLight.cs b/configurations/homie/modules/home-assistant/netdaemon/apps/Frontend/BathroomLight/BathroomLight.cs index 2156b6fc..faab891c 100644 --- a/configurations/homie/modules/home-assistant/netdaemon/apps/Frontend/BathroomLight/BathroomLight.cs +++ b/configurations/homie/modules/home-assistant/netdaemon/apps/Frontend/BathroomLight/BathroomLight.cs @@ -84,7 +84,10 @@ namespace NetDaemonConfig.Apps.Frontend.BathroomLight this.TemperatureCallback((_, input) => services.Light.TurnOn( target: ServiceTarget.FromEntity(this.Entity.EntityId), - kelvin: input))); + new LightTurnOnParameters + { + ColorTempKelvin = input, + }))); this.Entity .StateAllChanges() diff --git a/configurations/homie/modules/home-assistant/netdaemon/deps.json b/configurations/homie/modules/home-assistant/netdaemon/deps.json index 53adcc22..56ca3951 100644 --- a/configurations/homie/modules/home-assistant/netdaemon/deps.json +++ b/configurations/homie/modules/home-assistant/netdaemon/deps.json @@ -196,48 +196,48 @@ }, { "pname": "NetDaemon.AppModel", - "version": "25.14.1", - "hash": "sha256-sq2QVQWY5xZ3M7g0Nt913BkgSiayubpEdqoeyBHPpQo=" + "version": "25.18.0", + "hash": "sha256-ELPn8JRtSXMg4VH+X/2oUAx0JFXrYraS30YSsy/6XFw=" }, { "pname": "NetDaemon.AppModel.SourceDeployedApps", - "version": "25.14.1", - "hash": "sha256-YazdkXWn5IowcJr7WhQ8vRTn8aUe0QI0mTO+GSNtkX4=" + "version": "25.18.0", + "hash": "sha256-pD+AE3y6INFaFBRe3+8HfcjJiP9cnwTpgw/ybL8LIok=" }, { "pname": "NetDaemon.Client", - "version": "25.14.1", - "hash": "sha256-tIr5QQneaM6+7la4TkMDuJPKZSa6EWxNPwqebzK8hvg=" + "version": "25.18.0", + "hash": "sha256-HbIupYIBvqvlO63wTR36ylGpSjVOYR0+HgQnCDwAow0=" }, { "pname": "NetDaemon.Extensions.Logging", - "version": "25.14.1", - "hash": "sha256-IjNIIKKDH94vbfqRWo7gii7sFS52QOc6VvoSSn/QFrc=" + "version": "25.18.0", + "hash": "sha256-aVqKRTM4YcRd2/YpeeE41h0MDjHnF4lEwdRtoY3p4gM=" }, { "pname": "NetDaemon.Extensions.Scheduling", - "version": "25.14.1", - "hash": "sha256-Khm/Ht+kwaYpr8KYesXZCG0SRss7brNBYvPSyNsfsOY=" + "version": "25.18.0", + "hash": "sha256-1dgp430stIavTENc3UKljekSVMaeaKVRsXeVuFVLiLk=" }, { "pname": "NetDaemon.Extensions.Tts", - "version": "25.14.1", - "hash": "sha256-OkiqpBHWVjoKBkq2Gwd0SIdKx7QQ5m8ioz8H3xSuKdM=" + "version": "25.18.0", + "hash": "sha256-j0VOl8/XNMVoXigQBY6oOcejzPfouZoD9Xt2EmTmEBE=" }, { "pname": "NetDaemon.HassModel", - "version": "25.14.1", - "hash": "sha256-yLXh6h1Co4VjJlBdtt1ZCwmq4q78sIUptSPlhXCVfPg=" + "version": "25.18.0", + "hash": "sha256-5m8s4RdBdnWqN9V+GfoPtnQEOoiAmlnuV3AApeBuQH4=" }, { "pname": "NetDaemon.HassModel.Integration", - "version": "25.14.1", - "hash": "sha256-wq6fIo10KVYhP6IrkmAovQ9mld9wzoeCbkPCCiXCrsg=" + "version": "25.18.0", + "hash": "sha256-LkNTcwFf7AnsJqa5AA35N4AIn1mn1bjkWmsuQe626eE=" }, { "pname": "NetDaemon.Runtime", - "version": "25.14.1", - "hash": "sha256-5AzZMl0jTfeKhi5AfFzYraKnjkGnEY0PZeEI8X13dGs=" + "version": "25.18.0", + "hash": "sha256-ejvr4z+rR5URp/ee6bzqJvqID3kqGsy+dSPgcBvgDLg=" }, { "pname": "Serilog", diff --git a/configurations/homie/modules/home-assistant/netdaemon/images/netdaemon.nix b/configurations/homie/modules/home-assistant/netdaemon/images/netdaemon.nix index d723899a..ea234f8a 100644 --- a/configurations/homie/modules/home-assistant/netdaemon/images/netdaemon.nix +++ b/configurations/homie/modules/home-assistant/netdaemon/images/netdaemon.nix @@ -1,8 +1,8 @@ pkgs: pkgs.dockerTools.pullImage rec { imageName = "netdaemon/netdaemon5"; - imageDigest = "sha256:b64b6ee37a3ba7a9f70b368d255774a5df594ec66a107d3de2b0c68423f73150"; - hash = "sha256-xPcM70xBKSTPdIaW4MGNWi81yuBzR4Zg9azSHUMNm/Y="; + imageDigest = "sha256:52b65e705d49caf56ee54c44b9fed1bee7f7dcfd7e478011ebf914eecfdcaf63"; + hash = "sha256-nriOzNrbmzI24F/qQGXoGh2U9AC76h2FosY38eNufpM="; finalImageName = imageName; - finalImageTag = "25.14.1"; + finalImageTag = "25.18.0"; } diff --git a/configurations/homie/modules/home-assistant/netdaemon/netdaemon.csproj b/configurations/homie/modules/home-assistant/netdaemon/netdaemon.csproj index 1735c1f4..99291d5d 100644 --- a/configurations/homie/modules/home-assistant/netdaemon/netdaemon.csproj +++ b/configurations/homie/modules/home-assistant/netdaemon/netdaemon.csproj @@ -24,15 +24,15 @@ </Target> <ItemGroup> - <PackageReference Include="NetDaemon.AppModel" Version="25.14.1" /> - <PackageReference Include="NetDaemon.AppModel.SourceDeployedApps" Version="25.14.1" /> - <PackageReference Include="NetDaemon.Runtime" Version="25.14.1" /> - <PackageReference Include="NetDaemon.HassModel" Version="25.14.1" /> - <PackageReference Include="NetDaemon.HassModel.Integration" Version="25.14.1" /> - <PackageReference Include="NetDaemon.Client" Version="25.14.1" /> - <PackageReference Include="NetDaemon.Extensions.Scheduling" Version="25.14.1" /> - <PackageReference Include="NetDaemon.Extensions.Logging" Version="25.14.1" /> - <PackageReference Include="NetDaemon.Extensions.Tts" Version="25.14.1" /> + <PackageReference Include="NetDaemon.AppModel" Version="25.18.0" /> + <PackageReference Include="NetDaemon.AppModel.SourceDeployedApps" Version="25.18.0" /> + <PackageReference Include="NetDaemon.Runtime" Version="25.18.0" /> + <PackageReference Include="NetDaemon.HassModel" Version="25.18.0" /> + <PackageReference Include="NetDaemon.HassModel.Integration" Version="25.18.0" /> + <PackageReference Include="NetDaemon.Client" Version="25.18.0" /> + <PackageReference Include="NetDaemon.Extensions.Scheduling" Version="25.18.0" /> + <PackageReference Include="NetDaemon.Extensions.Logging" Version="25.18.0" /> + <PackageReference Include="NetDaemon.Extensions.Tts" Version="25.18.0" /> <PackageReference Include="FuzzySharp" Version="2.0.2" /> </ItemGroup> </Project>