Jump to content
theo

openhab Integration

Nächste Bricks/Bricklets mit openHAB Unterstützung  

23 members have voted

  1. 1. Nächste Bricks/Bricklets mit openHAB Unterstützung

    • Stepper
    • IMU
    • IMU 2.0
    • Accelerometer (fertig)
    • Analog In (fertig)
    • Analog In 2.0 (fertig)
    • Analog Out
    • Analog Out 2.0
    • GPS
    • Industrial Analog Out
    • Industrial Dual Analog In (fertig)
    • Laser Range Finder (fertig)
    • NFC/RFID
    • Color (fertig)


Recommended Posts

Hallo derAngler,

 

Remote Switch Bricklet ist in Arbeit.

Prinzipiell möchte ich möglichst die komplette TinkerForge Palette unterstützen.

 

Share this post


Link to post
Share on other sites

FYI: aktualisierte Dokumentation!

 

Ich habe kürzlich eine vollständig überarbeitete Dokumentation für das TinkerForge Binding online gestellt. Es gibt jetzt u.a. für jedes Gerät eine Beispielkonfiguration. Ich hoffe damit wird der Einstieg in TinkerForge mit openHAB noch einfacher.

 

bit.ly/MFU3WV

 

Gruß,

Theo

Share this post


Link to post
Share on other sites

Mal etwas OFF-Topic eine Frage an die Foren-Kenner: ich würde den Betreff des Threads gerne in "Hausautomatisierung mit openHAB" umbenennen, spricht da etwas dagegen? Bleiben z.B. die Beobachter erhalten oder hänge ich die ab?

Share this post


Link to post
Share on other sites

Hi Theo,

 

ein sehr toller und ausführlicher Wikiartikel.

 

Devices which do not support will callbacks will be polled with a configurable interval, the default is 60000 milliseconds. This value can be changed in openhab.cfg

Hier hast du ein "will" zuviel.

 

Außerdem hattest du mir dies geantwortet:

Zusätzlich zu den Callbacks werden die Werte auch regelmäßig abgefragt. Du kannst den Refresh mit "tinkerforge:refresh=(Wert in Millisekunden)" in openhab.cfg setzen, der default ist 60000.

Dies könnte man, meiner Meinung nach, zu dem von mir zitierten Abschnitt hinzufügen.

 

Der letzte Status wiederherzustellen ist so schwierig, da das Binding nicht den aktuellen Status speichern darf, oder? Könntest du nicht die Option anbieten, dass man neben dem defaultState auch einen defaultStateReconnect hat und diese auch jeweils als "uninitialized" konfigurieren kann. Dann könnte man mit "restoreOnStartup" (habe ich noch nie ausprobiert) oder einer "Rule" doch den letzten Stand laden.

 

 

 

 

Share this post


Link to post
Share on other sites

Hi Stefan,

 

danke für das gründliche Lesen und die Rückmeldung: ich habe die Wiki-Seite aktualisiert. Ausserdem habe ich noch einen upgrade-Hinweis hinzugefügt.

 

Zum IO16: ja, den letzten Status wieder herstellen ist schwierig, da ich bei einem Disconnect alle vorhanden Informationen verwerfe. Es könnte ja sein, dass ein Bricklet nach dem Reconnect z.B. gar nicht mehr da ist. Nach einem Reconnect kann ich lediglich versuchen, die Daten aus dem Bricklet auszulesen. Das hat aber bei meinen ersten Versuchen nicht zuverlässig funktioniert. Mittlerweile habe ich das mit zu Hilfenahme des Shell-Bindings nochmals etwas gedebuggt, muss aber noch in die Tiefe gehen.

 

Gruß,

Theo

 

 

 

Share this post


Link to post
Share on other sites

Remote Switch Bricklet Unterstützung

 

Ich habe einen Snapshot hochgeladen mit dem das Remote Switch Bricklet unterstützt wird:

http://m1theo.org/wp-content/uploads/org.openhab.binding.tinkerforge-1.5.0-SNAPSHOT-remoteswitch.jar

 

Getestet habe ich mit den Funksteckdosen (Typ A) aus dem Hardware Hacking Kit. Ob B und C Funksteckdosen funktionieren konnte ich also nicht verifizieren.

 

Dimmerunterstützung gibt es noch keine.

 

Die Konfiguration sieht so aus:

 

openhab.cfg:

tinkerforge:hosts=localhost

 

tinkerforge:rs1.uid=jKw

