KNX Ing. Budde Hörmann Garagentoröffner in Openhab einbinden

Allgemeine Fragen rund um die "Smart Home" Hardware/Komponenten

Moderatoren: seppy, udo1toni

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: KNX Ing. Budde Hörmann Garagentoröffner in Openhab einbinden

Beitrag von udo1toni »

Also, bis auf falsch und doppelt definierte GA? ;)

Das war mir oben leider durchgerutscht. Es ist extrem wichtig, GA nicht doppelt anzugeben, wenn es dafür keinen triftigen Grund gibt. Insbesondere gilt das für "ankommende" GA, da das knx Addon die Tabelle der Connections nur so lange durchläuft, bis es auf den ersten passenden Eintrag trifft.

Ich gehe davon aus, dass das Modul korrekt verbaut und konfiguriert ist, und dass es direkt am knx Bus problemlos funktioniert (also unabhängig von openHAB).
Dann sollte die funktionierende Konfiguration eher so aussehen:
Things:

Code: Alles auswählen

    Thing device Garagentor @ "KNX"[
        address="1.1.201",
        pingInterval=600
     ] {
        Type rollershutter : open_close            "Tor auf-zu"              [upDown="3/3/20",stopMove="3/3/21"]
        Type switch        : lueftung              "Tor Lüftung"             [ga="3/3/22+<3/3/28"]
        Type switch        : licht                 "Tor Licht"               [ga="3/3/23+<3/3/33"]
        Type contact       : status_offen          "Garagentor offen"        [ga="<3/3/24"]
        Type contact       : status_zu             "Garagentor zu"           [ga="<3/3/25"]
        Type contact       : status_bewegung       "Garagentor Bewegung"     [ga="<3/3/29"]
        Type contact       : status_bewegung_auf   "Garagentor Bewegung auf" [ga="<3/3/30"]
        Type contact       : status_bewegung_zu    "Garagentor Bewegung zu"  [ga="<3/3/31"]
    }
Die physikalische Addresse könnte (genau wie pingInterval) auch zunächst auskommentiert werden.

Für den rollershutter Channel gibt es keine gültige position als GA!
Für die Lüftungsstellung und das Licht gilt aber, dass die Rückmeldung wunderbar in den passenden Channel integriert werden kann. Die weiteren Status sind alle 1Bit-KO, man könnte hier auch switch Channel verwenden. Falls die GA nicht lesbar sind, müsste natürlich das < jeweils entfernt werden.
Der Status Error sollte laut Handbuch nicht mit einer GA verbunden werden.

Dazu passend die Items:

Code: Alles auswählen

Rollershutter Garagentor                     "Garagentor [%d %%]" <garagedoor> (gGA, gRO, gGaragentor) {channel="knx:device:bridge:Garagentor:open_close", autoupdate="false"}
Switch        Garagentor_lueftung            "Tor Lüftung [%s]"                (gGaragentor)           {channel="knx:device:bridge:Garagentor:lueftung", autoupdate="false"}
Switch        Garagentor_licht               "Tor Licht [%s]"                  (gGaragentor)           {channel="knx:device:bridge:Garagentor:licht", autoupdate="false"}

Contact       Garagentor_status_offen        "Garagentor offen [%s]"           (gGaragentor)           {channel="knx:device:bridge:Garagentor:status_offen"}
Contact       Garagentor_status_zu           "Garagentor zu [%s]"              (gGaragentor)           {channel="knx:device:bridge:Garagentor:status_zu"}
Contact       Garagentor_status_bewegung     "Garagentor Bewegung [%s]"        (gGaragentor)           {channel="knx:device:bridge:Garagentor:status_bewegung"}
Contact       Garagentor_status_bewegung_auf "Garagentor Bewegung auf [%s]"    (gGaragentor)           {channel="knx:device:bridge:Garagentor:status_bewegung_auf"}
Contact       Garagentor_status_bewegung_zu  "Garagentor Bewegung zu [%s]"     (gGaragentor)           {channel="knx:device:bridge:Garagentor:status_bewegung_zu"}

String        Garagentor_status              "Garagentor [%s]"
autoupdate="false" ist nur bei bidirektionalen Items sinnvoll, nicht aber bei Contact Items, da diese ja niemals ein Command ausführen müssen.
Ich habe hier ein virtuelles Item Garagentor_status für die Anzeige der Status vorgesehen. Dazu braucht es dann noch eine Rule, die sich auch gleich um den Status des Rollershutter Items kümmern kann:

Code: Alles auswählen

rule "Update Garage Status"
when
    Item Garagentor_status_offen changed or
    Item Garagentor_status_zu changed or
    Item Garagentor_lueftung changed or
    Item Garagentor_status_bewegung changed or
    Item Garagentor_status_bewegung_auf changed or
    Item Garagentor_status_bewegung_zu changed
then
    var Integer nPos = null
    var String strStat = "zwischendrin"
    if(Garagentor_status_offen.state == CLOSED) {
        nPos = 0
        strStat = "offen"
    }
    if(Garagentor_status_zu.state == CLOSED) {
        nPos = 100
        strStat = "geschlossen"
    }
    if(Garagentor_status_lueftung.state == CLOSED) {
        nPos = 80
        strStat = "lüftet"
    }
    if(Garagentor_status_bewegung_auf.state == CLOSED) {
        strStat = "öffnet"
    }
    if(Garagentor_status_bewegung_zu.state == CLOSED) {
        strStat = "schließt"
    }
    Garagentor.postUpdate(if(nPos instanceof Number) nPos else NULL)
    Garagentor_status.postUpdate(strStat)
end
Eventuell irre ich mich mit der Logik des Contact Items, falls die Anzeige also nicht stimmt, müsste überall statt des CLOSED ein OPEN eingetragen werden.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

HansDampf
Beiträge: 34
Registriert: 23. Jul 2020 15:01
Answers: 1

Re: KNX Ing. Budde Hörmann Garagentoröffner in Openhab einbinden

Beitrag von HansDampf »

udo1toni hat geschrieben: 24. Nov 2020 05:40 Also, bis auf falsch und doppelt definierte GA? ;)

Das war mir oben leider durchgerutscht. Es ist extrem wichtig, GA nicht doppelt anzugeben, wenn es dafür keinen triftigen Grund gibt. Insbesondere gilt das für "ankommende" GA, da das knx Addon die Tabelle der Connections nur so lange durchläuft, bis es auf den ersten passenden Eintrag trifft.

Ich gehe davon aus, dass das Modul korrekt verbaut und konfiguriert ist, und dass es direkt am knx Bus problemlos funktioniert (also unabhängig von openHAB).
Dann sollte die funktionierende Konfiguration eher so aussehen:
Things:

Code: Alles auswählen

    Thing device Garagentor @ "KNX"[
        address="1.1.201",
        pingInterval=600
     ] {
        Type rollershutter : open_close            "Tor auf-zu"              [upDown="3/3/20",stopMove="3/3/21"]
        Type switch        : lueftung              "Tor Lüftung"             [ga="3/3/22+<3/3/28"]
        Type switch        : licht                 "Tor Licht"               [ga="3/3/23+<3/3/33"]
        Type contact       : status_offen          "Garagentor offen"        [ga="<3/3/24"]
        Type contact       : status_zu             "Garagentor zu"           [ga="<3/3/25"]
        Type contact       : status_bewegung       "Garagentor Bewegung"     [ga="<3/3/29"]
        Type contact       : status_bewegung_auf   "Garagentor Bewegung auf" [ga="<3/3/30"]
        Type contact       : status_bewegung_zu    "Garagentor Bewegung zu"  [ga="<3/3/31"]
    }
Die physikalische Addresse könnte (genau wie pingInterval) auch zunächst auskommentiert werden.

Für den rollershutter Channel gibt es keine gültige position als GA!
Für die Lüftungsstellung und das Licht gilt aber, dass die Rückmeldung wunderbar in den passenden Channel integriert werden kann. Die weiteren Status sind alle 1Bit-KO, man könnte hier auch switch Channel verwenden. Falls die GA nicht lesbar sind, müsste natürlich das < jeweils entfernt werden.
Der Status Error sollte laut Handbuch nicht mit einer GA verbunden werden.

Dazu passend die Items:

Code: Alles auswählen

Rollershutter Garagentor                     "Garagentor [%d %%]" <garagedoor> (gGA, gRO, gGaragentor) {channel="knx:device:bridge:Garagentor:open_close", autoupdate="false"}
Switch        Garagentor_lueftung            "Tor Lüftung [%s]"                (gGaragentor)           {channel="knx:device:bridge:Garagentor:lueftung", autoupdate="false"}
Switch        Garagentor_licht               "Tor Licht [%s]"                  (gGaragentor)           {channel="knx:device:bridge:Garagentor:licht", autoupdate="false"}

