theo Geschrieben July 23, 2013 at 20:54 Geschrieben July 23, 2013 at 20:54 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 Zitieren
AuronX Geschrieben July 24, 2013 at 18:03 Geschrieben July 24, 2013 at 18:03 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 ^^ Zitieren
batti Geschrieben July 25, 2013 at 13:57 Geschrieben July 25, 2013 at 13:57 Halte uns bitte auf den laufenden. Wir verfolgen das mit großem Interesse. Zitieren
theo Geschrieben July 28, 2013 at 19:13 Autor Geschrieben July 28, 2013 at 19:13 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. Zitieren
AuronX Geschrieben August 4, 2013 at 13:29 Geschrieben August 4, 2013 at 13:29 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 Zitieren
theo Geschrieben August 4, 2013 at 14:13 Autor Geschrieben August 4, 2013 at 14:13 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 Zitieren
AuronX Geschrieben August 4, 2013 at 15:03 Geschrieben August 4, 2013 at 15:03 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: 21:01:40.688 INFO o.o.c.s.AbstractActiveService[:201]- Tinkerforge Refresh Service has been shut down Keine Ahnung was passiert ist ^^ Zitieren
theo Geschrieben August 4, 2013 at 20:28 Autor Geschrieben August 4, 2013 at 20:28 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" /> Zitieren
AuronX Geschrieben August 5, 2013 at 19:04 Geschrieben August 5, 2013 at 19:04 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 Zitieren
theo Geschrieben August 5, 2013 at 19:25 Autor Geschrieben August 5, 2013 at 19:25 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. Zitieren
theo Geschrieben September 9, 2013 at 19:56 Autor Geschrieben September 9, 2013 at 19:56 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 Zitieren
Einstein Geschrieben September 19, 2013 at 15:47 Geschrieben September 19, 2013 at 15:47 @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: /* Indoor Temperatures */ Number Temperature_Wohnung "Temperature [%.1f °C]" <temperature> (Weather_Chart) { tinkerforge="name=bar_temp" } openhab.cfg ############################## 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 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 Zitieren
theo Geschrieben September 19, 2013 at 18:26 Autor Geschrieben September 19, 2013 at 18: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 tinkerforge:hosts=192.168.4.24 In die items Datei kommt Folgendes: ?.items Number Temperature_Wohnung "Temperature [%.1f °C]" { tinkerforge="uid=NSa, subid=temperature" } In die sitemap Datei an eine Stelle deiner Wahl: ?.sitemap 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 Zitieren
Einstein Geschrieben September 30, 2013 at 16:21 Geschrieben September 30, 2013 at 16:21 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 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 Zitieren
theo Geschrieben September 30, 2013 at 18:52 Autor Geschrieben September 30, 2013 at 18:52 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 Zitieren
Einstein Geschrieben October 1, 2013 at 14:12 Geschrieben October 1, 2013 at 14:12 Hallo Theo, ich hab die WiFi Extension in Betrieb und öters Verbindungsabbrüche (das such ich auch noch wieso). Wenn ich jedoch kurz die config im Hintergrund änder (also er sie neu lädt) verbindet er sich wieder. VG Zitieren
AuronX Geschrieben October 2, 2013 at 12:10 Geschrieben October 2, 2013 at 12:10 Mal nur des Feedbacks wegen: Ich nutze die OpenHAB-Bindings inzwischen um unser Wohnzimmer permanent zu monitoren, also quasi als Wetterstation. Angebunden ist der Stack über USB un das scheint auch stabil zu laufen. Zitieren
Einstein Geschrieben October 16, 2013 at 19:22 Geschrieben October 16, 2013 at 19:22 Hallo Theo, ich weiß nicht ob du schon eine Eingebung hattest. Hier noch ein paar auszüge 21:10:32.676 ERROR o.o.b.t.i.m.i.MBrickletTemperatureImpl[:55] - Tinkerforge Error: Tinkerforge "not connected" occurred : null 21:10:32.684 INFO runtime.busevents[:46] - Temperature_DD_Wohnung state updated to Undefined 21:10:32.687 ERROR o.o.b.t.i.m.i.MBarometerTemperatureImpl[:55] - Tinkerforge Error: Tinkerforge "not connected" occurred : null 21:10:32.713 INFO runtime.busevents[:46] - Temperature_bar_DD_Wohnung state updated to Undefined 21:10:37.665 INFO runtime.busevents[:46] - Date state updated to 2013-10-16T21:10:37 21:11:32.696 ERROR o.o.b.t.i.m.i.MBrickletTemperatureImpl[:55] - Tinkerforge Error: Tinkerforge "not connected" occurred : null 21:11:32.702 INFO runtime.busevents[:46] - Temperature_DD_Wohnung state updated to Undefined Zitieren
theo Geschrieben October 16, 2013 at 22:22 Autor Geschrieben October 16, 2013 at 22:22 Hi Einstein, sorry, ich wurde abgehalten, am Wochenende werde ich mir das anschauen. Gruß, Theo Zitieren
Stefan Geschrieben October 18, 2013 at 13:03 Geschrieben October 18, 2013 at 13:03 Vielen Dank Theo für dein Tinkerforge-Binding. Openhab ist damit richtig genial. Mein wichtigstes Bricklet ist das IO16-Bricklet. Ist es geplant dieses Bricklet auch in das Tinkerforge-Binding zu übernehmen? Es wäre cool, wenn man einzelne Pins von den 16 Pins des IO16 auf "input pull up" stellen könnte und mit dem Item 'Switch itemName "itemText" { tinkerforge="uid=uid" port='a', pin="1" }' würde dann auf jede Änderung des Zustandes des gewählten Pins reagiert werden. Die Outputfähigkeit, also einen Pin zu schalten, lässt sich jetzt schon sehr gut mit dem openhab exec-Binding und den Tinkerforge Shell Bindings realisieren: Switch pin1 {exec=">[ON:tinkerforge call io16-bricklet uid set-port-configuration a 1 out true]"} Zitieren
theo Geschrieben October 20, 2013 at 13:46 Autor Geschrieben October 20, 2013 at 13:46 Hi Einstein, du kannst hier http://m1theo.org/wp-content/uploads/org.openhab.binding.tinkerforge-1.4.0-SNAPSHOT-reconnect.jar ein Binding herunterladen mit dem das AutoReconnect funktionieren sollte. Zur Installation einfach openHAB herunterfahren, das originale Binding aus dem addons-Verzeichnis sichern/wegschieben, das org.openhab.binding.tinkerforge-1.4.0-SNAPSHOT-reconnect.jar dort ablegen und openHAB neu starten. Schon mal vielen Dank fürs Testen. Gruß, Theo Zitieren
theo Geschrieben October 20, 2013 at 14:04 Autor Geschrieben October 20, 2013 at 14:04 Hallo Stefan und AuronX, vielen Dank für euer Feedback, so bekomme ich eine Idee davon was funktioniert, wo es vielleicht hakt, welche neuen Features wichtig sind und natürlich auch ob das Binding überhaupt verwendet wird. @Stefan: Ich habe vor zunächst nach und nach die Bricklets, die in meiner Bastelkiste sind in openhab einzubinden. Derzeit habe ich bei mir zusätzlich zu den mit 1.3 veröffentlichten Devices: das QuadRelay-Bricklet am Laufen und das "Industrial Digital In 4 Bricklet" zu 90% fertig. Leider sind die Entwicklungen noch im alten 1.3-mercurial-Zweig von openHAB und ich muss sie erst noch in den 1.4-Git-Zweig überführen. Danach werde ich einen neuen SNAPSHOT auf meinen Blog hochladen. Jetzt die gute Nachricht in meiner Bastelkiste ist u.a. ein IO16-Bricklet. Das kommt dann einfach als nächstes dran. Ich melde mich wenn es was zum Testen gibt. Gruß, Theo Zitieren
Stefan Geschrieben October 21, 2013 at 21:53 Geschrieben October 21, 2013 at 21:53 Vielen Dank Theo, ich freue mich schon aufs Testen Zitieren
Einstein Geschrieben October 22, 2013 at 18:51 Geschrieben October 22, 2013 at 18:51 Hallo Theo, ich hab es getestet ein paar tage...immer wenn die verbindung kurz abreißt ist für ca. 5 minuten ein fehler im log, aber er verbindet sich scheinbar danach wieder...vielen dank schonmal dafür. @stefan nach einigen basteln und testen hab ichs mit den schellbindings auch hinbekommen... Zitieren
theo Geschrieben October 23, 2013 at 19:02 Autor Geschrieben October 23, 2013 at 19:02 Hi Einstein, das sind ja schon mal gute Nachrichten. Kannst du die Fehlermeldung posten. Gruß, Theo Zitieren
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.