tinkerforge:rs1.type=bricklet_remote_switch

tinkerforge:rs1.typeADevices=rslr1 rslr2

tinkerforge:rs1.typeBDevices=kitchen

tinkerforge:rs1.typeCDevices=floor

 

tinkerforge:rs_living_room.uid=jKw

tinkerforge:rs_living_room.subid=rslr1

tinkerforge:rs_living_room.type=remote_switch_a

tinkerforge:rs_living_room.houseCode=31

tinkerforge:rs_living_room.receiverCode=8

 

tinkerforge:rs_living_room2.uid=jKw

tinkerforge:rs_living_room2.subid=rslr2

tinkerforge:rs_living_room2.type=remote_switch_a

tinkerforge:rs_living_room2.houseCode=31

tinkerforge:rs_living_room2.receiverCode=4

 

tinkerforge:rs_kitchen.uid=jKw

tinkerforge:rs_kitchen.subid=kitchen

tinkerforge:rs_kitchen.type=remote_switch_b

tinkerforge:rs_kitchen.address=344

tinkerforge:rs_kitchen.unit=9

 

tinkerforge:rs_floor.uid=jKw

tinkerforge:rs_floor.subid=floor

tinkerforge:rs_floor.type=remote_switch_c

tinkerforge:rs_floor.systemCode=A

tinkerforge:rs_floor.deviceCode=8

 

 

items:

Switch r0          {tinkerforge="uid=jKw, subid=rslr1"}

Switch r1          {tinkerforge="uid=jKw, subid=rslr2"}

Switch rb          {tinkerforge="uid=jKw, subid=kitchen"}

Switch rc          {tinkerforge="uid=jKw, subid=floor"}

 

sitemap:

sitemap remoteswitch label="Main Menu"

{

Frame {

Switch item=r0

Switch item=r1

Switch item=rb

Switch item=rc

}

}

 

 

Ich freue mich auf eure Rückmeldungen.

 

Gruß,

Theo

 

Share this post


Link to post
Share on other sites

Hallo Theo,

 

erst mal vielen Dank für Deine Arbeit!

 

Ich werde die Integration des Remote Switch Bricklet am Wochenende testen und gebe dann eine Rückmeldung.

 

Eigentlich warte ich schon drauf :)

 

Ich hätte die Meldung fast übersehen, vielleicht wäre hier ein neuer Tread besser gewesen?

 

M.

 

 

Share this post


Link to post
Share on other sites

Hallo M.,

 

super, vielen Dank.

 

Du kannst dich per email benachrichtigen lassen, wenn es etwas Neues in dem Thread gibt.

 

Gruß,

Theo

Share this post


Link to post
Share on other sites

Reconnect Unterstützung für das IO16 Bricklet

 

Hi Stefan,

 

ich habe einen Snapshot hochgeladen mit dem (u.a.) der Reconnect fuer das IO16 Bricklet unterstützt wird:

http://openhab.m1theo.org/downloads/org.openhab.binding.tinkerforge-1.5.0-SNAPSHOT-remoteswitch-io16-reconnect.jar

 

Es gibt eine neue, optionale Konfigurationsvariable "keepOnReconnect" für den type io_actuator. Ausserdem kann der defaultState für io_actuator jetzt auch den Wert "keep" haben:

- keepOnReconnect: Status nach einem Reconnect beibehalten; initial - also beim Starten der openHAB runtime - wird der defaultState gesetzt.

- defaultState=keep: Status immer, d.h. auch bei einem Neustart beibehalten.

 

Das IO16 Bricklet muss die aktuelle Firmware haben siehe hier http://www.tinkerunity.org/forum/index.php/topic,2220.0.html und hier http://www.tinkerunity.org/forum/index.php/topic,673.msg14566.html#msg14566

 

Hier ist eine Beispielkonfiguration:

 

tinkerforge:io16outa2.uid=efY

tinkerforge:io16outa2.subid=outa2

tinkerforge:io16outa2.type=io_actuator

tinkerforge:io16outa2.defaultState=keep

 

tinkerforge:io16outa3.uid=efY

tinkerforge:io16outa3.subid=outa3

tinkerforge:io16outa3.type=io_actuator

tinkerforge:io16outa3.defaultState=true

tinkerforge:io16outa3.keepOnReconnect=true

 

Gruß,

Theo

 

Share this post


Link to post
Share on other sites

Super und danke, Theo.

 

Den Status aus dem Bricklet auszulesen ist natürlich die beste Lösung.

 

