Jump to content

openhab Integration


[[Template core/global/global/poll is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]

Recommended Posts

  • Replies 526
  • Created
  • Letzte Antwort

Top Posters In This Topic

Link zu diesem Kommentar
Share on other sites

  • 4 weeks later...

OPENHAB 2.0 auf dem RED BRICK

 

Wollte mal kurz berichten...

Ich hatte früher schon mit OH1.x eperimentiert, mich dann aber entschlossen, mit der "ernsthaften" Arbeit auf OH2 zu warten. Zuerst probierte ich mit der aktuellen OH2 Release auf meinem Windows-Rechner herum, gestern habe ich das Ganze dann auf den Red Brick übertragen. Und es funktioniert. Etwas lahm, aber geht.

Folgt man der Anleitung auf der Doku-Seite von openhab.org, sollte die Installation von OH2 mittels apt-get auf dem Red problemlos vonstatten gehen. Für die Einrichtungsarbeit mit dem OH-Web-Interface verwende ich puTTY, TightVNC, für den Datei-Upload FileZilla.

Was mir erst spät klar wurde: Die "Paper-UI" ist eine reine Setup-Umgebung; im Betrieb nehme ich die "Basic UI" mit sitemap und allem anderen. Ja, nach wie vor braucht es Items-, Rules-, Sitemaps- und die anderen Dateien für die Konfiguration. Falls man die noch aus der OH1-Installation hat, kann man sie für die Verwendung in OH2 an die entsprechenden Stellen kopieren. Für den Zugriff auf meine OH2-Homepage benutze ich die Android-App. Da muss man schonmal 15 bis 20 Sekunden warten, bis eine Fenster-Auf/Zu-Meldung von meinen max!-Komponenten durchgereicht wird, aber das war vorher glaube ich auch nicht viel besser.

Das Installieren von Bindings ist jetzt viel einfacher; und, falls es sich um ein 2.0-Binding handelt, werden zugehörige Komponenten automatisch im Netz ermittelt. Trotzdem muss man die Dinge ("Things" heißen die Komponenten wie zB Heizkörperthermostaten, Schalter oder Fensterkontakte jetzt) nach wie vor manuell in der '.items-Datei einbinden und mittels *.sitemap sichtbar machen. Das ist ok, aber das heißt auch, das Openhab bis auf weiteres eher was für Ingenieure und Informatiker bleiben wird. Allerdings versprechen die OH2-Macher für künftige Versionen mehr Komfort.

Das Tinkerforge-Binding ist noch auf Stand 1.9, d.h., die im lokalen Netzwerk auffindbaren Bricklets etc müssen per *.items-Datei deklariert werden. Funktionierte in meinen Tests aber einwandfrei.

Vielleicht sollte TF den Versionsschritt auf 2.0 mitgehen und vorinstalliert auf dem Red anbieten?

-md

 

Link zu diesem Kommentar
Share on other sites

  • 2 weeks later...

hallo Theo et al,

mein openhab schreibt nicht aufs LCD20x4...

hier die getesteten befehlszeilen in .rules:

 

sendCommand(LCD, String::format("TFNUM<10>WZ-FENSTER AUF"))

und so auch nicht:

sendCommand(LCD, "TFNUM<10>WZ-FENSTER AUF")

 

Hier die Fehlermeldung:

 

2017-03-19 08:58:00.030 [WARN ] [org.apache.karaf.services.eventadmin] - EventAdmin: Exception during event dispatch [org.osgi.service.event.Event [topic=openhab/command/LCD] {bridgemarker=true, item=LCD, command=TFNUM<10>WZ-FENSTER AUF} | {org.osgi.service.event.EventHandler, org.osgi.service.cm.ManagedService}={event.topics=openhab/command/*, service.pid=org.openhab.tinkerforge, component.name=org.openhab.binding.tinkerforge.binding, component.id=4, service.id=290, service.bundleid=192, service.scope=bundle} | Bundle(org.openhab.binding.tinkerforge_1.9.0 [192])]
java.lang.UnsupportedOperationException
at org.openhab.binding.tinkerforge.internal.model.impl.MBrickletLCD20x4Impl.write(MBrickletLCD20x4Impl.java:1035)[192:org.openhab.binding.tinkerforge:1.9.0]
...

 

An-/abschalten des backlights geht.

Das LCD ist wohl richtig konfiguiriert, oder?

String LCD "LCD" { tinkerforge="uid=rXd"}
Switch LCDBacklight "LCDBacklight" {tinkerforge="uid=rXd, subid=backlight"}

 

Im übrigen habe ich festgestellt, dass häufiges Editieren der tinkerforge.cfg die datei /var/lib/openhab2/config/org/openhab/tinkerforge.config korrumpieren kann. Dann bekommt man allerlei fehlermeldungen von wegen irgendwelche devices mit subid sowieso seien unbekannt, etc. ich lösche dann tinkerforge.config und starte neu...

 

-md

Link zu diesem Kommentar
Share on other sites

Hallo MacDuff,

 

der Bug ist bereits gefixt. Im aktuellen Snapshot oder dem Binding unter der Download-URL unten ist der Fix bereits enthalten. Mit dem nächsten Release geht der Fix auf jeden Fall auch raus:

 

https://bintray.com/theoweiss/generic/download_file?file_path=lcd217%2Forg.openhab.binding.tinkerforge-1.10.0-SNAPSHOT.jar

 

Gruß,

Theo

 

PS: Danke auch für den Hinweis auf /var/lib/openhab2/config/org/openhab/tinkerforge.config

 

 

 

Link zu diesem Kommentar
Share on other sites

  • 2 weeks later...

Danke, so funktioniert es.

Mein Setup ist ein Red, auf dem OHA2 läuft, und eine separate Bedienungs- und Display-Einheit mit LCD20x4, MultiTouch-Bricklet mit Keypad und ein AmbientLightV2. Die Einheit wird über eine WIFI2.0-Extension angesprochen. Anfangs hatte ich den Red via EthernetPoE 1.0 und PowerLan im Netz - da kam es zu ständigen Timeouts in der Kommunikation mit der separaten Einheit. Sowas:

 

2017-04-05 07:23:09.328 [ERROR] [rnal.model.impl.MultiTouchDeviceImpl] - Tinkerforge Error: Tinkerforge timeout occurred : Did not receive response in time for function ID 1

 

Als ich auf die Ethernet-ohne-PoE umstieg, wurde das etwas besser, aber immer noch nicht zuverlässig. Jetzt ist der Red direkt an einer LAN-Buchse der FritzBox, und ein Timeout passiert nur so ca alle zwei Tage, laut openhab.log. Übrigens war's auch mit USB-Wifi am Red nicht besser.

 

md

 

Link zu diesem Kommentar
Share on other sites

  • 1 month later...

Hallo Theo,

habe nun die aktuelle OpenHab 2.0.0-1 Version auf einem Raspberry Pi zusammen mit der TinkerForge Wetterstation in Betrieb nehmen wollen. Das TinkerForge Binding weisst die Version 1.9.0 auf. Ich habe mich dabei sklavisch  (ausser dem host und den UIDs) an Deine Beipielkonfiguration unter https://github.com/theoweiss/openhab2-tinkerforge-configuration-examples/tree/master/weatherstation  gehalten (ohne AnalogOutV2-Konfiguration).

Das Ergebnis: Es funktioniert auf der Website aber das LCD Display zeigt keinerlei Messwerte an. Das einzige das ich dort machen kann ist das LCD-Backlight ein- bzw. auszuschalten. 

Möglicherweise relevante Einträge im openhab.log:

2017-05-27 21:13:05.232 [ERROR] [kerforge.internal.TinkerforgeBinding] - COMMAND no tinkerforge device found for command for item uid: ofH subId: null
2017-05-27 21:13:05.152 [ERROR] [kerforge.internal.TinkerforgeBinding] - COMMAND no tinkerforge device found for command for item uid: ofH subId: null
2017-05-27 21:13:05.408 [ERROR] [org.quartz.core.ErrorLogger         ] - Job (DEFAULT.2017-05-27T21:13:03.756+02:00: Proxy for org.eclipse.xtext.xbase.lib.Procedures$Procedure0: [ | {
2017-05-27 21:13:05.465 [ERROR] [kerforge.internal.TinkerforgeBinding] - COMMAND no tinkerforge device found for command for item uid: ofH subId: null
2017-05-27 21:13:05.670 [ERROR] [kerforge.internal.TinkerforgeBinding] - COMMAND no tinkerforge device found for command for item uid: ofH subId: null
2017-05-27 21:13:05.687 [ERROR] [kerforge.internal.TinkerforgeBinding] - COMMAND no tinkerforge device found for command for item uid: ofH subId: null
2017-05-27 21:13:07.619 [ERROR] [kerforge.internal.TinkerforgeBinding] - COMMAND no tinkerforge device found for command for item uid: ofH subId: null
2017-05-27 21:13:07.993 [ERROR] [kerforge.internal.TinkerforgeBinding] - COMMAND no tinkerforge device found for command for item uid: ofH subId: null
2017-05-27 21:13:08.484 [ERROR] [kerforge.internal.TinkerforgeBinding] - COMMAND no tinkerforge device found for command for item uid: ofH subId: null

 

 

sowie:

2017-05-27 21:31:13.232 [WARN ] [org.apache.karaf.services.eventadmin] - EventAdmin: Exception during event dispatch [org.osgi.service.event.Event [topic=openhab/command/TF_LCD] {bridgemarker=true, item=TF_LCD, command=TFNUM<113>49.7} | {org.osgi.service.event.EventHandler, org.osgi.service.cm.ManagedService}={event.topics=openhab/command/*, service.pid=org.openhab.tinkerforge, component.name=org.openhab.binding.tinkerforge.binding, component.id=0, service.id=286, service.bundleid=183, service.scope=bundle} | Bundle(org.openhab.binding.tinkerforge_1.9.0 [183])]
at org.openhab.binding.tinkerforge.internal.model.impl.MBrickletLCD20x4Impl.write(MBrickletLCD20x4Impl.java:1035)[183:org.openhab.binding.tinkerforge:1.9.0]
at org.openhab.binding.tinkerforge.internal.TinkerforgeBinding.internalReceiveCommand(TinkerforgeBinding.java:787)[183:org.openhab.binding.tinkerforge:1.9.0]
2017-05-27 21:31:13.292 [WARN ] [org.apache.karaf.services.eventadmin] - EventAdmin: Exception during event dispatch [org.osgi.service.event.Event [topic=openhab/command/TF_LCD] {bridgemarker=true, item=TF_LCD, command=TFNUM<213> 960} | {org.osgi.service.event.EventHandler, org.osgi.service.cm.ManagedService}={event.topics=openhab/command/*, service.pid=org.openhab.tinkerforge, component.name=org.openhab.binding.tinkerforge.binding, component.id=0, service.id=286, service.bundleid=183, service.scope=bundle} | Bundle(org.openhab.binding.tinkerforge_1.9.0 [183])]
at org.openhab.binding.tinkerforge.internal.model.impl.MBrickletLCD20x4Impl.write(MBrickletLCD20x4Impl.java:1035)[183:org.openhab.binding.tinkerforge:1.9.0]
at org.openhab.binding.tinkerforge.internal.TinkerforgeBinding.internalReceiveCommand(TinkerforgeBinding.java:787)[183:org.openhab.binding.tinkerforge:1.9.0]
2017-05-27 21:31:13.316 [WARN ] [org.apache.karaf.services.eventadmin] - EventAdmin: Exception during event dispatch [org.osgi.service.event.Event [topic=openhab/command/TF_LCD] {bridgemarker=true, item=TF_LCD, command=TFNUM<013>25.0} | {org.osgi.service.event.EventHandler, org.osgi.service.cm.ManagedService}={event.topics=openhab/command/*, service.pid=org.openhab.tinkerforge, component.name=org.openhab.binding.tinkerforge.binding, component.id=0, service.id=286, service.bundleid=183, service.scope=bundle} | Bundle(org.openhab.binding.tinkerforge_1.9.0 [183])]
at org.openhab.binding.tinkerforge.internal.model.impl.MBrickletLCD20x4Impl.write(MBrickletLCD20x4Impl.java:1035)[183:org.openhab.binding.tinkerforge:1.9.0]
at org.openhab.binding.tinkerforge.internal.TinkerforgeBinding.internalReceiveCommand(TinkerforgeBinding.java:787)[183:org.openhab.binding.tinkerforge:1.9.0]
2017-05-27 21:31:22.575 [WARN ] [org.apache.karaf.services.eventadmin] - EventAdmin: Exception during event dispatch [org.osgi.service.event.Event [topic=openhab/command/TF_LCD] {bridgemarker=true, item=TF_LCD, command=TFNUM<113>50.2} | {org.osgi.service.event.EventHandler, org.osgi.service.cm.ManagedService}={event.topics=openhab/command/*, service.pid=org.openhab.tinkerforge, component.name=org.openhab.binding.tinkerforge.binding, component.id=0, service.id=286, service.bundleid=183, service.scope=bundle} | Bundle(org.openhab.binding.tinkerforge_1.9.0 [183])]
at org.openhab.binding.tinkerforge.internal.model.impl.MBrickletLCD20x4Impl.write(MBrickletLCD20x4Impl.java:1035)[183:org.openhab.binding.tinkerforge:1.9.0]
at org.openhab.binding.tinkerforge.internal.TinkerforgeBinding.internalReceiveCommand(TinkerforgeBinding.java:787)[183:org.openhab.binding.tinkerforge:1.9.0]

 

Eventuell ist es ja das gleiche Problem wie bei MacDuff hier im thread. Allerdings, wie installiere ich das .jar bzw. woher bekomme ich einen passenden Snapshot und wie installiere ich ihn?

Danke für Deine Hilfe im Vorraus,

topi

Link zu diesem Kommentar
Share on other sites

Da du auf einem Stable build bist ist das updaten auf ein aktuelleres Binding leider etwas kompliziert:

 

- ein (relativ) aktuelles Tinkerforge snapshot von hier laden: https://openhab.ci.cloudbees.com/job/openHAB1-Addons/1469/org.openhab.binding$org.openhab.binding.tinkerforge/

 

 

- das (alte) Tinkerforge Binding über PaperUI deinstallieren

- die neue .jar in deinen addons Ordner kopieren

- openHAB2 neu starten und über karaf schauen ob das neue Binding aktiv ist.

 

Allerdings würde ich vorher noch einmal deine tinkerforge.cfg prüfen: von der Fehlermeldung her kann er die Bricklets nicht finden, vielleicht hast du ja nur einen Tippfehler bei den uid's.

Link zu diesem Kommentar
Share on other sites

Vielen Dank sihui für die klasse Anleitung!

Das snapshot .jar entsprechend Deiner Anleitung eingebaut und das LCD Display funktioniert tadellos, zeigt alle Wetterwerte an wie erwartet  :)

Abweichend von Deiner Anleitung musste ich eine einzige Änderung vornehmen. Das tinkerfoge-Binding wird nicht im PaperUI angezeigt, da es noch ein OpenHab 1.x Binding ist. Es muss daher manuell deinstalliert werden:

- OpenHab2 Service stoppen

- in die Karaf Konsole wechseln

- bundle:list

- ID des tinkerforge Bundles suchen (bei mir verbarg es sich hinter der Bezeichnung „Model Model“

- bundle:stop <ID>

- bundle:uninstall <ID>

- bundle:list und verifizieren, dass das bisherige tinkerfoge Bundle nicht mehr vorhanden ist

- weiter verfahren, wie Du es beschreibst.

 

Link zu diesem Kommentar
Share on other sites

  • 2 weeks later...

Hello Zusammen,

 

ich hoffe mal, dass ich hier richtig bin. Seit meinem Update auf OH2 Snapshot 947 reagieren meine Bricklets auf keine Openhab Kommandos mehr.

 

Mein System ist ein Lattepanda mit Debian Jessie und Java Version "1.8.0_131"

 

Von meinem Mac aus kann ich problemlos über das Netzwerk mit dem Brick Viewer auf die Bricklets zugreifen, und diese steuern.

 

In der tinkerforge.cfg ist der Host wie folgt angegeben:

 

hosts=127.0.0.1

refresh=60000

 

Es ändert auch nichts, wenn ich den brickd explizit auf die 192.168.1.50 klemme.

 

netstat -ln zeigt auch, dass der brickd auf dem Port lauscht.

 

Im OH Log steht folgendes:

 

[pre]

2017-06-15 19:48:48.726 [DEBUG] [org.openhab.binding.tinkerforge    ] - BundleEvent INSTALLED - org.openhab.binding.tinkerforge

2017-06-15 19:49:51.667 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'tinkerforge.items'

2017-06-15 19:58:09.278 [DEBUG] [org.openhab.binding.tinkerforge    ] - BundleEvent RESOLVED - org.openhab.binding.tinkerforge

2017-06-15 19:58:09.526 [DEBUG] [org.openhab.binding.tinkerforge    ] - BundleEvent [unknown:512] - org.openhab.binding.tinkerforge

2017-06-15 19:58:09.583 [DEBUG] [org.openhab.binding.tinkerforge    ] - BundleEvent STARTING - org.openhab.binding.tinkerforge

2017-06-15 19:58:09.610 [DEBUG] [org.openhab.binding.tinkerforge    ] - BundleEvent STARTED - org.openhab.binding.tinkerforge

2017-06-15 19:58:09.627 [DEBUG] [org.openhab.binding.tinkerforge    ] - ServiceEvent REGISTERED - {org.openhab.model.item.binding.BindingConfigReader, org.openhab.binding.tinkerforge.TinkerforgeBindingProvider}={component.name=org.openhab.binding.tinkerforge.genericbindingprovider, component.id=14, service.id=109, service.bundleid=14, service.scope=bundle} - org.openhab.binding.tinkerforge

2017-06-15 19:58:24.092 [iNFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'tinkerforge.items'

2017-06-15 19:59:07.589 [DEBUG] [org.openhab.binding.tinkerforge    ] - ServiceEvent REGISTERED - {org.osgi.service.event.EventHandler, org.osgi.service.cm.ManagedService}={event.topics=openhab/command/*, service.pid=org.openhab.tinkerforge, component.name=org.openhab.binding.tinkerforge.binding, component.id=13, service.id=412, service.bundleid=14, service.scope=bundle} - org.openhab.binding.tinkerforge

2017-06-15 19:59:18.061 [WARN ] [kerforge.internal.TinkerforgeBinding] - tinkerforge ecosystem not yet ready

2017-06-15 19:59:18.071 [WARN ] [kerforge.internal.TinkerforgeBinding] - tinkerforge ecosystem not yet ready

2017-06-15 19:59:18.078 [WARN ] [kerforge.internal.TinkerforgeBinding] - tinkerforge ecosystem not yet ready

2017-06-15 19:59:18.107 [WARN ] [kerforge.internal.TinkerforgeBinding] - tinkerforge ecosystem not yet ready

2017-06-15 19:59:18.109 [WARN ] [kerforge.internal.TinkerforgeBinding] - tinkerforge ecosystem not yet ready

2017-06-15 19:59:18.112 [WARN ] [kerforge.internal.TinkerforgeBinding] - tinkerforge ecosystem not yet ready

2017-06-15 19:59:18.116 [WARN ] [kerforge.internal.TinkerforgeBinding] - tinkerforge ecosystem not yet ready

2017-06-15 19:59:18.119 [WARN ] [kerforge.internal.TinkerforgeBinding] - tinkerforge ecosystem not yet ready

2017-06-15 19:59:18.122 [WARN ] [kerforge.internal.TinkerforgeBinding] - tinkerforge ecosystem not yet ready

 

 

[/pre]

 

 

Ich habe schon das in PaperUI gelistete binding deinstalliert, und den aktuellen Tinkerforge Snapshot mit Datum vom 12.06. installiert. keine Änderungen... Von diesem Binding stammt übrigens obiger Log Auszug.

 

Hat das jemand schon gesehen, und kann mir einen Tip geben?

 

Danke

 

Peter

Link zu diesem Kommentar
Share on other sites

Das

 

tinkerforge ecosystem not yet ready

 

sehe ich auch manchmal nach einem Snapshot update, allerdings ist es nach einem Neustart des openhab2.service immer verschwunden. Das System scheint sich erst einmal "einpendeln" zu müssen.

Ich bin zur Zeit noch auf #945 und da funktioniert das Tinkerforge Binding ohne Probleme.

 

Falls ein Neustart nichts hilft würde ich mal tmp und cache löschen und neu starten ...

Link zu diesem Kommentar
Share on other sites

Neustarts hatte ich schon ohne Erfolg probiert. Löschen von tmp und cache probiere ich mal aus.

 

Bei 945 hatte das bei mir auch noch problemlos funktioniert. Erst mit dem Sprung auf 947 tritt dieser "Fehler" bei mir auf. Kann aber auch Zufall sein.

 

Mal sehen was Löschen bringt. Ich poste hier das Ergebnis :-)

 

 

Link zu diesem Kommentar
Share on other sites

  • 6 months later...

Hallo,

 

kann es sein das eine  WIFI Master Extension 2.0 zusammen mit einem Masterbrick nicht mit Openhab2 zusammenarbeitet. Ich bekomme es nicht zum laufen die Ethernet Master Extension haben immer funktioniert. Ich habe das Binding über die PaperUI installiert geht nicht danach wieder deinstalliert und das Binding in den Addon Ordner Kopiert geht auch nicht.

 

Gruss Michael

Link zu diesem Kommentar
Share on other sites

  • 3 weeks later...

Hallo,

Ich wollte gerade meine neue Tinkerforge Wetterstation in betrieb nehmen und hab gemerkt, dass dier IO4 Bricklets mittels Openhab nicht als counter genutzt werden können. Ich würde nur ungern mehrere zig bis hundert item updates generieren wenn der Wind mal ein bisschen pustet ;D. Generell gibt es dafür ja eine Java funktion, oder ist das trotzdem noch ziemlich schwierig zu realisieren?  ::)

 

MFG Lukas

Link zu diesem Kommentar
Share on other sites

Hey theo,

erstmal vielen dank für due schnelle antwort. Meine idee wäre ein verknüpftes number item welches vom counter gefüttert wird, entweder total, sprich ohne zurücksetzen-analog zu einem Stromzähler, oder ein messintervall analog zum "poll" intervall-welches zb jede minute die gezählten flanken ausgibt und dann den counter des brick zurück setzt. Natürlich könnte man bei openhab2 mit things und channels auch einen input und so realisieren aber ich glaube die Anpassung an das eigene System ist auch gut in Openhab zu realisieren und man muss nicht jede mögliche Einstellung im binding erreichbar machen.

Mfg lukas

 

Edit:ein paar Tippfehler korrigiert (is noch etwas früh)

Link zu diesem Kommentar
Share on other sites

Hey theo,

immer gerne :-) mir ist die letzten tage auch aufgefallen, dass das ambilight v2 keine helligkeitseinstellungen akzeptiert. Error ist irgendwas bez. Wron value, wenn man was anderes ausser 0 eingibt. Falls du mehr info brauchst kann ich dir morgen mal die cfg und logs schicken. Bin grad nich am pc. Zu dem zahler. Zurucksetzen sollte doch kein problem sein, dafür gibts ja persistence, aber mich würde auch nur die flanken pro sekunde oder pro minute interessieren :-).

 

Lg lukas

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...