chore: bump NetDaemon version 24.37.1 -> 24.42.0
All checks were successful
Discord / discord commits (push) Has been skipped

This commit is contained in:
matt1432 2024-10-20 18:49:50 -04:00
parent a69b0e8b90
commit 0570f5ad70
6 changed files with 165 additions and 404 deletions

View file

@ -1 +1 @@
24.37.1 24.42.0

View file

@ -1,9 +1,9 @@
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
// <auto-generated> // <auto-generated>
// Generated using NetDaemon CodeGenerator nd-codegen v24.37.1.0 // Generated using NetDaemon CodeGenerator nd-codegen v24.42.0.0
// At: 2024-10-10T12:06:21.5284008-04:00 // At: 2024-10-20T18:46:11.3758534-04:00
// //
// *** Make sure the version of the codegen tool and your nugets Joysoftware.NetDaemon.* have the same version.*** // *** 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: // You can use following command to keep it up to date with the latest version:
// dotnet tool update NetDaemon.HassModel.CodeGen // dotnet tool update NetDaemon.HassModel.CodeGen
// //
@ -35,6 +35,7 @@ public static class GeneratedExtensions
///<summary>Registers all injectable generated types in the serviceCollection</summary> ///<summary>Registers all injectable generated types in the serviceCollection</summary>
public static IServiceCollection AddHomeAssistantGenerated(this IServiceCollection serviceCollection) public static IServiceCollection AddHomeAssistantGenerated(this IServiceCollection serviceCollection)
{ {
serviceCollection.AddTransient<IEntityFactory, GeneratedEntityFactory>();
serviceCollection.AddTransient<Entities>(); serviceCollection.AddTransient<Entities>();
serviceCollection.AddTransient<LightEntities>(); serviceCollection.AddTransient<LightEntities>();
serviceCollection.AddTransient<MediaPlayerEntities>(); serviceCollection.AddTransient<MediaPlayerEntities>();
@ -53,6 +54,7 @@ public static class GeneratedExtensions
serviceCollection.AddTransient<ScriptEntities>(); serviceCollection.AddTransient<ScriptEntities>();
serviceCollection.AddTransient<SelectEntities>(); serviceCollection.AddTransient<SelectEntities>();
serviceCollection.AddTransient<SensorEntities>(); serviceCollection.AddTransient<SensorEntities>();
serviceCollection.AddTransient<SensorEntities>();
serviceCollection.AddTransient<SttEntities>(); serviceCollection.AddTransient<SttEntities>();
serviceCollection.AddTransient<SunEntities>(); serviceCollection.AddTransient<SunEntities>();
serviceCollection.AddTransient<SwitchEntities>(); serviceCollection.AddTransient<SwitchEntities>();
@ -95,7 +97,6 @@ public static class GeneratedExtensions
serviceCollection.AddTransient<PersistentNotificationServices>(); serviceCollection.AddTransient<PersistentNotificationServices>();
serviceCollection.AddTransient<PersonServices>(); serviceCollection.AddTransient<PersonServices>();
serviceCollection.AddTransient<RecorderServices>(); serviceCollection.AddTransient<RecorderServices>();
serviceCollection.AddTransient<RemoteServices>();
serviceCollection.AddTransient<RestServices>(); serviceCollection.AddTransient<RestServices>();
serviceCollection.AddTransient<SceneServices>(); serviceCollection.AddTransient<SceneServices>();
serviceCollection.AddTransient<ScheduleServices>(); serviceCollection.AddTransient<ScheduleServices>();
@ -116,6 +117,49 @@ public static class GeneratedExtensions
} }
} }
/// <summary>
/// Allows HassModel to instantiate the correct generated Entity types
/// </summary>
public class GeneratedEntityFactory : IEntityFactory
{
public Entity CreateEntity(IHaContext haContext, string entityId)
{
var dot = entityId.IndexOf('.', StringComparison.Ordinal);
var domain = dot < 0 ? entityId.AsSpan() : entityId[..dot];
return domain switch
{
"automation" => new AutomationEntity(haContext, entityId),
"binary_sensor" => new BinarySensorEntity(haContext, entityId),
"button" => new ButtonEntity(haContext, entityId),
"calendar" => new CalendarEntity(haContext, entityId),
"conversation" => new ConversationEntity(haContext, entityId),
"device_tracker" => new DeviceTrackerEntity(haContext, entityId),
"input_boolean" => new InputBooleanEntity(haContext, entityId),
"input_text" => new InputTextEntity(haContext, entityId),
"light" => new LightEntity(haContext, entityId),
"lock" => new LockEntity(haContext, entityId),
"media_player" => new MediaPlayerEntity(haContext, entityId),
"number" => new NumberEntity(haContext, entityId),
"person" => new PersonEntity(haContext, entityId),
"remote" => new RemoteEntity(haContext, entityId),
"script" => new ScriptEntity(haContext, entityId),
"select" => new SelectEntity(haContext, entityId),
"sensor" when IsNumeric() => new NumericSensorEntity(haContext, entityId),
"sensor" => new SensorEntity(haContext, entityId),
"stt" => new SttEntity(haContext, entityId),
"sun" => new SunEntity(haContext, entityId),
"switch" => new SwitchEntity(haContext, entityId),
"timer" => new TimerEntity(haContext, entityId),
"todo" => new TodoEntity(haContext, entityId),
"tts" => new TtsEntity(haContext, entityId),
"wake_word" => new WakeWordEntity(haContext, entityId),
"weather" => new WeatherEntity(haContext, entityId),
"zone" => new ZoneEntity(haContext, entityId),
_ => new Entity(haContext, entityId)};
bool IsNumeric() => haContext.GetState(entityId)?.AttributesJson?.TryGetProperty("unit_of_measurement", out _) ?? false;
}
}
public interface IEntities public interface IEntities
{ {
LightEntities Light { get; } LightEntities Light { get; }
@ -234,8 +278,6 @@ public partial class MediaPlayerEntities
///<summary>UE Boom 2</summary> ///<summary>UE Boom 2</summary>
public MediaPlayerEntity MusicPlayerDaemon => new(_haContext, "media_player.music_player_daemon"); public MediaPlayerEntity MusicPlayerDaemon => new(_haContext, "media_player.music_player_daemon");
///<summary>onn. 4K Streaming Box</summary> ///<summary>onn. 4K Streaming Box</summary>
public MediaPlayerEntity Onn4kStreamingBox => new(_haContext, "media_player.onn_4k_streaming_box");
///<summary>onn. 4K Streaming Box</summary>
public MediaPlayerEntity Onn4kStreamingBox2 => new(_haContext, "media_player.onn_4k_streaming_box_2"); public MediaPlayerEntity Onn4kStreamingBox2 => new(_haContext, "media_player.onn_4k_streaming_box_2");
///<summary>Spotify matt</summary> ///<summary>Spotify matt</summary>
public MediaPlayerEntity SpotifyMatt => new(_haContext, "media_player.spotify_matt"); public MediaPlayerEntity SpotifyMatt => new(_haContext, "media_player.spotify_matt");
@ -984,6 +1026,9 @@ public partial record MediaPlayerAttributes
[JsonPropertyName("sp_user_uri")] [JsonPropertyName("sp_user_uri")]
public string? SpUserUri { get; init; } public string? SpUserUri { get; init; }
[JsonPropertyName("media_playlist")]
public string? MediaPlaylist { get; init; }
} }
public partial record AutomationEntity : Entity<AutomationEntity, EntityState<AutomationAttributes>, AutomationAttributes>, IAutomationEntityCore public partial record AutomationEntity : Entity<AutomationEntity, EntityState<AutomationAttributes>, AutomationAttributes>, IAutomationEntityCore
@ -1476,6 +1521,9 @@ public partial record SensorAttributes
[JsonPropertyName("total_media_session_count")] [JsonPropertyName("total_media_session_count")]
public double? TotalMediaSessionCount { get; init; } public double? TotalMediaSessionCount { get; init; }
[JsonPropertyName("74278bda-b644-4520-8f0c-720eaf059935_0_53140")]
public double? _74278bdab64445208f0c720eaf059935053140 { get; init; }
} }
public partial record NumericSensorEntity : NumericEntity<NumericSensorEntity, NumericEntityState<NumericSensorAttributes>, NumericSensorAttributes>, ISensorEntityCore public partial record NumericSensorEntity : NumericEntity<NumericSensorEntity, NumericEntityState<NumericSensorAttributes>, NumericSensorAttributes>, ISensorEntityCore
@ -1864,8 +1912,6 @@ public interface IServices
RecorderServices Recorder { get; } RecorderServices Recorder { get; }
RemoteServices Remote { get; }
RestServices Rest { get; } RestServices Rest { get; }
SceneServices Scene { get; } SceneServices Scene { get; }
@ -1939,7 +1985,6 @@ public partial class Services : IServices
public PersistentNotificationServices PersistentNotification => new(_haContext); public PersistentNotificationServices PersistentNotification => new(_haContext);
public PersonServices Person => new(_haContext); public PersonServices Person => new(_haContext);
public RecorderServices Recorder => new(_haContext); public RecorderServices Recorder => new(_haContext);
public RemoteServices Remote => new(_haContext);
public RestServices Rest => new(_haContext); public RestServices Rest => new(_haContext);
public SceneServices Scene => new(_haContext); public SceneServices Scene => new(_haContext);
public ScheduleServices Schedule => new(_haContext); public ScheduleServices Schedule => new(_haContext);
@ -4465,158 +4510,6 @@ public partial record RecorderPurgeEntitiesParameters
public double? KeepDays { get; init; } public double? KeepDays { get; init; }
} }
public partial class RemoteServices
{
private readonly IHaContext _haContext;
public RemoteServices(IHaContext haContext)
{
_haContext = haContext;
}
///<summary>Deletes a command or a list of commands from the database.</summary>
///<param name="target">The target for this service call</param>
public void DeleteCommand(ServiceTarget target, RemoteDeleteCommandParameters data)
{
_haContext.CallService("remote", "delete_command", target, data);
}
///<summary>Deletes a command or a list of commands from the database.</summary>
///<param name="device">Device from which commands will be deleted. eg: television</param>
///<param name="command">The single command or the list of commands to be deleted. eg: Mute</param>
public void DeleteCommand(ServiceTarget target, object command, string? device = null)
{
_haContext.CallService("remote", "delete_command", target, new RemoteDeleteCommandParameters { Device = device, Command = command });
}
///<summary>Learns a command or a list of commands from a device.</summary>
///<param name="target">The target for this service call</param>
public void LearnCommand(ServiceTarget target, RemoteLearnCommandParameters data)
{
_haContext.CallService("remote", "learn_command", target, data);
}
///<summary>Learns a command or a list of commands from a device.</summary>
///<param name="device">Device ID to learn command from. eg: television</param>
///<param name="command">A single command or a list of commands to learn. eg: Turn on</param>
///<param name="commandType">The type of command to be learned.</param>
///<param name="alternative">If code must be stored as an alternative. This is useful for discrete codes. Discrete codes are used for toggles that only perform one function. For example, a code to only turn a device on. If it is on already, sending the code won&apos;t change the state.</param>
///<param name="timeout">Timeout for the command to be learned.</param>
public void LearnCommand(ServiceTarget target, string? device = null, object? command = null, object? commandType = null, bool? alternative = null, long? timeout = null)
{
_haContext.CallService("remote", "learn_command", target, new RemoteLearnCommandParameters { Device = device, Command = command, CommandType = commandType, Alternative = alternative, Timeout = timeout });
}
///<summary>Sends a command or a list of commands to a device.</summary>
///<param name="target">The target for this service call</param>
public void SendCommand(ServiceTarget target, RemoteSendCommandParameters data)
{
_haContext.CallService("remote", "send_command", target, data);
}
///<summary>Sends a command or a list of commands to a device.</summary>
///<param name="device">Device ID to send command to. eg: 32756745</param>
///<param name="command">A single command or a list of commands to send. eg: Play</param>
///<param name="numRepeats">The number of times you want to repeat the commands.</param>
///<param name="delaySecs">The time you want to wait in between repeated commands.</param>
///<param name="holdSecs">The time you want to have it held before the release is send.</param>
public void SendCommand(ServiceTarget target, object command, string? device = null, double? numRepeats = null, double? delaySecs = null, double? holdSecs = null)
{
_haContext.CallService("remote", "send_command", target, new RemoteSendCommandParameters { Device = device, Command = command, NumRepeats = numRepeats, DelaySecs = delaySecs, HoldSecs = holdSecs });
}
///<summary>Toggles a device on/off.</summary>
///<param name="target">The target for this service call</param>
public void Toggle(ServiceTarget target, object? data = null)
{
_haContext.CallService("remote", "toggle", target, data);
}
///<summary>Turns the device off.</summary>
///<param name="target">The target for this service call</param>
public void TurnOff(ServiceTarget target, object? data = null)
{
_haContext.CallService("remote", "turn_off", target, data);
}
///<summary>Sends the power on command.</summary>
///<param name="target">The target for this service call</param>
public void TurnOn(ServiceTarget target, RemoteTurnOnParameters data)
{
_haContext.CallService("remote", "turn_on", target, data);
}
///<summary>Sends the power on command.</summary>
///<param name="activity">Activity ID or activity name to be started. eg: BedroomTV</param>
public void TurnOn(ServiceTarget target, string? activity = null)
{
_haContext.CallService("remote", "turn_on", target, new RemoteTurnOnParameters { Activity = activity });
}
}
public partial record RemoteDeleteCommandParameters
{
///<summary>Device from which commands will be deleted. eg: television</summary>
[JsonPropertyName("device")]
public string? Device { get; init; }
///<summary>The single command or the list of commands to be deleted. eg: Mute</summary>
[JsonPropertyName("command")]
public object? Command { get; init; }
}
public partial record RemoteLearnCommandParameters
{
///<summary>Device ID to learn command from. eg: television</summary>
[JsonPropertyName("device")]
public string? Device { get; init; }
///<summary>A single command or a list of commands to learn. eg: Turn on</summary>
[JsonPropertyName("command")]
public object? Command { get; init; }
///<summary>The type of command to be learned.</summary>
[JsonPropertyName("command_type")]
public object? CommandType { get; init; }
///<summary>If code must be stored as an alternative. This is useful for discrete codes. Discrete codes are used for toggles that only perform one function. For example, a code to only turn a device on. If it is on already, sending the code won&apos;t change the state.</summary>
[JsonPropertyName("alternative")]
public bool? Alternative { get; init; }
///<summary>Timeout for the command to be learned.</summary>
[JsonPropertyName("timeout")]
public long? Timeout { get; init; }
}
public partial record RemoteSendCommandParameters
{
///<summary>Device ID to send command to. eg: 32756745</summary>
[JsonPropertyName("device")]
public string? Device { get; init; }
///<summary>A single command or a list of commands to send. eg: Play</summary>
[JsonPropertyName("command")]
public object? Command { get; init; }
///<summary>The number of times you want to repeat the commands.</summary>
[JsonPropertyName("num_repeats")]
public double? NumRepeats { get; init; }
///<summary>The time you want to wait in between repeated commands.</summary>
[JsonPropertyName("delay_secs")]
public double? DelaySecs { get; init; }
///<summary>The time you want to have it held before the release is send.</summary>
[JsonPropertyName("hold_secs")]
public double? HoldSecs { get; init; }
}
public partial record RemoteTurnOnParameters
{
///<summary>Activity ID or activity name to be started. eg: BedroomTV</summary>
[JsonPropertyName("activity")]
public string? Activity { get; init; }
}
public partial class RestServices public partial class RestServices
{ {
private readonly IHaContext _haContext; private readonly IHaContext _haContext;
@ -10086,163 +9979,6 @@ public static class NumberEntityExtensionMethods
} }
} }
public static class RemoteEntityExtensionMethods
{
///<summary>Deletes a command or a list of commands from the database.</summary>
public static void DeleteCommand(this IRemoteEntityCore target, RemoteDeleteCommandParameters data)
{
target.CallService("delete_command", data);
}
///<summary>Deletes a command or a list of commands from the database.</summary>
public static void DeleteCommand(this IEnumerable<IRemoteEntityCore> target, RemoteDeleteCommandParameters data)
{
target.CallService("delete_command", data);
}
///<summary>Deletes a command or a list of commands from the database.</summary>
///<param name="target">The IRemoteEntityCore to call this service for</param>
///<param name="device">Device from which commands will be deleted. eg: television</param>
///<param name="command">The single command or the list of commands to be deleted. eg: Mute</param>
public static void DeleteCommand(this IRemoteEntityCore target, object command, string? device = null)
{
target.CallService("delete_command", new RemoteDeleteCommandParameters { Device = device, Command = command });
}
///<summary>Deletes a command or a list of commands from the database.</summary>
///<param name="target">The IEnumerable&lt;IRemoteEntityCore&gt; to call this service for</param>
///<param name="device">Device from which commands will be deleted. eg: television</param>
///<param name="command">The single command or the list of commands to be deleted. eg: Mute</param>
public static void DeleteCommand(this IEnumerable<IRemoteEntityCore> target, object command, string? device = null)
{
target.CallService("delete_command", new RemoteDeleteCommandParameters { Device = device, Command = command });
}
///<summary>Learns a command or a list of commands from a device.</summary>
public static void LearnCommand(this IRemoteEntityCore target, RemoteLearnCommandParameters data)
{
target.CallService("learn_command", data);
}
///<summary>Learns a command or a list of commands from a device.</summary>
public static void LearnCommand(this IEnumerable<IRemoteEntityCore> target, RemoteLearnCommandParameters data)
{
target.CallService("learn_command", data);
}
///<summary>Learns a command or a list of commands from a device.</summary>
///<param name="target">The IRemoteEntityCore to call this service for</param>
///<param name="device">Device ID to learn command from. eg: television</param>
///<param name="command">A single command or a list of commands to learn. eg: Turn on</param>
///<param name="commandType">The type of command to be learned.</param>
///<param name="alternative">If code must be stored as an alternative. This is useful for discrete codes. Discrete codes are used for toggles that only perform one function. For example, a code to only turn a device on. If it is on already, sending the code won&apos;t change the state.</param>
///<param name="timeout">Timeout for the command to be learned.</param>
public static void LearnCommand(this IRemoteEntityCore target, string? device = null, object? command = null, object? commandType = null, bool? alternative = null, long? timeout = null)
{
target.CallService("learn_command", new RemoteLearnCommandParameters { Device = device, Command = command, CommandType = commandType, Alternative = alternative, Timeout = timeout });
}
///<summary>Learns a command or a list of commands from a device.</summary>
///<param name="target">The IEnumerable&lt;IRemoteEntityCore&gt; to call this service for</param>
///<param name="device">Device ID to learn command from. eg: television</param>
///<param name="command">A single command or a list of commands to learn. eg: Turn on</param>
///<param name="commandType">The type of command to be learned.</param>
///<param name="alternative">If code must be stored as an alternative. This is useful for discrete codes. Discrete codes are used for toggles that only perform one function. For example, a code to only turn a device on. If it is on already, sending the code won&apos;t change the state.</param>
///<param name="timeout">Timeout for the command to be learned.</param>
public static void LearnCommand(this IEnumerable<IRemoteEntityCore> target, string? device = null, object? command = null, object? commandType = null, bool? alternative = null, long? timeout = null)
{
target.CallService("learn_command", new RemoteLearnCommandParameters { Device = device, Command = command, CommandType = commandType, Alternative = alternative, Timeout = timeout });
}
///<summary>Sends a command or a list of commands to a device.</summary>
public static void SendCommand(this IRemoteEntityCore target, RemoteSendCommandParameters data)
{
target.CallService("send_command", data);
}
///<summary>Sends a command or a list of commands to a device.</summary>
public static void SendCommand(this IEnumerable<IRemoteEntityCore> target, RemoteSendCommandParameters data)
{
target.CallService("send_command", data);
}
///<summary>Sends a command or a list of commands to a device.</summary>
///<param name="target">The IRemoteEntityCore to call this service for</param>
///<param name="device">Device ID to send command to. eg: 32756745</param>
///<param name="command">A single command or a list of commands to send. eg: Play</param>
///<param name="numRepeats">The number of times you want to repeat the commands.</param>
///<param name="delaySecs">The time you want to wait in between repeated commands.</param>
///<param name="holdSecs">The time you want to have it held before the release is send.</param>
public static void SendCommand(this IRemoteEntityCore target, object command, string? device = null, double? numRepeats = null, double? delaySecs = null, double? holdSecs = null)
{
target.CallService("send_command", new RemoteSendCommandParameters { Device = device, Command = command, NumRepeats = numRepeats, DelaySecs = delaySecs, HoldSecs = holdSecs });
}
///<summary>Sends a command or a list of commands to a device.</summary>
///<param name="target">The IEnumerable&lt;IRemoteEntityCore&gt; to call this service for</param>
///<param name="device">Device ID to send command to. eg: 32756745</param>
///<param name="command">A single command or a list of commands to send. eg: Play</param>
///<param name="numRepeats">The number of times you want to repeat the commands.</param>
///<param name="delaySecs">The time you want to wait in between repeated commands.</param>
///<param name="holdSecs">The time you want to have it held before the release is send.</param>
public static void SendCommand(this IEnumerable<IRemoteEntityCore> target, object command, string? device = null, double? numRepeats = null, double? delaySecs = null, double? holdSecs = null)
{
target.CallService("send_command", new RemoteSendCommandParameters { Device = device, Command = command, NumRepeats = numRepeats, DelaySecs = delaySecs, HoldSecs = holdSecs });
}
///<summary>Toggles a device on/off.</summary>
public static void Toggle(this IRemoteEntityCore target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Toggles a device on/off.</summary>
public static void Toggle(this IEnumerable<IRemoteEntityCore> target, object? data = null)
{
target.CallService("toggle", data);
}
///<summary>Turns the device off.</summary>
public static void TurnOff(this IRemoteEntityCore target, object? data = null)
{
target.CallService("turn_off", data);
}
///<summary>Turns the device off.</summary>
public static void TurnOff(this IEnumerable<IRemoteEntityCore> target, object? data = null)
{
target.CallService("turn_off", data);
}
///<summary>Sends the power on command.</summary>
public static void TurnOn(this IRemoteEntityCore target, RemoteTurnOnParameters data)
{
target.CallService("turn_on", data);
}
///<summary>Sends the power on command.</summary>
public static void TurnOn(this IEnumerable<IRemoteEntityCore> target, RemoteTurnOnParameters data)
{
target.CallService("turn_on", data);
}
///<summary>Sends the power on command.</summary>
///<param name="target">The IRemoteEntityCore to call this service for</param>
///<param name="activity">Activity ID or activity name to be started. eg: BedroomTV</param>
public static void TurnOn(this IRemoteEntityCore target, string? activity = null)
{
target.CallService("turn_on", new RemoteTurnOnParameters { Activity = activity });
}
///<summary>Sends the power on command.</summary>
///<param name="target">The IEnumerable&lt;IRemoteEntityCore&gt; to call this service for</param>
///<param name="activity">Activity ID or activity name to be started. eg: BedroomTV</param>
public static void TurnOn(this IEnumerable<IRemoteEntityCore> target, string? activity = null)
{
target.CallService("turn_on", new RemoteTurnOnParameters { Activity = activity });
}
}
public static class ScriptEntityExtensionMethods public static class ScriptEntityExtensionMethods
{ {
///<summary>Toggle a script. Starts it, if isn&apos;t running, stops it otherwise.</summary> ///<summary>Toggle a script. Starts it, if isn&apos;t running, stops it otherwise.</summary>

View file

@ -4,6 +4,7 @@
pkgs, pkgs,
... ...
}: let }: let
inherit (builtins) attrValues replaceStrings;
inherit (config.sops) secrets; inherit (config.sops) secrets;
compiled = pkgs.callPackage ./package.nix {}; compiled = pkgs.callPackage ./package.nix {};
@ -31,7 +32,7 @@ in {
}; };
services.home-assistant = { services.home-assistant = {
customComponents = builtins.attrValues { customComponents = attrValues {
inherit inherit
(self.legacyPackages.${pkgs.system}.hass-components) (self.legacyPackages.${pkgs.system}.hass-components)
netdaemon netdaemon
@ -39,13 +40,28 @@ in {
}; };
}; };
environment.systemPackages = [ environment.systemPackages = let
nixFetchDeps =
replaceStrings [(toString self)] ["$FLAKE"]
#nix
''
let
config = (builtins.getFlake ("$FLAKE")).nixosConfigurations.homie;
inherit (config) pkgs;
netdaemonConfig = pkgs.callPackage ${toString ./package.nix} {};
in
netdaemonConfig.fetch-deps
'';
in [
(pkgs.writeShellApplication { (pkgs.writeShellApplication {
name = "updateNuDeps"; name = "bumpNetdaemonDeps";
runtimeInputs = with pkgs; [ runtimeInputs = with pkgs; [
dos2unix dos2unix
dotnet-sdk_8 dotnet-sdk_8
]; ];
text = '' text = ''
# Install codegen # Install codegen
dotnet tool install --create-manifest-if-needed NetDaemon.HassModel.CodeGen --version "$(cat ./.version)" dotnet tool install --create-manifest-if-needed NetDaemon.HassModel.CodeGen --version "$(cat ./.version)"
@ -68,7 +84,11 @@ in {
done done
done done
$(nix build --no-link --print-out-paths --impure --expr "let self = builtins.getFlake (\"$FLAKE\"); inherit (self.nixosConfigurations.homie) pkgs; in (pkgs.callPackage $FLAKE/devices/homie/modules/home-assistant/netdaemon/package.nix {}).fetch-deps") . $(nix build --no-link --print-out-paths --impure --expr "$(cat <<EOF
${nixFetchDeps}
EOF
)") .
alejandra . alejandra .
rm -r "$FLAKE/.config" rm -r "$FLAKE/.config"

View file

@ -43,24 +43,29 @@
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Configuration.FileExtensions"; pname = "Microsoft.Extensions.Configuration.FileExtensions";
version = "8.0.0"; version = "8.0.1";
hash = "sha256-BCxcjVP+kvrDDB0nzsFCJfU74UK4VBvct2JA4r+jNcs="; hash = "sha256-iRA8L7BX/fe5LHCVOhzBSk30GfshP7V2Qj2nxpEvStA=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Configuration.Json"; pname = "Microsoft.Extensions.Configuration.Json";
version = "8.0.0"; version = "8.0.1";
hash = "sha256-Fi/ijcG5l0BOu7i96xHu96aN5/g7zO6SWQbTsI3Qetg="; hash = "sha256-J8EK/yhsfTpeSUY8F81ZTBV9APHiPUliN7d+n2OX9Ig=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Configuration.UserSecrets"; pname = "Microsoft.Extensions.Configuration.UserSecrets";
version = "8.0.0"; version = "8.0.1";
hash = "sha256-/yj5QaEzeRStvOFoBpPRPXlEehGtr2E6/rJb+OEPIK8="; hash = "sha256-yGvWfwBhyFudcIv96pKWaQ1MIMOiv5LHSCn+9J7Doz0=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.DependencyInjection"; pname = "Microsoft.Extensions.DependencyInjection";
version = "8.0.0"; version = "8.0.0";
hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ="; hash = "sha256-+qIDR8hRzreCHNEDtUcPfVHQdurzWPo/mqviCH78+EQ=";
}) })
(fetchNuGet {
pname = "Microsoft.Extensions.DependencyInjection";
version = "8.0.1";
hash = "sha256-O9g0jWS+jfGoT3yqKwZYJGL+jGSIeSbwmvomKDC3hTU=";
})
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; pname = "Microsoft.Extensions.DependencyInjection.Abstractions";
version = "8.0.0"; version = "8.0.0";
@ -68,24 +73,29 @@
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; pname = "Microsoft.Extensions.DependencyInjection.Abstractions";
version = "8.0.1"; version = "8.0.2";
hash = "sha256-lzTYLpRDAi3wW9uRrkTNJtMmaYdtGJJHdBLbUKu60PM="; hash = "sha256-UfLfEQAkXxDaVPC7foE/J3FVEXd31Pu6uQIhTic3JgY=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.DependencyModel"; pname = "Microsoft.Extensions.DependencyModel";
version = "8.0.1"; version = "8.0.2";
hash = "sha256-m8daXRK1Qn9y2c8SmtWu9ysLHwFJtEWiUQoAnMalw7s="; hash = "sha256-PyuO/MyCR9JtYqpA1l/nXGh+WLKCq34QuAXN9qNza9Q=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Diagnostics"; pname = "Microsoft.Extensions.Diagnostics";
version = "8.0.0"; version = "8.0.1";
hash = "sha256-fBLlb9xAfTgZb1cpBxFs/9eA+BlBvF8Xg0DMkBqdHD4="; hash = "sha256-CraHNCaVlMiYx6ff9afT6U7RC/MoOCXM3pn2KrXkiLc=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Diagnostics.Abstractions"; pname = "Microsoft.Extensions.Diagnostics.Abstractions";
version = "8.0.0"; version = "8.0.0";
hash = "sha256-USD5uZOaahMqi6u7owNWx/LR4EDrOwqPrAAim7iRpJY="; hash = "sha256-USD5uZOaahMqi6u7owNWx/LR4EDrOwqPrAAim7iRpJY=";
}) })
(fetchNuGet {
pname = "Microsoft.Extensions.Diagnostics.Abstractions";
version = "8.0.1";
hash = "sha256-d5DVXhA8qJFY9YbhZjsTqs5w5kDuxF5v+GD/WZR1QL0=";
})
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.FileProviders.Abstractions"; pname = "Microsoft.Extensions.FileProviders.Abstractions";
version = "8.0.0"; version = "8.0.0";
@ -103,18 +113,23 @@
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Hosting"; pname = "Microsoft.Extensions.Hosting";
version = "8.0.0"; version = "8.0.1";
hash = "sha256-sKHa+w4/pMeQb5RRFqLtMTUJy5H6hSIGWchbH2pxSrg="; hash = "sha256-FFLo6em0N2vaWg6//vaQhxoOgT9LLH5Y2KWkCeX5xQ4=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Hosting.Abstractions"; pname = "Microsoft.Extensions.Hosting.Abstractions";
version = "8.0.0"; version = "8.0.0";
hash = "sha256-0JBx+wwt5p1SPfO4m49KxNOXPAzAU0A+8tEc/itvpQE="; hash = "sha256-0JBx+wwt5p1SPfO4m49KxNOXPAzAU0A+8tEc/itvpQE=";
}) })
(fetchNuGet {
pname = "Microsoft.Extensions.Hosting.Abstractions";
version = "8.0.1";
hash = "sha256-/bIVL9uvBQhV/KQmjA1ZjR74sMfaAlBb15sVXsGDEVA=";
})
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Http"; pname = "Microsoft.Extensions.Http";
version = "8.0.0"; version = "8.0.1";
hash = "sha256-UgljypOLld1lL7k7h1noazNzvyEHIJw+r+6uGzucFSY="; hash = "sha256-ScPwhBvD3Jd4S0E7JQ18+DqY3PtQvdFLbkohUBbFd3o=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Logging"; pname = "Microsoft.Extensions.Logging";
@ -122,45 +137,50 @@
hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o="; hash = "sha256-Meh0Z0X7KyOEG4l0RWBcuHHihcABcvCyfUXgasmQ91o=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Logging.Abstractions"; pname = "Microsoft.Extensions.Logging";
version = "8.0.0"; version = "8.0.1";
hash = "sha256-Jmddjeg8U5S+iBTwRlVAVLeIHxc4yrrNgqVMOB7EjM4="; hash = "sha256-vkfVw4tQEg86Xg18v6QO0Qb4Ysz0Njx57d1XcNuj6IU=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Logging.Abstractions"; pname = "Microsoft.Extensions.Logging.Abstractions";
version = "8.0.1"; version = "8.0.2";
hash = "sha256-TYce3qvMr92JbAZ62ATBsocaH0joJzw0px0tYGZ9N0U="; hash = "sha256-cHpe8X2BgYa5DzulZfq24rg8O2K5Lmq2OiLhoyAVgJc=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Logging.Configuration"; pname = "Microsoft.Extensions.Logging.Configuration";
version = "8.0.0"; version = "8.0.1";
hash = "sha256-mzmstNsVjKT0EtQcdAukGRifD30T82BMGYlSu8k4K7U="; hash = "sha256-E2JbJG2EXlv2HUWLi17kIkAL6RC9rC2E18C3gAyOuaE=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Logging.Console"; pname = "Microsoft.Extensions.Logging.Console";
version = "8.0.0"; version = "8.0.1";
hash = "sha256-bdb9YWWVn//AeySp7se87/tCN2E7e8Gx2GPMw28cd9c="; hash = "sha256-2thhF1JbDNj3Bx2fcH7O26uHGNeMd9MYah6N60lIpIU=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Logging.Debug"; pname = "Microsoft.Extensions.Logging.Debug";
version = "8.0.0"; version = "8.0.1";
hash = "sha256-AJunzYBZM2wCg86hnPnMrBuWIIyW/4PnIVoDSU969cA="; hash = "sha256-gKFqBg5lbjy5VBEcAuoQ/SsXAxvrYdBYOu9dV60eJKg=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Logging.EventLog"; pname = "Microsoft.Extensions.Logging.EventLog";
version = "8.0.0"; version = "8.0.1";
hash = "sha256-vXBm4yhWGP4uow0CqstuqOkxO8yeZEM15JTTenjPbhc="; hash = "sha256-1UkEOwl3Op2b3jTvpI10hHxIe9FqeVVy+VB1tZp6Lc8=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Logging.EventSource"; pname = "Microsoft.Extensions.Logging.EventSource";
version = "8.0.0"; version = "8.0.1";
hash = "sha256-kaR7YOlq5s8W9nZDtH/lKtnfGbrgOuQY4DUPcA2lcj0="; hash = "sha256-EINT/PgfB4Dvf+1JBzL1plPT35ezT7kyS8y/XMMgYxA=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Options"; pname = "Microsoft.Extensions.Options";
version = "8.0.0"; version = "8.0.0";
hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw="; hash = "sha256-n2m4JSegQKUTlOsKLZUUHHKMq926eJ0w9N9G+I3FoFw=";
}) })
(fetchNuGet {
pname = "Microsoft.Extensions.Options";
version = "8.0.2";
hash = "sha256-AjcldddddtN/9aH9pg7ClEZycWtFHLi9IPe1GGhNQys=";
})
(fetchNuGet { (fetchNuGet {
pname = "Microsoft.Extensions.Options.ConfigurationExtensions"; pname = "Microsoft.Extensions.Options.ConfigurationExtensions";
version = "8.0.0"; version = "8.0.0";
@ -173,43 +193,43 @@
}) })
(fetchNuGet { (fetchNuGet {
pname = "NetDaemon.AppModel"; pname = "NetDaemon.AppModel";
version = "24.37.1"; version = "24.42.0";
hash = "sha256-KQKTm0+4itReyulWfYMLKX1uXBv8tMNMxyI+TdOnK/s="; hash = "sha256-a0iOb8Vqd3a18EgSxXzXYJ1dHiYWeeDuxqfXKjQ36uc=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "NetDaemon.Client"; pname = "NetDaemon.Client";
version = "24.37.1"; version = "24.42.0";
hash = "sha256-xxOsjKFtD0cSMOr7if+bRQq6y5yR7//FruIVMXSiEww="; hash = "sha256-6TVzZPjLy6z56gLONGOPOd+MJ8ScKeNaQ1POyDJVUOQ=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "NetDaemon.Extensions.Logging"; pname = "NetDaemon.Extensions.Logging";
version = "24.37.1"; version = "24.42.0";
hash = "sha256-JLDREBFhOOtveJu3JtwJR3ZIkQmrwMRrHt7mwmXy7dw="; hash = "sha256-MMLl9h7jx8nGxKPUhwmrUltL+QthUBpkowzoTSEkjwk=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "NetDaemon.Extensions.Scheduling"; pname = "NetDaemon.Extensions.Scheduling";
version = "24.37.1"; version = "24.42.0";
hash = "sha256-f+IvbPAMfK4yA7bi56SI/+1hol/6oBbz6AMkJ2OCAOc="; hash = "sha256-Iav/7z6kJaF+/32FxeynwB29DuxShpXIM6W1vmIQIik=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "NetDaemon.Extensions.Tts"; pname = "NetDaemon.Extensions.Tts";
version = "24.37.1"; version = "24.42.0";
hash = "sha256-R4bFaR2mUct39njcbK2m7xeuDIZeRqHdvsjp3hFBdfQ="; hash = "sha256-W02yRpXMgJeMjudvZgE1A4tXfEWr6LZ/uIuBInDhJlc=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "NetDaemon.HassModel"; pname = "NetDaemon.HassModel";
version = "24.37.1"; version = "24.42.0";
hash = "sha256-eIOk6/LImCTjTC4cwWBpATqxiQUQxbsRXAcR6Mz7LKs="; hash = "sha256-CL+NvA6Ai1bDwqN1j+dBo1QL6YS6gunZxqZaTE9EgY8=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "NetDaemon.HassModel.Integration"; pname = "NetDaemon.HassModel.Integration";
version = "24.37.1"; version = "24.42.0";
hash = "sha256-6e7oQFRs15dT0+cQxgyQWwWgmHNdFzlCnyJzmfPe5b8="; hash = "sha256-pzCqGyuZOwbHArfDVbVRtk4daKPTRKjAs5WCwWl4MrQ=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "NetDaemon.Runtime"; pname = "NetDaemon.Runtime";
version = "24.37.1"; version = "24.42.0";
hash = "sha256-GwMx6f+lIoM1OznORs0Wkoc6HLalILFK1OS6Vcz1BuI="; hash = "sha256-v3Dl8BfEAIk6GvJeKZv1NA/4E5t8etSK0hpN7Ckmjsw=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Serilog"; pname = "Serilog";
@ -223,8 +243,8 @@
}) })
(fetchNuGet { (fetchNuGet {
pname = "Serilog.AspNetCore"; pname = "Serilog.AspNetCore";
version = "8.0.2"; version = "8.0.3";
hash = "sha256-cRZHG2bqrESOxPVxq2v+mHx+oZBzZEPksrleGVXO1p0="; hash = "sha256-ZyBlauyG/7CLTqrbhRalmayFd99d7bimNTMw4hXDR2I=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Serilog.Extensions.Hosting"; pname = "Serilog.Extensions.Hosting";
@ -243,8 +263,8 @@
}) })
(fetchNuGet { (fetchNuGet {
pname = "Serilog.Settings.Configuration"; pname = "Serilog.Settings.Configuration";
version = "8.0.2"; version = "8.0.4";
hash = "sha256-iHRQt6vDk85/6HpMXiJluAwhkjgwEnL3IKavfDgFX0k="; hash = "sha256-00abT3H5COh5/A/tMYJwAZ37Mwa6jafVvW/nysLIbNQ=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "Serilog.Sinks.Console"; pname = "Serilog.Sinks.Console";
@ -268,8 +288,8 @@
}) })
(fetchNuGet { (fetchNuGet {
pname = "System.Diagnostics.EventLog"; pname = "System.Diagnostics.EventLog";
version = "8.0.0"; version = "8.0.1";
hash = "sha256-rt8xc3kddpQY4HEdghlBeOK4gdw5yIj4mcZhAVtk2/Y="; hash = "sha256-zvqd72pwgcGoa1nH3ZT1C0mP9k53vFLJ69r5MCQ1saA=";
}) })
(fetchNuGet { (fetchNuGet {
pname = "System.IO.Pipelines"; pname = "System.IO.Pipelines";
@ -281,24 +301,9 @@
version = "6.0.1"; version = "6.0.1";
hash = "sha256-Lo5UMqp8DsbVSUxa2UpClR1GoYzqQQcSxkfyFqB/d4Q="; hash = "sha256-Lo5UMqp8DsbVSUxa2UpClR1GoYzqQQcSxkfyFqB/d4Q=";
}) })
(fetchNuGet {
pname = "System.Text.Encodings.Web";
version = "8.0.0";
hash = "sha256-IUQkQkV9po1LC0QsqrilqwNzPvnc+4eVvq+hCvq8fvE=";
})
(fetchNuGet {
pname = "System.Text.Json";
version = "8.0.0";
hash = "sha256-XFcCHMW1u2/WujlWNHaIWkbW1wn8W4kI0QdrwPtWmow=";
})
(fetchNuGet {
pname = "System.Text.Json";
version = "8.0.4";
hash = "sha256-g5oT7fbXxQ9Iah1nMCr4UUX/a2l+EVjJyTrw3FTbIaI=";
})
(fetchNuGet { (fetchNuGet {
pname = "YamlDotNet"; pname = "YamlDotNet";
version = "16.1.2"; version = "16.1.3";
hash = "sha256-J8fZ6rRFiNsAYDxHFskAjC2fP+K2XrewDs50jAKEWTY="; hash = "sha256-xsti5h1ZUCS9Jvb4UGKdHrEudJIQXrbOe0USxSjWqjc=";
}) })
] ]