Ich finde die Idee diesen Thread in "Hausautomatisierung mit openHAB" umzubenennen gut. Du kannst es ja vorher nocheinmal ankündigen und schreiben, dass alle ihre E-Mail Benachrichtigung ändern sollen.

Vielleicht wäre aber auch der Titel "openHAB Heimautomatisierung" nicht schlecht, da es viele Titel gibt, die mit Heimautomatisierung anfangen und man so sehen würde, welches System gemeint ist.

Share this post


Link to post
Share on other sites

Hallo Stefan,

 

funktioniert das IO16-Reconnect jetzt bei dir?

Das mit dem Umbenennen des Threads werde ich nach den Faschingsferien angehen.

 

Gruß,

Theo

 

 

Share this post


Link to post
Share on other sites

Bei mir funktioniert es.

 

Beim "reconnecten" wurde nicht umgeschaltet (der andere Zustand war der "default" Zustand).

Insgesamt ist es aber schwierg zu sagen wann "reconnected" wird, da falls die Verbindung verloren geht, die Zustände - z.B. ON -  erhalten bleiben und nicht auf "uninitialized" wechseln.

 

Manchmal kommen bei mir auch die Zustände ganz durcheinander. Dies liegt sehr wahrscheinlich aber nicht mit openHAB und deinem Binding zusammen. Dies habe ich mit Brickv auch. Darum kümmere ich mich aber erst, wenn ich mir einen neuen Rechner hole.

Share this post


Link to post
Share on other sites

Hallo,

 

hast du schon eine Idee welches TF-Modul du als nächstes unterstützen möchtest?

 

Eventuell das MotionDetection Bricklet?

Share this post


Link to post
Share on other sites

@Stefan Wieder einmal Danke fürs Testen.

@derAngler MotionDetection Bricklet würde sich für natürlich Heimautomatisierung anbieten. Leider ist das Bricklet noch nicht in meiner Schachtel. Mal sehen was sich da machen lässt.

Share this post


Link to post
Share on other sites

Moin Theo,

hat sich das Motion Detector Bricklet schon in deine Schachtel verirrt?

Falls nicht würde ich dir gerne das in den nächsten Wochen zukommen lassen.

Also kleines Dankeschön für das nett Projekte ;)

 

Gruß

Luxor

Share this post


Link to post
Share on other sites

Gute Idee, habe auch schon darüber nachgedacht Theo das Motion-Bricklet zu schenken, hmm, würde mich also auch daran beteiligen wenn möglich.

 

Ansonsten würde mir nur noch das IR-Distance-Bricklet fehlen, dann könnte ich mit openHAB loslegen.

VIelleicht sollte ich Theo dann einfach dieses Bricklet spendieren und das Motion-Bricklet kommt von Luxor?

Share this post


Link to post
Share on other sites

VIelleicht sollte ich Theo dann einfach dieses Bricklet spendieren und das Motion-Bricklet kommt von Luxor?

 

Guter Plan! Ich werde nächste Woche wohl bestellen. Dann muss Theo nur seine Adresse raus rücken  ;)

Share this post


Link to post
Share on other sites

Hallo luxor,

Hallo derAngler,

 

vielen Dank für euer nettes Angebot!

Das hat jetzt eine Weile gedauert bis ich auf eure Postings antworte, sorry dafür. Das lag daran, dass ich gerade im Austausch mit dem TinkerForge Team war, um zu Besprechen wie wir bei der Weiterentwicklung der openHAB Integration zusammenarbeiten könnten.

Das Ergebnis ist ein großzügiges Hardware-Sponsoring durch das TinkerForge Team! Ein Motion Detector Bricklet gehört u.a. auch dazu und wird als nächstes ins openHAB Binding integriert werden.

 

@derAngler: das Distance IR Bricklet ist schon unterstützt:

https://github.com/openhab/openhab/wiki/Tinkerforge-Binding#distance-ir-bricklet

 

Gruß,

Theo

 

Share this post


Link to post
Share on other sites

An dieser Stelle möchte ich mich noch einmal herzlich für das Hardware-Sponsoring durch das TinkerForge Team bedanken!

 

Dadurch wird es für die openHAB-Benutzer in nächster Zeit Unterstützung für viele neue Bricklets geben!!

 

Es grüßt Euch,

Theo

 

Share this post


Link to post
Share on other sites

Das finde ich echt gut von TinkerForge, wirklich ganz große Klasse  :)

 

