public TasmotaDeviceManager(IHsController HS, MqttServerDetails hostedMQTTServerDetails, CancellationToken cancellationToken) { this.HS = HS; this.hostedMQTTServerDetails = hostedMQTTServerDetails; this.combinedToken = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken); importDevices = GetCurrentDevices().ToImmutableDictionary(); }
public TasmotaDevice(IHsController HS, int refId, MqttServerDetails hostedServerDetails, CancellationToken cancellationToken) : base(HS, refId) { this.hostedServerDetails = hostedServerDetails; this.cancellationToken = cancellationToken; Utils.TaskHelper.StartAsyncWithErrorChecking(Invariant($"Device Start {refId}"), UpdateDeviceProperties, cancellationToken, TimeSpan.FromSeconds(15)); }
public static async Task UpdateMqttServerDetails(TasmotaDeviceInfo data, MqttServerDetails mqttServerDetails, CancellationToken cancellationToken) { string command = Invariant($"Backlog SetOption3 1; MqttHost {mqttServerDetails.Host}; MqttPort {mqttServerDetails.Port}; MqttUser ; MqttPassword ;"); await SendWebCommandForString(data, command, cancellationToken).ConfigureAwait(false); }