Contact       Garagentor_status_offen        "Garagentor offen [%s]"           (gGaragentor)           {channel="knx:device:bridge:Garagentor:status_offen"}
Contact       Garagentor_status_zu           "Garagentor zu [%s]"              (gGaragentor)           {channel="knx:device:bridge:Garagentor:status_zu"}
Contact       Garagentor_status_bewegung     "Garagentor Bewegung [%s]"        (gGaragentor)           {channel="knx:device:bridge:Garagentor:status_bewegung"}
Contact       Garagentor_status_bewegung_auf "Garagentor Bewegung auf [%s]"    (gGaragentor)           {channel="knx:device:bridge:Garagentor:status_bewegung_auf"}
Contact       Garagentor_status_bewegung_zu  "Garagentor Bewegung zu [%s]"     (gGaragentor)           {channel="knx:device:bridge:Garagentor:status_bewegung_zu"}

String        Garagentor_status              "Garagentor [%s]"
autoupdate="false" ist nur bei bidirektionalen Items sinnvoll, nicht aber bei Contact Items, da diese ja niemals ein Command ausführen müssen.
Ich habe hier ein virtuelles Item Garagentor_status für die Anzeige der Status vorgesehen. Dazu braucht es dann noch eine Rule, die sich auch gleich um den Status des Rollershutter Items kümmern kann:

Code: Alles auswählen

rule "Update Garage Status"
when
    Item Garagentor_status_offen changed or
    Item Garagentor_status_zu changed or
    Item Garagentor_lueftung changed or
    Item Garagentor_status_bewegung changed or
    Item Garagentor_status_bewegung_auf changed or
    Item Garagentor_status_bewegung_zu changed
then
    var Integer nPos = null
    var String strStat = "zwischendrin"
    if(Garagentor_status_offen.state == CLOSED) {
        nPos = 0
        strStat = "offen"
    }
    if(Garagentor_status_zu.state == CLOSED) {
        nPos = 100
        strStat = "geschlossen"
    }
    if(Garagentor_status_lueftung.state == CLOSED) {
        nPos = 80
        strStat = "lüftet"
    }
    if(Garagentor_status_bewegung_auf.state == CLOSED) {
        strStat = "öffnet"
    }
    if(Garagentor_status_bewegung_zu.state == CLOSED) {
        strStat = "schließt"
    }
    Garagentor.postUpdate(if(nPos instanceof Number) nPos else NULL)
    Garagentor_status.postUpdate(strStat)
end
Eventuell irre ich mich mit der Logik des Contact Items, falls die Anzeige also nicht stimmt, müsste überall statt des CLOSED ein OPEN eingetragen werden.
Mega von Dir! Vielen Dank.
Habe oben in der Rule Garagentor_lueftung angepasst. Leider bekomme ich noch die Exception:

Code: Alles auswählen

Rule 'Update Garage Status': An error occurred during the script execution: Could not invoke method: org.eclipse.smarthome.model.script.actions.BusEvent.postUpdate(org.eclipse.smarthome.core.items.Item,org.eclipse.smarthome.core.types.State) on instance: null
Bild_2020-11-25_152208.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: KNX Ing. Budde Hörmann Garagentoröffner in Openhab einbinden

Beitrag von udo1toni »

Warum postest Du ein Bild? Bitte füge Code als Text ein (Text markieren, in Zwischenablage kopieren, ins Forum wechseln, Coed-Tags einfügen, Zwischenablage einfügen... das geht schneller, als ein Bild hoch laden)

Die angezeigte "Fehlermeldung" ist nur eine Warnung. Ich bin mir relativ sicher, dass der Code so korrekt ist...
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

HansDampf
Beiträge: 34
Registriert: 23. Jul 2020 15:01
Answers: 1

Re: KNX Ing. Budde Hörmann Garagentoröffner in Openhab einbinden

Beitrag von HansDampf »

udo1toni hat geschrieben: 25. Nov 2020 18:55 Warum postest Du ein Bild? Bitte füge Code als Text ein (Text markieren, in Zwischenablage kopieren, ins Forum wechseln, Coed-Tags einfügen, Zwischenablage einfügen... das geht schneller, als ein Bild hoch laden)