Und auch nochmal an dich, Theo, vielen Dank.

 

Freue mich schon tierisch auf das Ergebnis wenn alle meine Bricklets unterstützt werden.

Share this post


Link to post
Share on other sites

So zu Ostern gibt es erstmal Unterstützung fürs Motion Detector Bricklet!

Den SNAPSHOT gibt es hier:

http://m1theo.org/org.openhab.binding.tinkerforge-1.5.0-SNAPSHOT-1-motion.jar

oder für diejenigen, die die deb-Pakete verwenden hier:

http://m1theo.org/openhab-addon-binding-tinkerforge-1.5.0-SNAPSHOT-1-motion.deb

 

Konfiguration:

openhab.cfg:

Keine Konfiguration nötig.

 

items:

Contact motion      "motion [MAP(en.map):MOTION%s]" {tinkerforge="uid=m3W"}

 

sitemap:

sitemap motion label="Main Menu"

{

        Frame {

                Text item=motion

        }

 

}

 

transform/en.map:

MOTIONCLOSED=no motion

MOTIONOPEN=montion detected

 

Das Ergebnis seht ihr in den angehängten Screenshots.

 

Als nächstes kommt das Multi Touch Bricklet dran.

 

Frohe Ostern,

Theo

motion-no.jpg.774742bdaa6cac6cbeacb7acd8da07ac.jpg

motion.jpg.5aca0767be48e0c2361779e42fd37741.jpg

Share this post


Link to post
Share on other sites

Unterstützung fürs Multi Touch Bricklet!

 

So, das Multi Touch Bricklet funktioniert jetzt auch!

Den SNAPSHOT gibt es hier:

http://m1theo.org/org.openhab.binding.tinkerforge-1.5.0-SNAPSHOT-1-multitouch.jar

oder für diejenigen, die die deb-Pakete verwenden hier:

http://m1theo.org/openhab-addon-binding-tinkerforge-1.5.0-SNAPSHOT-2-multitouch.deb

 

Konfiguration:

 

openhab.cfg (optional):

tinkerforge:touch.uid=jUS
tinkerforge:touch.type=bricklet_multitouch
tinkerforge:touch.sensitivity=181
tinkerforge:touch.recalibrate=true

#tinkerforge:touche0.uid=jUS
#tinkerforge:touche0.type=electrode
#tinkerforge:touche0.subid=electrode1
#tinkerforge:touche0.disableElectrode=true

tinkerforge:touche1.uid=jUS
tinkerforge:touche1.type=proximity
tinkerforge:touche1.subid=proximity
tinkerforge:touche1.disableElectrode=true

 

items:

Contact electrode0      "electrode0 [MAP(en.map):%s]" {tinkerforge="uid=jUS, subid=electrode0"}
Contact electrode1      "electrode1 [MAP(en.map):%s]" {tinkerforge="uid=jUS, subid=electrode1"}
Contact electrode2      "electrode2 [MAP(en.map):%s]" {tinkerforge="uid=jUS, subid=electrode2"}
Contact electrode3      "electrode3 [MAP(en.map):%s]" {tinkerforge="uid=jUS, subid=electrode3"}
Contact electrode4      "electrode4 [MAP(en.map):%s]" {tinkerforge="uid=jUS, subid=electrode4"}
Contact electrode5      "electrode5 [MAP(en.map):%s]" {tinkerforge="uid=jUS, subid=electrode5"}
Contact electrode6      "electrode6 [MAP(en.map):%s]" {tinkerforge="uid=jUS, subid=electrode6"}
Contact electrode7      "electrode7 [MAP(en.map):%s]" {tinkerforge="uid=jUS, subid=electrode7"}
Contact electrode8      "electrode8 [MAP(en.map):%s]" {tinkerforge="uid=jUS, subid=electrode8"}
Contact electrode9      "electrode9 [MAP(en.map):%s]" {tinkerforge="uid=jUS, subid=electrode9"}
Contact electrode10     "electrode10 [MAP(en.map):%s]" {tinkerforge="uid=jUS, subid=electrode10"}
Contact electrode11     "electrode11 [MAP(en.map):%s]" {tinkerforge="uid=jUS, subid=electrode11"}
Contact proximity       "proximity [MAP(en.map):%s]" {tinkerforge="uid=jUS, subid=proximity"}

 

sitemap:

Text item=electrode0
Text item=electrode1
Text item=electrode2
Text item=electrode3
Text item=electrode4
Text item=electrode5
Text item=electrode6
Text item=electrode7
Text item=electrode8
Text item=electrode9
Text item=electrode10
Text item=electrode11
Text item=proximity

 

transform/en.map:

CLOSED=closed
OPEN=open

 

Jetzt bin ich am TemperatureIR dran.

 

Sollte jemand ein spezielles Bricklet als nächstes haben wollen, nur raus damit! Wenn es in meiner Schachtel ist und nicht zu kompliziert wird, kommt das nach dem TemperatureIR dran.

 

Gruß,

Theo

Share this post


Link to post
Share on other sites

Vier weitere Bricklets werden jetzt unterstützt: Bricklet TemperatureIR, Bricklet SoundIntensity, Bricklet Moisture, Bricklet DistanceUS

 

Dowloads:

http://m1theo.org/org.openhab.binding.tinkerforge-1.5.0-SNAPSHOT-3-temperatureIR-etal.jar

http://m1theo.org/openhab-addon-binding-tinkerforge-1.5.0-SNAPSHOT-3-temperatureIR-etal.deb

 

Konfiguration:

Bricklet TemperatureIR

openhab.cfg (optional)

tinkerforge:objIR.uid=kr2
tinkerforge:objIR.subid=object_temperature
tinkerforge:objIR.type=object_temperature
tinkerforge:objIR.emissivity=65535
tinkerforge:objIR.threshold=0

tinkerforge:ambIR.uid=kr2
tinkerforge:ambIR.subid=ambient_temperature
tinkerforge:ambIR.type=ambient_temperature
tinkerforge:ambIR.threshold=0

items

Number AmbientTemperature                 "AmbientTemperature [%.1f C]"  { tinkerforge="uid=kr2, subid=ambient_temperature" }
Number ObjectTemperature                 "ObjectTemperature [%.1f C]"  { tinkerforge="uid=kr2, subid=object_temperature" }

sitemap

Text item=AmbientTemperature
Text item=ObjectTemperature

 

 

Bricklet SoundIntensity

openhab.cfg (optional)

tinkerforge:sound.uid=iQE
tinkerforge:sound.type=bricklet_soundintensity
tinkerforge:sound.threshold=1
tinkerforge:sound.callbackPeriod=5000

items

Number SoundIntensity                 "Sound [%.1f]"  { tinkerforge="uid=iQE" }

sitemap

Text item=SoundIntensity

 

 

Bricklet Moisture

openhab.cfg (optional)

tinkerforge:moisture.uid=kve
tinkerforge:moisture.type=bricklet_moisture
tinkerforge:moisture.threshold=0
tinkerforge:moisture.callbackPeriod=5000
tinkerforge:moisture.movingAverage=90

items

Number Moisture                 "Moisture [%.1f]"  { tinkerforge="uid=kve" }

sitemap

Text item=Moisture 

 

 

Bricklet DistanceUS

openhab.cfg (optional)

tinkerforge:distanceUS.uid=mXq
tinkerforge:distanceUS.type=bricklet_distanceUS
tinkerforge:distanceUS.threshold=0
tinkerforge:distanceUS.callbackPeriod=100
tinkerforge:distanceUS.movingAverage=100

items

Number DistanceUS                 "DistanceUS [%.1f]"  { tinkerforge="uid=mXq" }

sitemap

Text item=DistanceUS 

 

 

Ausserdem habe ich einiges an Cleanup gemacht:

- Es werden jetzt nur noch Sensoren in regelmäßig Zeitabständen abgefragt, die selbst keine Callback-/Interruptlistener unterstützen. Letztere schicken ohnehin Aktualisierungen, wenn es nötig ist.

- Threshold Konfigurationswerte haben jetzt die gleiche Einheit wie die Sensorwerte, wie sie von openHAB zurückgegeben werden. Wer Threshold konfiguriert hat muss sein openhab.cfg anpassen!

- Beim Pollen von Werten wurden bisher zwei Events auf den eventbus geschickt, das ist jetzt nicht mehr so.

Durch die letztgenannten Änderungen wird der Traffic auf dem Eventbus reduziert.

 

Da durch den Cleanup auch bestehende Funktionalität betroffen ist, wäre es schön wenn ich auch Rückmeldung bekommen würde, ob auch die schon länger unterstützten Geräte noch funktionieren.

 

Vielen Dank für jede Form der Rückmeldung!

 

Gruß,

Theo

 

Share this post


Link to post
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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...