Seite 1 von 1

KNX Binding setup

Verfasst: 4. Aug 2020 22:55
von johnnyr
Hallo zusammen,

habe vor längerer Zeit openhab2 erfolgreich auf einem pi3 eingerichtet und die App betrieben.
Leider ist mir die SD-Karte abgeraucht und das Backup hatte ich immer auf die Lange Bank geschoben.
Daher muss ich neu starten und dabei mein Wissen mal wieder etwas auffrischen.

Habe die Installation mittels image "openhabian-pi-raspbian-201908050414-gitca0976f-crc6a66b5a1.img.xz" durchgeführt.
Danach über die openhab-config knxd installiert und über Paper-Ui das KNX Binding.

Mittels

Code: Alles auswählen

knxtool groupswrite ip:localhost 1/2/1 1
kann ich erfolgreich Licht an/ausschalten. Leider bekomme ich es aber über die App nicht mehr hin.
Ich hatte bislang die Config-Files knx.items , knx.sitemap und knx.things manuell ins openhab-conf Verzeichnis gepackt. Ist es besser z.b. das .things über die PaperUI zu machen ?
Wenn ich das tue wo wird das in der Paper-Ui angelegte File gespeichert, im openhab-conf Ordner sehe ich es nicht ?

Als Gateway habe ich einen Weinzierl Baos 777.

Für die Einrichtung bin ich der normalen Beschreibung gefolgt:
https://www.openhab.org/addons/bindings/knx/

knx.sitemap

Code: Alles auswählen

sitemap knx label="KNX Demo Sitemap" {
  Frame label="Demo Elements" {
    Switch item=demoSwitch
  }                
}
knx.items

Code: Alles auswählen

Switch        demoSwitch         "Light [%s]"               <light>          { channel="knx:device:bridge:generic:demoSwitch" }
knx.things

Code: Alles auswählen

//TUNNEL
Bridge knx:ip:bridge [  
    type="TUNNEL", 
    ipAddress="192.168.148.100", #### ip-Adresse des Baos
    portNumber=3671, 
    localIp="192.168.148.48", #### ip-Adresse des pi
    readingPause=50, 
    responseTimeout=10, 
    readRetriesLimit=3, 
    autoReconnectPeriod=60,
    localSourceAddr="15.15.25" #### "individual adress" des Baos
] {
    Thing device generic [
        address="1.2.3", #### auf was bezieht sich diese Adresse ? meine Linie in der ETS beginnt mit 1.1.
        fetch=true,
        pingInterval=300,
        readInterval=3600
    ] {
        Type switch        : demoSwitch        "Light"       [ ga="1/2/1+<7/1/5" ]
    }
}


openhab-cli showlogs:

Code: Alles auswählen

==> /var/log/openhab2/openhab.log <==
2020-08-04 21:37:41.896 [INFO ] [.dashboard.internal.DashboardService] - Stopped Dashboard
2020-08-04 22:39:58.757 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'knx.items'
2020-08-04 22:40:01.409 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'knx.sitemap'
2020-08-04 22:40:02.107 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'knx.things'
2020-08-04 22:40:21.363 [INFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2020-08-04 22:40:25.096 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at http://192.168.148.48:8080
2020-08-04 22:40:25.101 [INFO ] [.dashboard.internal.DashboardService] - Started Dashboard at https://192.168.148.48:8443
2020-08-04 22:40:26.949 [INFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
2020-08-04 22:40:27.241 [INFO ] [ebuilder.internal.HomeBuilderServlet] - Started Home Builder at /homebuilder
2020-08-04 22:40:27.687 [INFO ] [openhab.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui

==> /var/log/openhab2/events.log <==
2020-08-04 22:44:06.857 [ome.event.ItemCommandEvent] - Item 'demoSwitch' received command OFF
2020-08-04 22:44:06.876 [vent.ItemStateChangedEvent] - demoSwitch changed from ON to OFF
2020-08-04 22:44:08.344 [ome.event.ItemCommandEvent] - Item 'demoSwitch' received command ON
2020-08-04 22:44:08.358 [vent.ItemStateChangedEvent] - demoSwitch changed from OFF to ON
systemctl status openhab2.service

Code: Alles auswählen

● openhab2.service - openHAB2 instance, reachable at http://openhab:8080
   Loaded: loaded (/usr/lib/systemd/system/openhab2.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/openhab2.service.d
           └─override.conf
   Active: active (running) since Tue 2020-08-04 22:41:24 CEST; 10min ago
     Docs: https://www.openhab.org/docs/
           https://community.openhab.org
 Main PID: 594 (java)
    Tasks: 99 (limit: 2187)
   CGroup: /system.slice/openhab2.service
           └─594 /usr/bin/java -Dopenhab.home=/usr/share/openhab2 -Dopenhab.conf=/etc/openhab2 -Dopenhab.runtime=/usr/share/openhab2/runtime -Dopenhab.userdata=/var/lib/openhab2 -Dopenhab.logdir=/var/log/openhab2 -Dfelix.cm.dir=/var/lib/openhab

Aug 04 22:39:12 openhab systemd[1]: Starting openHAB2 instance, reachable at http://openhab:8080...
Aug 04 22:41:24 openhab systemd[1]: Started openHAB2 instance, reachable at http://openhab:8080.
Bin für jede Hilfe dankbar.

Re: KNX Binding setup

Verfasst: 4. Aug 2020 23:56
von udo1toni
Wenn mit knxd die Verbindung funktioniert, kannst Du (so Du knxd mit openHABian eingerichtet hast) den Router Modus benutzen und bitte weder eine Gateway-IP noch eine physikalische Adresse eintragen.
Also die Bridge am besten so:

Code: Alles auswählen

//TUNNEL
Bridge knx:ip:bridge "knxd"[
    type="ROUTER", 
    localIp="192.168.148.48"
] {
Du kannst wahlweise auch den Tunnel-Modus und die IP des BAOS eintragen, aber bitte setze nicht die loaclSourceAddr, das ist NICHT die physikalische Adresse des Gateways, und sie stammt auch nicht aus dem Pool der Adressen, die das Gateway nutzt.

Falls die SD-Karte noch lesbar ist, kannst Du versuchen, die wesentlichen Dinge zu retten. Dazu brauchst Du entweder einen SD-Kartenleser, den Du an den Pi anschließen kannst, oder Du setzt auf dem Windows PC eine VM auf (nicht mit Hyper-V, sondern mit VM-Ware Player oder virtualPC), dort kanst Du dann ein debian installieren (am besten ohne Desktop, der nutzt Dir bei der Rettung eh nichts), dann kann die VM den SD-Kartenleser des PC nutzen, um die Daten zu retten.

Re: KNX Binding setup

Verfasst: 31. Aug 2020 20:28
von johnnyr
Vielen Dank für die schnelle Rückmeldung und sorry für meine späte Antwort, aber ich komme nach Urlaub etc. erst jetzt dazu.
Mit folgender Config hat es Dank deiner Hilfe geklappt, manchmal ist weniger dann auch mehr ;)

Code: Alles auswählen

//TUNNEL
Bridge knx:ip:bridge [  
    type="TUNNEL", 
    ipAddress="192.168.188.100"
] {
Besten Dank nochmal, die nächste Frage kommt bestimmt bald :D !