Die angezeigte "Fehlermeldung" ist nur eine Warnung. Ich bin mir relativ sicher, dass der Code so korrekt ist...
Der Fehler ist über dem Bild als Code eingefügt :)

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: KNX Ing. Budde Hörmann Garagentoröffner in Openhab einbinden

Beitrag von udo1toni »

Ändere mal diese Zeile:

Code: Alles auswählen

Garagentor.postUpdate(if(nPos instanceof Number) nPos else NULL)
gegen diese hier:

Code: Alles auswählen

Garagentor.postUpdate(if(nPos !== null) nPos else NULL)
das !== ist korrekt so.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

HansDampf
Beiträge: 34
Registriert: 23. Jul 2020 15:01
Answers: 1

Re: KNX Ing. Budde Hörmann Garagentoröffner in Openhab einbinden

Beitrag von HansDampf »

udo1toni hat geschrieben: 25. Nov 2020 22:32 Ändere mal diese Zeile:

Code: Alles auswählen

Garagentor.postUpdate(if(nPos instanceof Number) nPos else NULL)
gegen diese hier:

Code: Alles auswählen

Garagentor.postUpdate(if(nPos !== null) nPos else NULL)
das !== ist korrekt so.
Das ist die Fehlermeldung zu:

2020-11-25 22:57:56.493 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Update Garage Status': An error occurred during the script execution: Could not invoke method: org.eclipse.smarthome.model.script.actions.BusEvent.postUpdate(org.eclipse.smarthome.core.items.Item,org.eclipse.smarthome.core.types.State) on instance: null

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: KNX Ing. Budde Hörmann Garagentoröffner in Openhab einbinden

Beitrag von udo1toni »

Ok, dann mit Logging:

Code: Alles auswählen

rule "Update Garage Status"
when
    Item Garagentor_status_offen changed or
    Item Garagentor_status_zu changed or
    Item Garagentor_lueftung changed or
    Item Garagentor_status_bewegung changed or
    Item Garagentor_status_bewegung_auf changed or
    Item Garagentor_status_bewegung_zu changed
then
    var Integer nPos = null
    var String strStat = "zwischendrin"
    if(Garagentor_status_offen.state == CLOSED) {
        nPos = 0
        strStat = "offen"
    }
    if(Garagentor_status_zu.state == CLOSED) {
        nPos = 100
        strStat = "geschlossen"
    }
    if(Garagentor_status_lueftung.state == CLOSED) {
        nPos = 80
        strStat = "lüftet"
    }
    if(Garagentor_status_bewegung_auf.state == CLOSED) {
        strStat = "öffnet"
    }
    if(Garagentor_status_bewegung_zu.state == CLOSED) {
        strStat = "schließt"
    }
    logInfo("garage","nPos = {}",nPos)
    Garagentor.postUpdate(if(nPos !== null) nPos else NULL)
    Garagentor_status.postUpdate(strStat)
end
Nun sollte es zwar immer noch eine Fehlermeldung geben, aber davor noch die Information, was nun tatsächlich in nPos steht.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

HansDampf
Beiträge: 34
Registriert: 23. Jul 2020 15:01
Answers: 1

Re: KNX Ing. Budde Hörmann Garagentoröffner in Openhab einbinden

Beitrag von HansDampf »

udo1toni hat geschrieben: 26. Nov 2020 15:27 Ok, dann mit Logging:

Code: Alles auswählen

rule "Update Garage Status"
when
    Item Garagentor_status_offen changed or
    Item Garagentor_status_zu changed or
    Item Garagentor_lueftung changed or
    Item Garagentor_status_bewegung changed or
    Item Garagentor_status_bewegung_auf changed or
    Item Garagentor_status_bewegung_zu changed
then
    var Integer nPos = null
    var String strStat = "zwischendrin"
    if(Garagentor_status_offen.state == CLOSED) {
        nPos = 0
        strStat = "offen"
    }
    if(Garagentor_status_zu.state == CLOSED) {
        nPos = 100
        strStat = "geschlossen"
    }
    if(Garagentor_status_lueftung.state == CLOSED) {
        nPos = 80
        strStat = "lüftet"
    }
    if(Garagentor_status_bewegung_auf.state == CLOSED) {
        strStat = "öffnet"
    }
    if(Garagentor_status_bewegung_zu.state == CLOSED) {
        strStat = "schließt"
    }
    logInfo("garage","nPos = {}",nPos)
    Garagentor.postUpdate(if(nPos !== null) nPos else NULL)
    Garagentor_status.postUpdate(strStat)
