Poll

Nächste Bricks/Bricklets mit openHAB Unterstützung

Stepper
8 (20%)
IMU
0 (0%)
IMU 2.0
1 (2.5%)
Accelerometer (fertig)
0 (0%)
Analog In (fertig)
1 (2.5%)
Analog In 2.0 (fertig)
2 (5%)
Analog Out
0 (0%)
Analog Out 2.0
2 (5%)
GPS
4 (10%)
Industrial Analog Out
0 (0%)
Industrial Dual Analog In (fertig)
2 (5%)
Laser Range Finder (fertig)
0 (0%)
NFC/RFID
16 (40%)
Color (fertig)
4 (10%)

Total Members Voted: 21

Author Topic: openhab Integration  (Read 141294 times)

theo

  • Sr. Member
  • ****
  • Posts: 321
    • View Profile
    • Twitter
openhab Integration
« on: July 23, 2013, 22:54:02 »
Hi,

seit einiger Zeit arbeite ich an einer Integration (binding) der TF Hardware in openhab (näheres hier https://github.com/openhab/openhab/wiki/Tinkerforge-Binding). Falls euch das nichts sagt, openhab (http://openhab.org) ist eine opensource Heimautomatisierungs- / IoT-Lösung, die verschiedenste Hardware einbindet. Die Hardware kann dann entweder mit dem Browser, mit einer IOS-App oder einer Android-App ausgelesen oder gesteuert werden. Persistierung in Datenbanken wird ebenso unterstützt, wie Darstellung von Grafiken mit RRD und vieles mehr.
Ein Vorteil ist, dass man dazu keinen eigenen Code schreiben muss, sondern eine mächtige Regelmaschine zur Hand hat. Mit den Regeln kann man z.B. konfigurieren, dass die aktuelle Temperatur auf dem LCD-Bricklet ausgegeben wird.
Auch das Aussehen der Apps und das Einbinden der Devices geschieht mittels Konfigurationsdateien. Details dazu könnt ihr auf der openhab Seite sicher besser nachlesen.

Das binding von mir unterstützt bisher nur einen Teil der TF Hardware, ich werde das aber nach und nach vervollständigen (soweit ich die Hardware habe). Die Wetterstation wird aber u.a. unterstützt und ist bei mir schon einige Wochen über meinen PI am Laufen.
Am "Hardware Hacking Kit" bin ich gerade dran.

Eine openhab-Installationsanleitung gibt es im openhab-wiki https://github.com/openhab/openhab/wiki/Quick-Setup-an-openHAB-Server (ich bin gerade dran debian Pakete zu machen, das ist aber noch was für die Mutigen).

Happy Tinkering,
Theo

AuronX

  • Hero Member
  • *****
  • Posts: 877
  • kann Software, keine Hardware ^^
    • View Profile
Re: openhab Integration
« Reply #1 on: July 24, 2013, 20:03:18 »
Finde ich wirklich gut.

Ich denke solche Integrationen in bestehende Frameworks sind das was TF langfristig auch voranbringen wird.

Ich werde mir langfristig auch eine Plattform suchen müssen auf der ich dann anfange meine WOhnungsinternen Messwerte usw zu verwalten ^^

batti

  • Tinkerforge Staff
  • Administrator
  • Hero Member
  • *****
  • Posts: 984
    • View Profile
Re: openhab Integration
« Reply #2 on: July 25, 2013, 15:57:56 »
Halte uns bitte auf den laufenden. Wir verfolgen das mit großem Interesse.

theo

  • Sr. Member
  • ****
  • Posts: 321
    • View Profile
    • Twitter
Re: openhab Integration
« Reply #3 on: July 28, 2013, 21:13:58 »
Vielen Dank für eure Rückmeldungen und Interesse, das freut mich natürlich. Ich werde versuchen euch, was openhab betrifft, auf dem Laufenden zu halten.
Bei mir steht jetzt erst einmal der Sommerurlaub an, so richtig Neues wird es vermutlich erst nach dem August wieder geben.

AuronX

  • Hero Member
  • *****
  • Posts: 877
  • kann Software, keine Hardware ^^
    • View Profile
Re: openhab Integration
« Reply #4 on: August 04, 2013, 15:29:16 »
Ich werde OpenHAB jetzt selbst einmal ausprobieren und dazu deine Bindings nutzen. Falls dabei Fragen oder Feedback aufkommen sollten werde ich mich hier melden.

Viele Grüße
Jan

theo

  • Sr. Member
  • ****
  • Posts: 321
    • View Profile
    • Twitter
Re: openhab Integration
« Reply #5 on: August 04, 2013, 16:13:10 »
Super!
Das Binding, das auf meiner Webseite liegt, wird leider nur noch mit der openhab 1.3-Snapshot runtime funktionieren, da es in der runtime eine zu 1.2 inkompatible Änderung gab. Du findest ein deb-Paket mit der 1.3 runtime auf meiner Webseite. Infos zum deb-Paket gibt es hier (die Verzeichnisstruktur ist anders als im zip): http://code.google.com/p/openhab/issues/detail?id=370 . Hier kannst du die offiziellen Snapshots holen: https://openhab.ci.cloudbees.com/job/openHAB/ .
Gerne gebe ich Hilfestellung und für Feedback bin ich sowieso dankbar, allerdings bin ich ab Donnerstag bis Ende August im Urlaub.

Gruß,
Theo

AuronX

  • Hero Member
  • *****
  • Posts: 877
  • kann Software, keine Hardware ^^
    • View Profile
Re: openhab Integration
« Reply #6 on: August 04, 2013, 17:03:20 »
Ich glaube der Link zu deinen Bindings im Blog ist kaputt...

edit: Konkreter: in deinem blog-artikel unter HOME geht der Link zum download nicht.

DIe Links zu den beiden deb-Paketen (anderer Artikel) funktionieren.
Ich werde diese jetzt ausprobieren...

edit2: Davon abgesehen läuft es offenbar super. Ich kann auf die Sensoren zugreifen :)