View file

@ -1,8 +1,8 @@
pkgs: pkgs:
pkgs.dockerTools.pullImage rec { pkgs.dockerTools.pullImage rec {
imageName = "netdaemon/netdaemon4"; imageName = "netdaemon/netdaemon4";
imageDigest = "sha256:2ccb8dce2a7a5bba14bd90030640f09a91adccb472e16168ad06ae1f752430ae"; imageDigest = "sha256:c52ef7ad2252ea52b903c76f2c3e2772d574ebb600ebd1d13310af688b7f82ab";
sha256 = "1qj2yrbhcr162ikfv3jbh4qvb17p7vzxva5z3r5vhhimayr24dn4"; sha256 = "1lk6wc4k48i9biycj1wagbjziwg50fn29awmwlvayxpzh63b5qbg";
finalImageName = imageName; finalImageName = imageName;
finalImageTag = "24.37.1"; finalImageTag = "24.42.0";
} }

View file

@ -27,14 +27,14 @@
</Target> </Target>
<ItemGroup> <ItemGroup>
<PackageReference Include="NetDaemon.AppModel" Version="24.37.1" /> <PackageReference Include="NetDaemon.AppModel" Version="24.42.0" />
<PackageReference Include="NetDaemon.Runtime" Version="24.37.1" /> <PackageReference Include="NetDaemon.Runtime" Version="24.42.0" />
<PackageReference Include="NetDaemon.HassModel" Version="24.37.1" /> <PackageReference Include="NetDaemon.HassModel" Version="24.42.0" />
<PackageReference Include="NetDaemon.HassModel.Integration" Version="24.37.1" /> <PackageReference Include="NetDaemon.HassModel.Integration" Version="24.42.0" />
<PackageReference Include="NetDaemon.Client" Version="24.37.1" /> <PackageReference Include="NetDaemon.Client" Version="24.42.0" />
<PackageReference Include="NetDaemon.Extensions.Scheduling" Version="24.37.1" /> <PackageReference Include="NetDaemon.Extensions.Scheduling" Version="24.42.0" />
<PackageReference Include="NetDaemon.Extensions.Logging" Version="24.37.1" /> <PackageReference Include="NetDaemon.Extensions.Logging" Version="24.42.0" />
<PackageReference Include="NetDaemon.Extensions.Tts" Version="24.37.1" /> <PackageReference Include="NetDaemon.Extensions.Tts" Version="24.42.0" />
<PackageReference Include="FuzzySharp" Version="2.0.2" /> <PackageReference Include="FuzzySharp" Version="2.0.2" />
</ItemGroup> </ItemGroup>
</Project> </Project>