chore: bump NetDaemon version 24.37.1 -> 24.42.0
All checks were successful
Discord / discord commits (push) Has been skipped
All checks were successful
Discord / discord commits (push) Has been skipped
This commit is contained in:
parent
a69b0e8b90
commit
0570f5ad70
6 changed files with 165 additions and 404 deletions
|
@ -1 +1 @@
|
||||||
24.37.1
|
24.42.0
|
||||||
|
|
|
@ -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'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'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<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 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'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<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'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<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 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<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 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't running, stops it otherwise.</summary>
|
///<summary>Toggle a script. Starts it, if isn't running, stops it otherwise.</summary>
|
||||||
|
|
|
@ -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"
|
||||||
|
|
||||||
|
|
|
@ -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=";
|
||||||
})
|
})
|
||||||
]
|
]
|
||||||
|
|
|
@ -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";
|
||||||
}
|
}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
Loading…
Reference in a new issue