Jump to content

IO16 Port PortDirection per openHAB Binding v1 setzen


BusinessTux

Recommended Posts

Hallo zusammen,

 

ich habe bei mir einen Brick

preview

mit einem IO16 laufen, um meinen Paketkasten zu steuern (LEDs, Türöffner, Türkontakte). Diese habe ich per openHAB-Binding v1 in meine openHAB-Installation (2.4.0) eingebunden.

 

Ich hatte vorletzte Nacht einen Stromausfall, der länger war, als die USV überbrücken konnte (der Brick wird über PoE versorgt). Nachdem der Strom wieder da war, wurden die B-Ports aber nicht auf Out gesetzt, so dass die angeschlossenen LEDs (RGB) nicht korrekt leuchteten (B0 - B2 = LED1 R-G-B, B3 - B5 = LED2 R-G-B).

 

Wenn ich das mit 1er-Binding noch hinbekäme, wäre das auch super. Das Tinkerforge v2-Binding funktioniert erst mit openHAB 2.5, was noch nicht released und damit nicht als Debian-Paket verfügbar ist.

 

 

Meine tinkerforge.cfg sieht wie folgt aus:

# IP addresses / Hostnames  of the hosts running the brickd (optional port 
# separated by a colon, defaults to 4223) 
# hosts=
hosts=paketkasten.han.edvnet-uk.com::XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

paketkasten_tempe.uid=zbX
paketkasten_tempe.type=bricklet_temperature
paketkasten_tempe.slowI2C=False

paketkasten_relay_1.uid=EcL
paketkasten_relay_1.subid=relay1
paketkasten_relay_1.type=dual_relay
paketkasten_relay_2.uid=EcL
paketkasten_relay_2.subid=relay2
paketkasten_relay_2.type=dual_relay

paketkasten_io16.uid=CDP
paketkasten_io16.type=bricklet_io16
paketkasten_io16.debouncePeriod=100

paketkasten_io16_a0.uid=CDP
paketkasten_io16_a0.subid=ina0
paketkasten_io16_a0.type=iosensor
paketkasten_io16_a0.pullUpResistorEnabled=true
paketkasten_io16_a1.uid=CDP
paketkasten_io16_a1.subid=ina1
paketkasten_io16_a1.type=iosensor
paketkasten_io16_a1.pullUpResistorEnabled=true
paketkasten_io16_a2.uid=CDP
paketkasten_io16_a2.subid=ina2
paketkasten_io16_a2.type=iosensor
paketkasten_io16_a2.pullUpResistorEnabled=true
paketkasten_io16_a3.uid=CDP
paketkasten_io16_a3.subid=ina3
paketkasten_io16_a3.type=iosensor
paketkasten_io16_a3.pullUpResistorEnabled=true


paketkasten_io16_b0.uid=CDP
paketkasten_io16_b0.subid=outb0
paketkasten_io16_b0.type=io_actuator
paketkasten_io16_b1.uid=CDP
paketkasten_io16_b1.subid=outb1
paketkasten_io16_b1.type=io_actuator
paketkasten_io16_b2.uid=CDP
paketkasten_io16_b2.subid=outb2
paketkasten_io16_b2.type=io_actuator
paketkasten_io16_b3.uid=CDP
paketkasten_io16_b3.subid=outb3
paketkasten_io16_b3.type=io_actuator
paketkasten_io16_b4.uid=CDP
paketkasten_io16_b4.subid=outb4
paketkasten_io16_b4.type=io_actuator
paketkasten_io16_b5.uid=CDP
paketkasten_io16_b5.subid=outb5
paketkasten_io16_b5.type=io_actuator

 

Es geht um die B-Kanäle, die als Ausgang definiert sein sollen.

 

Wenn die Ports einmal korrekt konfiguriert sind, funktioniert auch die openHAB-Regeln zum Schalten der LED-Farben.

 

Sollte das Tinkerforge-Binding die Ports auch bei der Initialisierung korrekt setzen?

 

Danke

Ulf

TinkerforgeBrick.png.e2296624364830d642baae55f64ab3a0.png

Link zu diesem Kommentar
Share on other sites

Hallo Ulf,

 

die Ports sollten beim Initialisieren des Bindings konfiguriert werden. Deine Konfiguration sieht ok aus. Schau doch mal ins openhab-Log ob du zum fraglichen Zeitpunkt Meldungen des TF-Bindings siehst.

 

Wenn ich das mit 1er-Binding noch hinbekäme, wäre das auch super. Das Tinkerforge v2-Binding funktioniert erst mit openHAB 2.5, was noch nicht released und damit nicht als Debian-Paket verfügbar ist.

openHAB 2.5 kannst du auch als Debian-Paket installieren indem du in der apt Konfiguration das testing repo einträgst. Siehe hier: https://www.openhab.org/docs/installation/linux.html#apt-based-systems bei "Testing Release".

