brutella / hkknx-public

hkknx is a HomeKit KNX bridge for KNX.
https://hochgatterer.me/hkknx
97 stars 6 forks source link

Tag/Nacht Objekt #102

Closed DomiCreation closed 3 years ago

DomiCreation commented 3 years ago

Hallo, ich bin grade am Testen da ich von iobroker weg möchte. Die Funktion mit der Uhrzeit/Datum als Gruppenadresse finde ich schon super.

Ich würde mir so eine Funktion als Tag/Nacht Objekt wünschen. Meine MDT Glastaster benötigen diese um das Display zu dimmen bzw. um abzuschalten.

Im iobroker lasse ich einfach einen Script laufen der mir 1 bzw. 0 auf eine Gruppenadresse schreibt. Anfangs noch per Uhrzeit dann aber einfach sobald der Schlafzimmer Rollo auf 100% steht soll der Nachmodus angeschaltet werden.

Gruß Dominic

brutella commented 3 years ago

Das sollte sich in einem Skript ganz einfach umsetzen lassen. Skripte sind zurzeit nur in der Beta Version 2.0 verfügbar.https://github.com/brutella/hkknx-public/issues/88#issuecomment-823517896

Das Skript könnte wie folgt aussehen.

// Dieses Skript überwacht die Schlafzimmer Rollo Position über die Status-GA "0/0/0" und sendet eine
// - 1 an die GA "0/0/1", wenn die Position 100% ist
// - 0 an die GA "0/0/1", wenn die Position kleiner als 100% ist. 
var hkknx = import("hkknx")

var ch = hkknx.GroupWriteNotify("0/0/0")

for {
    var buf = <- ch
    var val = hkknx.ParseDPT5001(buf)
    if val == 100 {
        hkknx.GroupWrite(true, "0/0/1")
    } else {
        hkknx.GroupWrite(false, "0/0/1")
    }
}

Für deinen Anwendungsfall musst du die Gruppenadressen 0/0/0 und 0/0/1 noch anpassen. Ausserdem könnte es sein, dass die Position deiner Rollos nicht als DPT 5.001 gesendet werden. Dann müsstest du statt ParseDPT5001() eine andere Funktion verwenden.

brutella commented 3 years ago

Konnte das Problem damit gelöst werden?

DomiCreation commented 3 years ago

Ja super! Vielen Dank, ich wusste nicht, dass es eine Beta 2.0 gibt. Mit dieser klappt es.