HomeMatic und IOBroker – schnellere Kommunikation

HomeMatic und IOBroker – schnellere Kommunikation

Der IoBroker pollt regelmässig gegen den HomematicServer um neue Events mit zu bekommen.
Wenn man aber besonders kurzläufige Reaktionen erwartet, wird dies über diesen Weg eng.
Bei mir war es der Homematic-Lichtschalter, welcher über ioBroker einen Shelly und eine Ikea-Lampe aktivieren soll.
Die Verzögerung von 1-2 Sekunden nervte nicht nur meine Frau, sondern mich auch. Man drückt auf den Schalter, geht ins Bad und wundert sich – kein Licht an -Schlußfolgerung, man hat den Schalter nicht richtig gedrückt, will gerade zurück zum Schalter, da geht das Licht an.
Sicherlich, man kann sich an einiges gewöhnen, aber irgendwie ist das…. nicht das was man haben möchte.
Man möchte auf den Schalter drücken und das Licht muss umgehend angehen.

Schneller ist es daher, aktiv vom HomeMaticServer ein Event an den IOBroker zu werfen.
Diese geht relativ einfach, da man die Variablen des ioBrokers per JavaScript direkt über eine URL setzen kann.
Also eine entsprechende Variable im ioBroker anlegen und in Homematic z.B. das folgende Skript:

string lGetOut;
string lGetErr;
string lUrl=“http://IP_DES_IOBROKERS:8087/set/javascript.0.HomematicTransfer.VARIABLENNAME?value=true“;
system.Exec(„wget -q -O – “ # lUrl, &lGetOut, &lGetErr);

IP_DES_IOBROKERS und VARIABLENNAME müsst ihr natürlich entsprechend anpassen 🙂

2 Gedanken zu „HomeMatic und IOBroker – schnellere Kommunikation

  1. Hallo BlueB,

    ich suche genau nach dieser Lösung. Habe auf meinem IoBroker einen Variable erstellt „TEST_Anwesenheit_OG_BZ_Homematic“ und das Script auf der Homematic CCU entsprechend angepasst. Bekomme aber dennoch eine Fehlermeldung. IP-Adresse meines IoBrokers habe ich geändert.

    Error 1 at row 3 col 18 near ^://XX.XX.X.XX:8087/set/javascript.0.HomematicTransfer.TEST_Anwesenheit_OG_BZ_Ho
    Parse following code failed:
    string lGetOut;
    string lGetErr;
    string lUrl=http://XX.XX.XX.XX:8087/set/javascript.0.HomematicTransfer.TEST_Anwesenheit_OG_BZ_Homematic?value=true;
    system.Exec(wget -q -O # lUrl, &lGetOut, &lGetErr);

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert