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&lt;AssistSatelliteEntity&gt; 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&lt;ICalendarEntityCore&gt; 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&lt;IInputSelectEntityCore&gt; 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: &quot;Item A&quot;</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&lt;IInputSelectEntityCore&gt; to call this service for</param>
+    ///<param name="option">Option to be selected. eg: &quot;Item A&quot;</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&lt;IInputSelectEntityCore&gt; 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: [&quot;Item A&quot;, &quot;Item B&quot;, &quot;Item C&quot;]</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&lt;IInputSelectEntityCore&gt; to call this service for</param>
+    ///<param name="options">List of options. eg: [&quot;Item A&quot;, &quot;Item B&quot;, &quot;Item C&quot;]</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&lt;ILightEntityCore&gt; 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&lt;ILightEntityCore&gt; 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&lt;IWeatherEntityCore&gt; 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>