end
Nun sollte es zwar immer noch eine Fehlermeldung geben, aber davor noch die Information, was nun tatsächlich in nPos steht.
Danke für die Ergänzung. Mit dem Log habe ich bemerkt das die states auf "open" sein müssen.

Das ist der aktuelle Code:

Code: Alles auswählen

rule "Update Garage Status"
when
    Item Garagentor_status_offen changed or
    Item Garagentor_status_zu changed or
    Item Garagentor_lueftung changed or
    Item Garagentor_status_bewegung changed or
    Item Garagentor_status_bewegung_auf changed or
    Item Garagentor_status_bewegung_zu changed
then
    var Integer nPos = null
    var String strStat = "zwischendrin"
    if(Garagentor_status_offen.state == OPEN) {
        nPos = 0
        strStat = "offen"
    }
    if(Garagentor_status_zu.state == OPEN) {
        nPos = 100
        strStat = "geschlossen"
    }
    if(Garagentor_lueftung.state == ON) {
        nPos = 80
        strStat = "lüftet"
    }
    if(Garagentor_status_bewegung_auf.state == OPEN) {
        strStat = "öffnet"
    }
    if(Garagentor_status_bewegung_zu.state == OPEN) {
        strStat = "schließt"
    }
    logInfo("garage","nPos = {}",nPos)
    Garagentor.postUpdate(if(nPos !== null) nPos else NULL)
    Garagentor_status.postUpdate(strStat)
end
Allerdings komme ich nicht drauf warum z.b. beim hochfahren der Error auftaucht.

Code: Alles auswählen

2020-11-27 08:42:39.061 [ome.event.ItemCommandEvent] - Item 'Garagentor' received command UP

2020-11-27 08:42:39.088 [ome.event.ItemCommandEvent] - Item 'Garagentor_status' received command 0

2020-11-27 08:42:39.106 [vent.ItemStateChangedEvent] - Garagentor_status changed from 100 to 0

2020-11-27 08:42:39.543 [vent.ItemStateChangedEvent] - Garagentor_status_zu changed from OPEN to CLOSED

==> /var/log/openhab2/openhab.log <==

2020-11-27 08:42:39.565 [INFO ] [clipse.smarthome.model.script.garage] - nPos = {}

==> /var/log/openhab2/events.log <==

2020-11-27 08:42:39.572 [vent.ItemStateChangedEvent] - Garagentor_status_bewegung changed from CLOSED to OPEN

2020-11-27 08:42:39.585 [vent.ItemStateChangedEvent] - Garagentor_status changed from 0 to zwischendrin

2020-11-27 08:42:39.608 [vent.ItemStateChangedEvent] - Garagentor_status_bewegung_auf changed from CLOSED to OPEN

==> /var/log/openhab2/openhab.log <==

2020-11-27 08:42:39.611 [INFO ] [clipse.smarthome.model.script.garage] - nPos = {}

==> /var/log/openhab2/events.log <==

2020-11-27 08:42:39.623 [vent.ItemStateChangedEvent] - Garagentor_licht changed from OFF to ON

2020-11-27 08:42:39.628 [vent.ItemStateChangedEvent] - Garagentor_status changed from zwischendrin to öffnet

==> /var/log/openhab2/openhab.log <==

2020-11-27 08:42:39.634 [INFO ] [clipse.smarthome.model.script.garage] - nPos = {}

==> /var/log/openhab2/events.log <==

2020-11-27 08:42:53.890 [vent.ItemStateChangedEvent] - Garagentor_status_offen changed from CLOSED to OPEN

2020-11-27 08:42:53.939 [vent.ItemStateChangedEvent] - Garagentor_status_bewegung changed from OPEN to CLOSED

==> /var/log/openhab2/openhab.log <==

2020-11-27 08:42:53.980 [INFO ] [clipse.smarthome.model.script.garage] - nPos = 0

==> /var/log/openhab2/events.log <==

2020-11-27 08:42:53.986 [vent.ItemStateChangedEvent] - Garagentor_status_bewegung_auf changed from OPEN to CLOSED

==> /var/log/openhab2/openhab.log <==

2020-11-27 08:42:53.992 [INFO ] [clipse.smarthome.model.script.garage] - nPos = 0