Ganz frisch gibt es hier den Milestone 3 (https://community.openhab.org/t/openhab-milestone-builds/50359/387)

 

Gruß,

Theo

 

Link zu diesem Kommentar
Share on other sites

Hallo Theo,

 

danke für den Hinweis mit dem Testing-Zweig. Den habe ich noch nicht entdeckt gehabt. Ich habe gerade erst angefangen.

 

Ich habe die Situation jetzt mal nachgestellt. openHAB angehalten, den TF-Stack stromlos gemacht und wieder angeschlossen, openHAB gestartet. Danach sind die B-Ports standardmäßig wieder als Input konfiguriert:

preview

 

Hier die Logs nach dem Start.

openhab.log:

2019-09-20 13:05:46.302 [iNFO ] [egram.internal.TelegramActionService] - Bot ukopenhabbot loaded from config file
2019-09-20 13:05:46.339 [iNFO ] [egram.internal.TelegramActionService] - Bot ukopenhabdebugbot loaded from config file
2019-09-20 13:05:47.376 [WARN ] [.jetty.internal.ServerControllerImpl] - SSL password and SSL keystore password must be set in order to enable SSL.
2019-09-20 13:05:47.380 [WARN ] [.jetty.internal.ServerControllerImpl] - SSL connector will not be started
2019-09-20 13:05:48.223 [iNFO ] [.core.internal.i18n.I18nProviderImpl] - Time zone set to 'Europe/Berlin'.
2019-09-20 13:05:48.235 [iNFO ] [.core.internal.i18n.I18nProviderImpl] - Location set to 'XX.XXXXXXX,X.XXXXXXX'.
2019-09-20 13:05:48.237 [iNFO ] [.core.internal.i18n.I18nProviderImpl] - Locale set to 'de_DE'.
2019-09-20 13:05:48.309 [iNFO ] [ebuilder.internal.HomeBuilderServlet] - Started Home Builder at /homebuilder
2019-09-20 13:05:48.520 [iNFO ] [panel.internal.HABPanelDashboardTile] - Started HABPanel at /habpanel
2019-09-20 13:05:52.075 [iNFO ] [io.openhabcloud.internal.CloudClient] - Connected to the openHAB Cloud service (UUID = XXXXXXXX-c53d-4943-93c6-XXXXXXXXXXX, base URL = http://localhost:8080)
2019-09-20 13:05:56.153 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Gaestezimmer.items'
2019-09-20 13:05:56.293 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'GaesteWC.items'
2019-09-20 13:05:56.367 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Haus.items'
2019-09-20 13:05:56.467 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Paketkasten.items'
2019-09-20 13:05:56.563 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'sonos.items'
2019-09-20 13:05:56.635 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Dreambox.items'
2019-09-20 13:05:56.666 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Wohnzimmer.items'
2019-09-20 13:05:56.732 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Keller.items'
2019-09-20 13:05:56.795 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Astro.items'
2019-09-20 13:05:56.818 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Kueche.items'
2019-09-20 13:05:56.836 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Schlafzimmer.items'
2019-09-20 13:05:56.883 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Arbeitszimmer.items'
2019-09-20 13:05:56.935 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Wetter.items'
2019-09-20 13:05:57.520 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'mapdb.persist'
2019-09-20 13:06:02.159 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Astro.rules'
2019-09-20 13:06:03.732 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Paketkasten.rules'
2019-09-20 13:06:07.817 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Rolllaeden.rules'
2019-09-20 13:06:07.896 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Waschkueche.rules'
2019-09-20 13:06:07.985 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Dreambox.rules'
2019-09-20 13:06:08.120 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'Waschkueche.rules' is either empty or cannot be parsed correctly!
2019-09-20 13:06:08.285 [iNFO ] [thome.model.lsp.internal.ModelServer] - Started Language Server Protocol (LSP) service on port 5007
2019-09-20 13:06:08.737 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Administration.sitemap'
2019-09-20 13:06:08.821 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Haussteuerung.sitemap'
2019-09-20 13:06:09.101 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'mqtt.things'
2019-09-20 13:06:09.372 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'sonos.things'
2019-09-20 13:06:09.717 [iNFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'astro:sun:local' to inbox.
2019-09-20 13:06:09.738 [iNFO ] [g.discovery.internal.PersistentInbox] - Added new thing 'astro:moon:local' to inbox.
2019-09-20 13:06:10.096 [iNFO ] [thome.binding.astro.internal.job.Job] - Scheduled Astro event-jobs for thing astro:moon:local
2019-09-20 13:06:10.423 [iNFO ] [thome.binding.astro.internal.job.Job] - Scheduled Astro event-jobs for thing astro:sun:local
2019-09-20 13:06:10.444 [iNFO ] [ding.astro.handler.AstroThingHandler] - Scheduled Positional job astro:sun:local every 300 seconds
2019-09-20 13:06:10.606 [iNFO ] [thome.binding.astro.internal.job.Job] - Scheduled Astro event-jobs for thing astro:sun:local
2019-09-20 13:06:10.681 [iNFO ] [ding.astro.handler.AstroThingHandler] - Scheduled Positional job astro:sun:local every 300 seconds
2019-09-20 13:06:11.130 [iNFO ] [.dashboard.internal.DashboardService] - Started Dashboard at http://192.168.1.10:8080
2019-09-20 13:06:11.132 [iNFO ] [.dashboard.internal.DashboardService] - Started Dashboard at https://192.168.1.10:8443
2019-09-20 13:06:11.389 [iNFO ] [arthome.ui.paper.internal.PaperUIApp] - Started Paper UI at /paperui
2019-09-20 13:06:11.891 [iNFO ] [.transport.mqtt.MqttBrokerConnection] - Starting MQTT broker connection to '10.0.7.80' with clientid openHABsv020 and file store '/var/lib/openhab2/mqtt/10.0.7.80'
2019-09-20 13:06:11.999 [iNFO ] [b.core.service.AbstractActiveService] - HTTP Refresh Service has been started
2019-09-20 13:06:12.812 [iNFO ] [b.core.service.AbstractActiveService] - Tinkerforge Refresh Service has been started

Laut letzter Zeile scheint alles in Ordnung zu sein.

 

Link zu diesem Kommentar
Share on other sites

Die Zeilen aus der events.log in dem Zeitraum habe ich angehängt.

 

Setze ich die Ports dann über den Brickviewer, bekommt openHAB das auch direkt mit und es funktioniert alles wieder.

openhab.log:

2019-09-20 13:19:14.940 [iNFO ] [thome.model.script.Paketkasten.rules] - Rule: <Proxy Item LED Fach unten aktualisieren>, triggeringItem: PaketkastenLedUntenGruen (Type=SwitchItem, State=ON, Label=LED unten grün, Category=null, Groups=[gPaketkasten])
2019-09-20 13:19:14.947 [iNFO ] [thome.model.script.Paketkasten.rules] - Rule: <Proxy Item LED Fach oben aktualisieren>, triggeringItem: PaketkastenLedObenGruen (Type=SwitchItem, State=ON, Label=LED oben grün, Category=null, Groups=[gPaketkasten])
2019-09-20 13:19:14.955 [DEBUG] [thome.model.script.Paketkasten.rules] - Rule: <Proxy Item LED Fach oben aktualisieren>, Variable: LedFachObenFarbe, Wert: 2, Typ: java.math.BigDecimal
2019-09-20 13:19:14.962 [DEBUG] [thome.model.script.Paketkasten.rules] - Rule: <Proxy Item LED Fach oben aktualisieren>, Item: PaketkastenLedFachOben (Type=NumberItem, State=2, Label=LED Fach oben, Category=shield, Groups=[gPaketkasten]), State-Typ: org.eclipse.smarthome.core.types.UnDefType
2019-09-20 13:19:14.969 [DEBUG] [thome.model.script.Paketkasten.rules] - Rule: <Proxy Item LED Fach unten aktualisieren>, Variable: LedFachUntenFarbe, Wert: 2, Typ: java.lang.Integer
2019-09-20 13:19:14.979 [DEBUG] [thome.model.script.Paketkasten.rules] - Rule: <Proxy Item LED Fach unten aktualisieren>, Item: PaketkastenLedFachUnten (Type=NumberItem, State=2, Label=LED Fach unten, Category=shield, Groups=[gPaketkasten]), State-Typ: org.eclipse.smarthome.core.library.types.DecimalType

 

events.log:

2019-09-20 13:19:13.435 [vent.ItemStateChangedEvent] - PaketkastenLedObenGruen changed from OFF to ON
2019-09-20 13:19:13.451 [vent.ItemStateChangedEvent] - PaketkastenLedUntenGruen changed from OFF to ON
2019-09-20 13:19:14.963 [vent.ItemStateChangedEvent] - PaketkastenLedFachOben changed from NULL to 2
2019-09-20 13:19:14.977 [vent.ItemStateChangedEvent] - PaketkastenLedFachUnten changed from NULL to 2

 

openHAB und TF-Stack sind in zwei separaten Netzwerk-Segmenten untergebracht. Vom openHAB-Server zum TF-Stack sind die Ports TCP/4280 und TCP/4223 freigegeben (falls das relevant ist).

 

Danke

Ulf

events.log

Link zu diesem Kommentar
Share on other sites

Hallo,

das Verhalten der auf "Standard" gesetzten Einstellungen beim IO16 konnte ich am Produktiv-System nachvollziehen, OH 2.4 mit 1er Binding. Irgendwie kommt nicht alles aus der tinkerforge.cfg zu OH. Der Verdacht dass eine alte gecachte Konfiguration beim Laden des Bindings auf die Bricklets übertragen wird, hat sich nicht bestätigt.

 

Bei Tests mit Eriks Beta OH2 Binding wird die Konfig beim OH Start geladen. Nach Stromausfall des TF Stacks (OH läuft durch) sind die Werte auch wieder auf Standard, aber nach ca 30. Sek wieder gemäß der PaperUI Konfiguration.

 

Mein unbeabsichtigter und seltsamer Workaround, ist den Raspi mit der DEV Umgebung (OH2.5 mit Eriks Beta Binding) laufen zu lassen.

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...