edit3: Gerade nach etwas Herumspielen waren plötzlich ein paar Werte nciht mehr zu sehen... im Log fand sich folgendes:
Code: [Select]
21:01:40.688 INFO  o.o.c.s.AbstractActiveService[:201]- Tinkerforge Refresh Service has been shut down
Keine Ahnung was passiert ist ^^
« Last Edit: August 04, 2013, 21:05:35 by AuronX »

theo

  • Sr. Member
  • ****
  • Posts: 321
    • View Profile
    • Twitter
Re: openhab Integration
« Reply #7 on: August 04, 2013, 22:28:09 »
Der download link ist wieder ok, danke für den Hinweis (ich hatte etwas zu großzügig aufgeräumt).

Super, dass du die deb-Pakete am Laufen hast. In der Version die im Download-Bereich liegt, musst du noch aufpassen, falls du openhab z.B. zum debuggen als root gestartet hast. Da das init-Skript openhab unter der user id "openhab" laufen läßt, musst du u.U. den Besitzer der Dateien unter /var/lib/openhab und /var/log/openhab anpassen.

Funktioniert es denn jetzt wieder?

Das Problem mit "Tinkerforge Refresh Service has been shut down" hört sich nach defekter Konfiguration an. Hast du noch einige Zeilen aus dem Log um diese Meldung herum?
U.U musst du das loglevel hochdrehen in /etc/openhab/logback.xml
eine Zeile wie diese Einfügen:    
<logger name="org.openhab.binding.tinkerforge" level="DEBUG" />
es gibt auch noch trace, dann wird es aber sehr gesprächig:
<logger name="org.openhab.binding.tinkerforge" level="TRACE" />


 

AuronX

  • Hero Member
  • *****
  • Posts: 877
  • kann Software, keine Hardware ^^
    • View Profile
Re: openhab Integration
« Reply #8 on: August 05, 2013, 21:04:05 »
Mein log war leider zu sparsam... da war nichts weiter drumherum. Allerdings habe ich eine Vermutung, es könnte der typische Fehler gewesen sein:
Zwischendurch war mein brickv connected, falls dieser die Callbacks ausgeschaltet hat und deine Bindings die Callbacks nutzen war das das Problem.

Ich tu einfach so als wäre das nie passiert, falls es jedoch wieder vorkommt versuche ich dir einen besseren Bug-Report zukommen zu lassen.

Ist der Quellcode deiner Bindings zufällig schon irgendwo gehostet? (github oder Google Code o.ä?)

Ich bin im Moment aber eh noch mehr im Testbetrieb, muss mir noch überlegen wie und wo ich am Ende die historischen Daten speichern will. RRD-Persistency scheint ja eine feine Sache zu sein, allerdings muss ich mich hier noch schlau machen, wie ich dann selbst an die Daten herankomme ^^ Offenbar ja nur über rrd4j... und geht das dann auch Parallel zum Logging-betrieb? ^^ Ein wenig ist hier also noch zu tun und herauszufinden :D
« Last Edit: August 05, 2013, 21:07:21 by AuronX »

theo

  • Sr. Member
  • ****
  • Posts: 321
    • View Profile
    • Twitter
Re: openhab Integration
« Reply #9 on: August 05, 2013, 21:25:44 »
Das mit dem brickv klingt plausibel, die Bindings nutzen die Callbacks. Ich dachte auch schon an eine Aktualisierung der runtime auf einen aktuelleren Stand. Es gab kürzlich noch eine race-condition beim item-file einlesen.

Den Quellcode kannst du hier finden: http://code.google.com/r/theoweiss-tinkerforge2/

Die Antworten auf deine Fragen kenne ich leider auch noch nicht, da ich bisher vor allem mit dem binding beschäftigt war.
Logging und RRD werden auf jeden Fall gleichzeitig funktionieren.
Für openhab-Fragen unabhängig vom tinkerforge binding gibt es ein wirklich aktives deutsches und ein englisches Forum. Sie sind auf openhab.org verlinkt.

theo

  • Sr. Member
  • ****
  • Posts: 321
    • View Profile
    • Twitter
