Esempio n. 1
0
        public TasmotaDeviceManager(IHsController HS,
                                    MqttServerDetails hostedMQTTServerDetails,
                                    CancellationToken cancellationToken)
        {
            this.HS = HS;
            this.hostedMQTTServerDetails = hostedMQTTServerDetails;
            this.combinedToken           = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);

            importDevices = GetCurrentDevices().ToImmutableDictionary();
        }
Esempio n. 2
0
 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);
        }