2020-11-27 08:42:54.003 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Update Garage Status': An error occurred during the script execution: Could not invoke method: org.eclipse.smarthome.model.script.actions.BusEvent.postUpdate(org.eclipse.smarthome.core.items.Item,org.eclipse.smarthome.core.types.State) on instance: null

2020-11-27 08:42:54.016 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Update Garage Status': An error occurred during the script execution: Could not invoke method: org.eclipse.smarthome.model.script.actions.BusEvent.postUpdate(org.eclipse.smarthome.core.items.Item,org.eclipse.smarthome.core.types.State) on instance: null

==> /var/log/openhab2/events.log <==

2020-11-27 08:42:54.035 [INFO ] [clipse.smarthome.model.script.garage] - nPos = 0

==> /var/log/openhab2/events.log <==

2020-11-27 08:42:54.047 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'Update Garage Status': An error occurred during the script execution: Could not invoke method: org.eclipse.smarthome.model.script.actions.BusEvent.postUpdate(org.eclipse.smarthome.core.items.Item,org.eclipse.smarthome.core.types.State) on instance: null


Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: KNX Ing. Budde Hörmann Garagentoröffner in Openhab einbinden

Beitrag von udo1toni »

Gut, versuchen wir noch was anderes:

Code: Alles auswählen

rule "Update Garage Status"
when
    Item Garagentor_status_offen changed or
    Item Garagentor_status_zu changed or
    Item Garagentor_lueftung changed or
    Item Garagentor_status_bewegung changed or
    Item Garagentor_status_bewegung_auf changed or
    Item Garagentor_status_bewegung_zu changed
then
    var Integer nPos = -1                                              // ÄNDERUNG!
    var String strStat = "zwischendrin"
    if(Garagentor_status_offen.state == CLOSED) {
        nPos = 0
        strStat = "offen"
    }
    if(Garagentor_status_zu.state == CLOSED) {
        nPos = 100
        strStat = "geschlossen"
    }
    if(Garagentor_status_lueftung.state == CLOSED) {
        nPos = 80
        strStat = "lüftet"
    }
    if(Garagentor_status_bewegung_auf.state == CLOSED) {
        strStat = "öffnet"
    }
    if(Garagentor_status_bewegung_zu.state == CLOSED) {
        strStat = "schließt"
    }
    logInfo("garage","nPos = {}",nPos)
    if(nPos < 0)                                                       // ÄNDERUNG!
        Garagentor.postUpdate(NULL)                                    // ÄNDERUNG!
    else                                                               // ÄNDERUNG!
        Garagentor.postUpdate(nPos)                                    // ÄNDERUNG!
    Garagentor_status.postUpdate(strStat)
end
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

HansDampf
Beiträge: 34
Registriert: 23. Jul 2020 15:01
Answers: 1

Re: KNX Ing. Budde Hörmann Garagentoröffner in Openhab einbinden

Beitrag von HansDampf »

udo1toni hat geschrieben: 27. Nov 2020 11:56 Gut, versuchen wir noch was anderes:

Code: Alles auswählen

rule "Update Garage Status"
when
    Item Garagentor_status_offen changed or
    Item Garagentor_status_zu changed or
    Item Garagentor_lueftung changed or
    Item Garagentor_status_bewegung changed or
    Item Garagentor_status_bewegung_auf changed or
    Item Garagentor_status_bewegung_zu changed
then
    var Integer nPos = -1                                              // ÄNDERUNG!
    var String strStat = "zwischendrin"
    if(Garagentor_status_offen.state == CLOSED) {
        nPos = 0
        strStat = "offen"
    }
    if(Garagentor_status_zu.state == CLOSED) {
        nPos = 100
        strStat = "geschlossen"
    }
    if(Garagentor_status_lueftung.state == CLOSED) {
        nPos = 80
        strStat = "lüftet"
    }
    if(Garagentor_status_bewegung_auf.state == CLOSED) {
        strStat = "öffnet"
    }
    if(Garagentor_status_bewegung_zu.state == CLOSED) {
        strStat = "schließt"
    }
    logInfo("garage","nPos = {}",nPos)
    if(nPos < 0)                                                       // ÄNDERUNG!
        Garagentor.postUpdate(NULL)                                    // ÄNDERUNG!
    else                                                               // ÄNDERUNG!
        Garagentor.postUpdate(nPos)                                    // ÄNDERUNG!
    Garagentor_status.postUpdate(strStat)
end
So gehts jetzt!

Antworten