Skip to content

Releases: smdn/Smdn.TPSmartHomeDevices

Smdn.TPSmartHomeDevices version 1.0.0-preview2

13 Mar 14:25
24ac66f
Compare
Choose a tag to compare

Released package

Release notes

The full release notes are available at gist.

Change log

Change log in this release:

API changes

API changes in this release:
diff --git a/doc/api-list/Smdn.TPSmartHomeDevices/Smdn.TPSmartHomeDevices-net6.0.apilist.cs b/doc/api-list/Smdn.TPSmartHomeDevices/Smdn.TPSmartHomeDevices-net6.0.apilist.cs
index b39f5e0..719cc72 100644
--- a/doc/api-list/Smdn.TPSmartHomeDevices/Smdn.TPSmartHomeDevices-net6.0.apilist.cs
+++ b/doc/api-list/Smdn.TPSmartHomeDevices/Smdn.TPSmartHomeDevices-net6.0.apilist.cs
@@ -1,695 +1,723 @@
-// Smdn.TPSmartHomeDevices.dll (Smdn.TPSmartHomeDevices-1.0.0-preview1)
+// Smdn.TPSmartHomeDevices.dll (Smdn.TPSmartHomeDevices-1.0.0-preview2)
 //   Name: Smdn.TPSmartHomeDevices
 //   AssemblyVersion: 1.0.0.0
-//   InformationalVersion: 1.0.0-preview1+e06e7ca85c2de4ff93d0da638a7853e7f837e6ce
+//   InformationalVersion: 1.0.0-preview2+81e3802b1dec05701f67b90fc3e31867a1d3af11
 //   TargetFramework: .NETCoreApp,Version=v6.0
 //   Configuration: Release
 //   Referenced assemblies:
-//     Microsoft.Extensions.DependencyInjection.Abstractions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
-//     Microsoft.Extensions.Http, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
-//     Microsoft.Extensions.Logging.Abstractions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+//     Microsoft.Extensions.DependencyInjection.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+//     Microsoft.Extensions.Http, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+//     Microsoft.Extensions.Logging.Abstractions, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
 //     Microsoft.Win32.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     Smdn.Fundamental.PrintableEncoding.Hexadecimal, Version=3.0.1.0, Culture=neutral
 //     Smdn.Net.AddressResolution, Version=1.0.0.0, Culture=neutral
 //     System.Collections, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.ComponentModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Linq, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Memory, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     System.Net.Http, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-//     System.Net.Http.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+//     System.Net.Http.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 //     System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Security.Cryptography.Algorithms, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Security.Cryptography.Encoding, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
 //     System.Security.Cryptography.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-//     System.Text.Encodings.Web, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
