NEWS
[gelöst]MQTT-Adapter verliert bei Neustart per Skript Passw.
-
Hallo iobroker Community,
ich möchten mehrere Adapter für eine gewisse Zeit stoppen und danach wieder starten.
Für das Starten und Stoppen nutze ich folgendes Skritp:var obj = getObject(Adapter); //e.g. ("system.adapter.pushover.0"); obj.common.enabled = Status; //e.g. false setObject(Adapter, obj);
Das Ganze klappt auch, jedoch stellt sich der MQTT-Adapter quer.
Dieser verliert nach dem Stoppen per Skript das hinterlegte Passwort:Wird der Adapter über den Admin gestoppt und gestartet, geht das Passwort nicht verloren:
Hat jemand von euch eine Idee?
Gruß
Darth -
@darth2010 sagte in MQTT-Adapter verliert nach Neustart per Skript das Passwort:
Hat jemand von euch eine Idee?
Sowas steuert man über den State "alive" des Systems.
setState('system.adapter.email.0.alive', false);
-
@codierknecht said in MQTT-Adapter verliert nach Neustart per Skript das Passwort:
setState('system.adapter.email.0.alive', false);
Perfekt, Danke
-
@darth2010 sagte in [gelöst]MQTT-Adapter verliert bei Neustart per Skript Passw.:
Dieser verliert nach dem Stoppen per Skript das hinterlegte Passwort:
Logisch. In dem Objekt sind sog. "protected Attribute" (wie das Passwort). Damit Du nicht einfach mit einem Script das Passwort auslesen kannst (oder andere Instanzen).
Holst Du nun das Objekt, fehlt das Passwort da drin. Dann speicherst Du das Objekt neu, ohne das Passwort = weg.
Nimm
startInstanceAsync('email.0');
bzw.stopInstanceAsync('email.0');
(ab Adapter v8.7.0) -
@haus-automatisierung said in [gelöst]MQTT-Adapter verliert bei Neustart per Skript Passw.:
@darth2010 sagte in [gelöst]MQTT-Adapter verliert bei Neustart per Skript Passw.:
Dieser verliert nach dem Stoppen per Skript das hinterlegte Passwort:
Logisch. In dem Objekt sind sog. "protected Attribute" (wie das Passwort). Damit Du nicht einfach mit einem Script das Passwort auslesen kannst (oder andere Instanzen).
Holst Du nun das Objekt, fehlt das Passwort da drin. Dann speicherst Du das Objekt neu, ohne das Passwort = weg.
Nimm
startInstanceAsync('email.0');
bzw.stopInstanceAsync('email.0');
(ab Adapter v8.7.0)@haus-automatisierung
Macht zu 100% Sinn, wenn man das so liest.
Danke für die Erklärung .So macht ioBroker einfach Spaß
Gruß
Darth