ioBroker WLANThermoAdapter steuern

tritor

Member
Hi an die Programmierexperten,

ich würde gerne den WLANThermoAdapter im ioB automatisch starten und stoppen sobald ein Nano im Netz auftaucht.
Warum will ich das und lasse den WLANThermoAdapter nicht einfach laufen? Weil wenn der Adapter läuft aber kein Nano im LAN ist, dieser Zustand dann das Logfile mit HOST not found Einträgen auffüllt.

Mein Setup:

1. Den Nano habe ich mittels MAC Adresse eine IP über den Router (Asus RT-AC68U) zugewiesen.
2. Mittels adapter ASUSWRT kann ich den Nano Status erfassen, sobald der online ist. Das wäre dann auch mein Trigger um den WLANThermoAdapter zu starten
3. JS function adapterOnOff () habe ich im ioBroker Forum gefunden und diese funktioniert soweit.
Javascript:
function adapterOnOff(adapterInstancePath, flag, callback){
    const PATH = 'system.adapter.' + adapterInstancePath;
    let obj = getObject(PATH);
    obj.common['enabled'] = flag;  // Adapter einschalten/neu starten oder ausschalten
    setObject(PATH, obj, function(){
        if (typeof callback === 'function') { // execute if a function was provided to parameter callback
            return callback();
        }
    });
}

Leider sind meine JavaScript Programmierkenntnisse noch dürftig um das komplett in JS zu schreiben.
Also wollte ich das in Blockly realisieren.

Falls Nano.status = wahr, dann rufe Funktion AdapterOnOff() auf und starte die WLANThermo Instanz

Den Trigger bekomme ich ja hin, danach bei "wahr" müßte ich dann in Blockly die JavaScript Funktion ausführen oder aufrufen.
Bin mir nicht sicher ob dies überhaupt geht.

Vielleicht weiß ja wer Rat wie ich das am besten umsetze.

Grüße
 

s.ochs

BOFH
Teammitglied
Admin
Wenn ich mich nicht irre, dann hat @Dutchman bereits einen connect_state in der nächsten Version des Adapters eingebaut, ist nur noch nicht veröffentlich. Eventuell kann @Sven noch was dazu sagen. Dutchman ist zur Zeit leider sehr eingespannt, weshalb die nächste Version noch etwas Zeit braucht.
 

tritor

Member
den status über den Adapter AsusWrt zu erfassen ist kein Problem in Blockly.
Aber wie starte ich einen Adapter in Blockly oder wie rufe ich eine Javascript-Funktion (Adapteronoff ()) auf?
Das ist hier meine Challenge
 
Oben Unten