-//     System.Text.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+//     System.Text.Encodings.Web, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+//     System.Text.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
 #nullable enable annotations
 
 using System;
 using System.Buffers;
 using System.Collections.Generic;
 using System.Diagnostics.CodeAnalysis;
 using System.Net;
 using System.Net.Http;
 using System.Net.NetworkInformation;
 using System.Security.Cryptography;
 using System.Text.Json;
 using System.Text.Json.Serialization;
 using System.Threading;
 using System.Threading.Tasks;
 using Microsoft.Extensions.DependencyInjection;
 using Microsoft.Extensions.Logging;
 using Smdn.Net.AddressResolution;
 using Smdn.TPSmartHomeDevices;
 using Smdn.TPSmartHomeDevices.Kasa;
 using Smdn.TPSmartHomeDevices.Kasa.Protocol;
 using Smdn.TPSmartHomeDevices.Tapo;
 using Smdn.TPSmartHomeDevices.Tapo.Protocol;
 
 namespace Smdn.TPSmartHomeDevices {
   public interface IDeviceEndPointProvider {
     bool IsStaticEndPoint { get; }
 
     ValueTask<EndPoint?> GetEndPointAsync(CancellationToken cancellationToken = default);
   }
 
   public class DeviceEndPointResolutionException : Exception {
     public DeviceEndPointResolutionException(IDeviceEndPointProvider deviceEndPointProvider) {}
     public DeviceEndPointResolutionException(IDeviceEndPointProvider deviceEndPointProvider, string message, Exception? innerException) {}
 
     public IDeviceEndPointProvider EndPointProvider { get; }
   }
 
   public class MacAddressDeviceEndPointFactory : IDisposable {
     protected class MacAddressDeviceEndPointProvider : IDeviceEndPointProvider {
       public MacAddressDeviceEndPointProvider(IAddressResolver<PhysicalAddress, IPAddress> resolver, PhysicalAddress address, int port) {}
 
       public bool IsStaticEndPoint { get; }
 
       public async ValueTask<EndPoint?> GetEndPointAsync(CancellationToken cancellationToken) {}
     }
 
     protected MacAddressDeviceEndPointFactory(IAddressResolver<PhysicalAddress, IPAddress> resolver, IServiceProvider? serviceProvider = null) {}
     public MacAddressDeviceEndPointFactory(MacAddressResolver resolver, IServiceProvider? serviceProvider = null) {}
     public MacAddressDeviceEndPointFactory(MacAddressResolverOptions? options = null, IServiceProvider? serviceProvider = null) {}
 
     public virtual IDeviceEndPointProvider Create(PhysicalAddress address, int port = 0) {}
     protected virtual void Dispose(bool disposing) {}
     public void Dispose() {}
     protected void ThrowIfDisposed() {}
   }
 }
 
 namespace Smdn.TPSmartHomeDevices.Kasa {
   pub...
Read more

Smdn.TPSmartHomeDevices version 1.0.0-preview1

07 Mar 14:36
54adb7f
Compare
Choose a tag to compare

Released package

Release notes

The full release notes are available at gist.

Change log

Change log in this release:

API changes

API changes in this release:
diff --git a/doc/api-list/Smdn.TPSmartHomeDevices/Smdn.TPSmartHomeDevices-net6.0.apilist.cs b/doc/api-list/Smdn.TPSmartHomeDevices/Smdn.TPSmartHomeDevices-net6.0.apilist.cs
new file mode 100644
index 0000000..b39f5e0
--- /dev/null
+++ b/doc/api-list/Smdn.TPSmartHomeDevices/Smdn.TPSmartHomeDevices-net6.0.apilist.cs
@@ -0,0 +1,695 @@
+// Smdn.TPSmartHomeDevices.dll (Smdn.TPSmartHomeDevices-1.0.0-preview1)
+//   Name: Smdn.TPSmartHomeDevices
+//   AssemblyVersion: 1.0.0.0
+//   InformationalVersion: 1.0.0-preview1+e06e7ca85c2de4ff93d0da638a7853e7f837e6ce
+//   TargetFramework: .NETCoreApp,Version=v6.0
+//   Configuration: Release
+//   Referenced assemblies:
+//     Microsoft.Extensions.DependencyInjection.Abstractions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+//     Microsoft.Extensions.Http, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+//     Microsoft.Extensions.Logging.Abstractions, Version=7.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60
+//     Microsoft.Win32.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     Smdn.Fundamental.PrintableEncoding.Hexadecimal, Version=3.0.1.0, Culture=neutral
+//     Smdn.Net.AddressResolution, Version=1.0.0.0, Culture=neutral
+//     System.Collections, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     System.ComponentModel, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     System.Linq, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     System.Memory, Version=6.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+//     System.Net.Http, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     System.Net.Http.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+//     System.Net.NetworkInformation, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     System.Net.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     System.Net.Sockets, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     System.Runtime, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     System.Security.Cryptography.Algorithms, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     System.Security.Cryptography.Encoding, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     System.Security.Cryptography.Primitives, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+//     System.Text.Encodings.Web, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+//     System.Text.Json, Version=7.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
+#nullable enable annotations
+
+using System;
+using System.Buffers;
+using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
+using System.Net;
+using System.Net.Http;
+using System.Net.NetworkInformation;
+using System.Security.Cryptography;
+using System.Text.Json;
+using System.Text.Json.Serialization;
+using System.Threading;
+using System.Threading.Tasks;
+using Microsoft.Extensions.DependencyInjection;
+using Microsoft.Extensions.Logging;
+using Smdn.Net.AddressResolution;
+using Smdn.TPSmartHomeDevices;
+using Smdn.TPSmartHomeDevices.Kasa;
+using Smdn.TPSmartHomeDevices.Kasa.Protocol;
+using Smdn.TPSmartHomeDevices.Tapo;
+using Smdn.TPSmartHomeDevices.Tapo.Protocol;
+
+namespace Smdn.TPSmartHomeDevices {
+  public interface IDeviceEndPointProvider {
+    bool IsStaticEndPoint { get; }
+
+    ValueTask<EndPoint?> GetEndPointAsync(CancellationToken cancellationToken = default);
+  }
+
+  public class DeviceEndPointResolutionException : Exception {
+    public DeviceEndPointResolutionException(IDeviceEndPointProvider deviceEndPointProvider) {}
+    public DeviceEndPointResolutionException(IDeviceEndPointProvider deviceEndPointProvider, string message, Exception? innerException) {}
+
+    public IDeviceEndPointProvider EndPointProvider { get; }
+  }
+
+  public class MacAddressDeviceEndPointFactory : IDisposable {
+    protected class MacAddressDeviceEndPointProvider : IDeviceEndPointProvider {
+      public MacAddressDeviceEndPointProvider(IAddressResolver<PhysicalAddress, IPAddress> resolver, PhysicalAddress address, int port) {}
+
+      public bool IsStaticEndPoint { get; }
+
+      public async ValueTask<EndPoint?> GetEndPointAsync(CancellationToken cancellationToken) {}
+    }
+
+    protected MacAddressDeviceEndPointFactory(IAddressResolver<PhysicalAddress, IPAddress> resolver, IServiceProvider? serviceProvider = null) {}
+    public MacAddressDeviceEndPointFactory(MacAddressResolver resolver, IServiceProvider? serviceProvider = null) {}
+    public MacAddressDeviceEndPointFactory(MacAddressResolverOptions? options = null, IServiceProvider? serviceProvider = null) {}
+
+    public virtual IDeviceEndPointProvider Create(PhysicalAddress address, int port = 0) {}
+    protected virtual void Dispose(bool disposing) {}
+    public void Dispose() {}
+    protected void ThrowIfDisposed() {}
+  }
+}
+
+namespace Smdn.TPSmartHomeDevices.Kasa {
+  public class HS105 : KasaDevice {
+    public HS105(IDeviceEndPointProvider deviceEndPointProvider, IServiceProvider? serviceProvider = null) {}
+    public HS105(IPAddress ipAddress, IServiceProvider? serviceProvider = null) {}
+    public HS105(string hostName, IServiceProvider? serviceProvider = null) {}
+
+    public Task<bool> GetOnOffStateAsync(CancellationToken cancellationToken = default) {}
+    public Task SetOnOffStateAsync(bool newOnOffState, CancellationToken cancellationToken = default) {}
+    public Task TurnOffAsync(CancellationToken cancellationToken = default) {}
+    public Task TurnOnAsync(CancellationToken cancellationToken = default) {}
+  }
+
+  public class KL130 : KasaDevice {
+    public KL130(IDeviceEndPointProvider deviceEndPointProvider, IServiceProvider? serviceProvider = null) {}
+    public KL130(IPAddress ipAddress, IServiceProvider? serviceProvider = null) {}
+    public KL130(string hostName, IServiceProvider? serviceProvider = null) {}
+
+    public Task<KL130LightState> GetLightStateAsync(CancellationToken cancellationToken = default) {}
+    public Task<bool> GetOnOffStateAsync(CancellationToken cancellationToken = default) {}
+    public Task SetColorAsync(int hue, int saturation, int? brightness = null, TimeSpan? transitionPeriod = null, CancellationToken cancellationToken = default) {}
+    public Task SetColorTemperatureAsync(int colorTemperature, int? brightness = null, TimeSpan? transitionPeriod = null, CancellationToken cancellationToken = default) {}
+    public Task SetOnOffStateAsync(bool newOnOffState, TimeSpan? transitionPeriod = null, CancellationToken cancellationToken = default) {}
+    public Task TurnOffAsync(TimeSpan? transitionPeriod = null, CancellationToken cancellationToken = default) {}
+    public Task TurnOnAsync(TimeSpan? transitionPeriod = null, CancellationToken cancellationToken = default) {}
+  }
+
+  public class KasaDevice : IDisposable {
+    protected readonly struct NullParameter {
+    }
+
+    protected static readonly JsonEncodedText MethodTextGetSysInfo;
+    protected static readonly JsonEncodedText ModuleTextSystem;
+
+    public static KasaDevice Create(IDeviceEndPointProvider deviceEndPointProvider, IServiceProvider? serviceProvider = null) {}
+    public static KasaDevice Create(IPAddress deviceAddress, IServiceProvider? serviceProvider = null) {}
+    public static KasaDevice Create(string hostName, IServiceProvider? serviceProvider = null) {}
+
+    protected KasaDevice(IDeviceEndPointProvider deviceEndPointProvider, IServiceProvider? serviceProvider = null) {}
+    protected KasaDevice(IPAddress ipAddress, IServiceProvider? serviceProvider = null) {}
+    protected KasaDevice(string hostName, IServiceProvider? serviceProvider = null) {}
+
+    public bool IsConnected { get; }
+    protected bool IsDisposed { get; }
+
+    protected virtual void Dispose(bool disposing) {}
+    public void Dispose() {}
+    public ValueTask<EndPoint> ResolveEndPointAsync(CancellationToken cancellationToken = default) {}
+    protected Task SendRequestAsync<TMethodParameter>(JsonEncodedText module, JsonEncodedText method, TMethodParameter parameters, CancellationToken cancellationToken) {}
+    protected Task<TMethodResult...
Read more