Re: openhab Integration
« Reply #10 on: September 09, 2013, 21:56:04 »
Heute wurde openHAB 1.3 released, das Tinkerforge Binding ist mit dabei!

Die neue Version gibt es unter http://openHAB.org, das Tinkerforge Binding ist im openhab-addons Paket. Doku zum Binding findet ihr hier http://code.google.com/p/openhab/wiki/TinkerForgeBinding .

Kai hat das Tinkerforge Binding in die Release Highlights aufgenommen:
http://kaikreuzer.blogspot.de/2013/09/openhab-13-release-highlights.html

Das spiegelt sich auch in der Presse wieder:
http://www.heise.de/open/meldung/17-neue-Bindings-fuer-Smart-Home-Projekt-openHAB-1952414.html
http://jaxenter.de/news/openHAB-in-Version-13-erschienen-zahlreiche-neue-Bindings-167199

Gruß,
Theo

Einstein

  • Full Member
  • ***
  • Posts: 138
    • View Profile
Re: openhab Integration
« Reply #11 on: September 19, 2013, 17:47:23 »
@theo @auronx
Sooo ich hab mich auchmal mit openhab und tinkerforgen bindings etwas versucht (openhab klingt für mich spannend aber ich bin noch blutiger anfänger).

Habt ihr für dummies eine anleitung wie ich aus meinen Barometer Bricklet die Temperatur auslesen kann?

Meine bisherigen Erkentnisse:

items_config:
Code: [Select]
/* Indoor Temperatures */
Number Temperature_Wohnung "Temperature [%.1f °C]" <temperature> (Weather_Chart) { tinkerforge="name=bar_temp" }

openhab.cfg
Code: [Select]
############################## Tinkerforge  Binding ###################################
#
# IP addresses / Hostnames  of the hosts running the brickd (optional port
# separated by a colon, defaults to 4223)
tinkerforge:hosts=192.168.4.24
tinkerforge:bar_temp.uid=NSa
tinkerforge:bar_temp.type=barometer_temperature
tinkerforge:bar_temp.subid=temperature

Was muss ich nun in rules eintragen für ein update der werte?
Wie zeige ich es auf der Demoseite an?

rules
Code: [Select]
rule "Set temperatures"
when
System started or
Time cron "0 0/5 * * * ?"
then
Temperature?.members.forEach(temperature|
postUpdate(bar_temp?????)
)
end

rule "Update max and min temperatures"
when
Item Weather_Temperature changed or
Time cron "0 0 0 * * ?" or
System started
then
postUpdate(Weather_Temp_Max, Weather_Temperature.maximumSince(now.toDateMidnight).state)
postUpdate(Weather_Temp_Min, Weather_Temperature.minimumSince(now.toDateMidnight).state)
end

Viele Grüße

theo

  • Sr. Member
  • ****
  • Posts: 321
    • View Profile
    • Twitter
Re: openhab Integration
« Reply #12 on: September 19, 2013, 20:26:26 »
Hallo Einstein,

freut mich, dass du openHAB ausprobierst!

Wenn du den name nicht brauchst (hilft, wenn du die Hardware tauschst, sich also die uid ändert), am einfachsten damit:

openhab.cfg
Code: [Select]
tinkerforge:hosts=192.168.4.24
In die items Datei kommt Folgendes:
?.items
Code: [Select]
Number Temperature_Wohnung   "Temperature [%.1f °C]" { tinkerforge="uid=NSa, subid=temperature" }

In die sitemap Datei an eine Stelle deiner Wahl:
?.sitemap
Code: [Select]
Text item=Temperature_Wohnung

Das rules file ist nicht nötig!
Der update wird automatisch gemacht: für devices, die einen CallbackListener unterstützen bei jeder Änderung, für die anderen - z.B. das Temperatur device auf dem Barometer Bricklet - alle 60 Sekunden (konfigurierbar mit refreshInterval).

Gruß,
Theo


Einstein

  • Full Member
  • ***
  • Posts: 138
    • View Profile
Re: openhab Integration
« Reply #13 on: September 30, 2013, 18:21:13 »
hallo theo,
soweit so gut es läuft erst einmal alles und nimmt temperaturen in ein diagramm auf.

jedoch kommen auf der openhab konsole ab und zu mal fehler

Code: [Select]
ERROR o.o.b.t.i.m.i.MBarometerTemperatureImpl[:55] - Tinkerforge Error: Tinkerforge "not connected" occurred : null
sodass nur ein neustart von openhab hilft.
Kannst du /ihr mir hier weiterhelfen?

VG

theo

  • Sr. Member
  • ****
  • Posts: 321
    • View Profile
    • Twitter
Re: openhab Integration
« Reply #14 on: September 30, 2013, 20:52:57 »
Hallo Einstein,

super das du es am Laufen hast.
Ist dein brickd tatsächlich hin und wieder weg?
Oder verwendest du die Wifi-Extension und hast gelegentlich Verbindungsprobleme?
Ich werde mir das mit dem autoreconnect die Tage noch einmal anschauen. Da lässt sich bestimmt was verbessern.

Bis dahin,
Theo