eddi777 Geschrieben January 2, 2019 at 14:36 Geschrieben January 2, 2019 at 14:36 Hallo, hier ein kurzer Update zum Stand des Tinkerforge openHAB Bindings. Das aktuell verfügbare TF-Binding wird nicht weiterentwickelt! Es wird aber auch weiterhin mit neuen OH2 Versionen funktionieren und ausgeliefert werden! Als OH1 Binding wird es im Kompatibilitätsmodus ausgeführt, kann aber die OH2 Features nicht nutzen. Ausserdem gibt es weitere technische Gründe, die eine Weiterentwicklung unmöglich machen. Deshalb wird es einen Nachfolger als natives openHAB2 Binding geben. Was sehr gut ist, da damit z.B. auch Autodiscovery funktionieren wird. Ich habe schon Anfang 2018 mit der Entwicklung begonnen, musste aber leider für ein paar Monate pausieren, da mir schlichtweg die Zeit fehlte. Jetzt geht es aber weiter. Es gibt einen Snapshot des aktuellen Entwicklungsstands des neuen Tinkerforge OH2 Bindings. Der aktuelle Download ist als Tech-Preview zu verstehen, ist also im Alpha-Status an dem sich auch noch braking changes ergeben können. Natürlich fehlt auch noch vieles. Unter Umständen funktioniert es bei euch sogar gar nicht, was für mich auch eine wichtige Rüçkmeldung wäre. Wer es ausprobieren möchte - was ich Zwecks Rückmeldung sehr gut fände - kann das Binding hier herunterladen: https://bintray.com/theoweiss/generic/download_file?file_path=org.openhab.binding.tinkerforge-2.4.0-SNAPSHOT.jar Bitte testet das Binding in einer Testinstallation und nicht in eurem Produktivsystem. Zum Installieren die jar-Datei einfach in den addons Ordner einer OH2 2.3 Installation legen. Aktuell werden folgende Bricklets unterstützt: BrickletTemperature BrickletLoadCell BrickletAmbientLightV2 BrickletHumidityV2 BrickletMotionDetectorV2 BrickletRealTimeClock BrickletRotaryEncoder BrickletVoltageCurrent BrickletDistanceUS Das BrickletOutdoorWeather ist in Arbeit, braucht aber noch etwas Zeit. Schreibt einfach welche Bricklets ihr gerne als nächstes im Binding haben wollt. "Einfache" Sensor-Bricklets kann ich vorraussichtlich relativ einfach hinzufügen. Es ist ein OH2 Binding und unterstützt deshalb auch Autodiscovery. Zum Konfigurieren geht ihr so vor: - öffnet das PaperUI - geht zur Inbox - Drückt den "+" Button - wählt das "Tinkerforge Binding" aus - wählt "Brickd" aus - gebt die IP-Adresse in das Feld "Network Address" ein - Save - verbundene und unterstützte Bricklets sollten in der Inbox auftauchen und können hinzugefügt werden Ich bin gespannt auf eure Rückmeldung. Gruß, Theo Hallo, wo kann man den Quellcode laden, ich will mir das Addon selbst kompilieren? Zitieren
theo Geschrieben January 2, 2019 at 16:13 Autor Geschrieben January 2, 2019 at 16:13 Hallo Eddi777, die Quellen findest du hier: https://github.com/theoweiss/openhab2-addons/tree/tinkerforge2-1 Mit freundlichen Grüßen, Theo Zitieren
theo Geschrieben January 11, 2019 at 21:29 Autor Geschrieben January 11, 2019 at 21:29 Es gibt einen neuen SNAPSHOT der folgende Bricklets unterstützt: "BrickletOutdoorWeather", "BrickletTemperature", "BrickletLoadCell", "BrickletSoundIntensity", "BrickletSoundPressureLevel", "BrickletAmbientLight", "BrickletAmbientLightV2", "BrickletIndustrialDualAnalogIn", "BrickletIndustrialDualAnalogInV2", "BrickletPTC", "BrickletBarometer", "BrickletBarometerV2", "BrickletHumidity", "BrickletHumidityV2", "BrickletMotionDetector", "BrickletMotionDetectorV2", "BrickletRealTimeClock", "BrickletRealTimeClockV2", "BrickletRotaryEncoder", "BrickletVoltageCurrent", "BrickletVoltageCurrentV2", "BrickletDistanceUS" https://bintray.com/theoweiss/generic/download_file?file_path=org.openhab.binding.tinkerforge-2.5.0-SNAPSHOT.jar Vielen Dank Uwe @duaw für das Testen! Hier ein paar Antworten zu deinen Beobachtungen: Die Heizung des Humidity Bricklets funktionieren noch nicht, da ich Aktoren noch nicht implementiert habe. Das kommt noch. Der Button des BrickletRotaryEncoder ist jetzt als Trigger Channel implementiert. Wie man diese verwendet ist hier dokumentiert: https://www.openhab.org/docs/configuration/items.html Das ändern der Sensorwerte sollte im PaperUI jetzt nicht mehr möglich sein. Vielen dank für die Hinweise, das hat sehr geholfen. Zitieren
theo Geschrieben January 12, 2019 at 10:21 Autor Geschrieben January 12, 2019 at 10:21 Kleine Korrektur: das BrickletOutdoorWeather ist noch nicht fertig und wird noch etwas dauern :-( Zitieren
peter_tau Geschrieben January 12, 2019 at 17:31 Geschrieben January 12, 2019 at 17:31 Hallo Theo, über die PaperUI von OpenHAB 2.4 konnte ich folgende Bricklets einbinden und erhalte Messwerte: BrickletMotionDetectorV2 BrickletAmbientLightV2 BrickletHumidityV2 BrickletTemperature Darüber hinaus habe ich noch folgende Bricklets angeschlossen, die nicht in der Autodiscovery erscheinen, weil sie vom neuen Tinkerforge-Bindung (noch) nicht unterstützt werden: BrickletSegmentDisplay BrickletBarometer BrickletHumidity BrickletLCD20x4V1.2 BrickletPTCV2 BrickletRemoteSwitchV2 Die Konfiguration in der PaperUI war problemlos. Wie müsste ich das syntaktisch richtig in things- und item-Dateien übertragen? Mir ist nicht klar, wie ich die Parameternamen korrekt aus den Things und Channels errate, damit ich die Konfiguration überführen kann. Viele Grüße Peter Zitieren
theo Geschrieben January 12, 2019 at 18:14 Autor Geschrieben January 12, 2019 at 18:14 Hallo Peter, wenn du den neuesten SNAPSHOT verwendest müssten auch Barometer und Humidity Bricklet funktionieren. Hast du sicher diesen SNAPSHOT verwendet? Wie du die Items erstellst kannst du hier in der Doku finden: https://www.openhab.org/docs/tutorial/sitemap.html Prinzipiell ist es so, dass das PaperUI in der Standardkonfiguration direkt items erstellt sobald du das Bricklet hinzufügst. Du musst also nur noch eine Sitemap machen: https://www.openhab.org/docs/tutorial/sitemap.html Dazu kannst du z.B. den VSCode Editor mit der openHAB Extension verwenden. https://www.openhab.org/docs/configuration/editors.html#openhab-vs-code-extension Grüße, Theo Zitieren
theo Geschrieben January 12, 2019 at 19:57 Autor Geschrieben January 12, 2019 at 19:57 https://bintray.com/theoweiss/generic/download_file?file_path=org.openhab.binding.tinkerforge-2.5.0-2-SNAPSHOT.jar unterstützt jetzt auch BrickletPTCV2 Zitieren
peter_tau Geschrieben January 13, 2019 at 13:54 Geschrieben January 13, 2019 at 13:54 Hallo Theo, das Anlegen einer Sitemap mit den in der PaperUI erzeugten Things und Items hat funktioniert. Mit meiner Frage ist es mir aber darum gegangen, Things und Items nicht unbedingt in der PaperUI anzulegen, sondern in *.things- und *.items-Dateien. Dadurch ist ein Sichern und Wiederherstellen der Konfiguration sehr einfach. Oder wie gehst Du vor, damit bei einem neuen Setup nichts erneut in der PaperUI konfiguriert werden muss? Ich habe übrigens Deinen Snapshot 2.5.0 eingespielt und die zusätzlich unterstützten Bricklets sind sofort in der Inbox aufgetaucht. Allerdings fallen mir folgende Abweichungen auf, wenn ich die Bricklets im Vergleich mit Deinem V1-Binding ansteuere: 1) Die Messwerte von BrickletHumidityV2 und BrickletHumidity werden in der Sitemap um einen Faktor 100 zu groß angezeigt. Dabei verwende ich label="Luftfeuchtigkeit [%.1f %%]". In der PaperUI habe ich das Item als Number:Dimensionless konfiguriert und sehe unter Control den ganzzahligen Prozentwert. Insofern verstehe ich schon, warum ein Faktor 100 entsteht, da die Zahl 1 für 100% steht und dementsprechend zB 20.95 als 2095% Prozent dargestellt werden. Vermutlich müsste ich das Item in der PaperUI anders konfigurieren. Aber bei einer Durchsicht der Datentypen fand ich keinen Wert, der für Prozent stehen könnte. 2) Merkwürdigerweise zeigt BrickletAmbientLightV2 in einem dunklen Raum etwa 231 lx an; wenn ich das Bricklet über das alte Binding ansteuere, erhalte ich plausible 0,01 lx. Ich habe das Bricklet mit den Defaultwerten konfiguriert, ohne irgendwelche Meßbereichezu konfigurieren. 3) Das BrickletBarometer hat mir in der Autodiscovery AirPressure und Altitude angeboten, nicht aber Temperature, welche an und für sich auch verfügbar ist. Ist das bloß noch nicht unterstützt oder ein Fehler? Viele Grüße Peter Zitieren
duaw Geschrieben January 13, 2019 at 16:19 Geschrieben January 13, 2019 at 16:19 Hallo Theo, ptc ok, humidityv2 ok (mit richtigen Prozenten in Control des PaperUI), motiondetector ok, barometer ok, soundintensity ok allerdings geht realtimeclock nicht mehr (zeigt NaN, im Brickviewer ok) Und das Kopieren des neuen Bindings in addons allein hat bei mir nicht gereicht. Nach Löschen von /var/lib/openhab2/cache und .../tmp hat es funktioniert Gruß und Danke, Uwe Zitieren
theo Geschrieben January 13, 2019 at 18:29 Autor Geschrieben January 13, 2019 at 18:29 Hallo Uwe, beim Realtimeclock Bricklet hat sich der Datentyp von Number auf DateTime geändert. Vermutlich musst du das Thing löschen und neu anlegen. Gruß, Theo Zitieren
theo Geschrieben January 13, 2019 at 18:48 Autor Geschrieben January 13, 2019 at 18:48 Hallo Peter, für meine Tests werfe ich tatsächlich sogar die jsondb weg und konfiguriere immer neu. Das heisst eigentlich muss ich nur das brickd-Thing neu anlegen und die Things für die Bricklets über das Autodiscovery hinzufügen. Zu den Punkten 1-3 schreib ich sobald ich mir die Sachen genauer angesehen habe. Gruß, Theo Zitieren
duaw Geschrieben January 15, 2019 at 19:35 Geschrieben January 15, 2019 at 19:35 Hallo, Theo, Du schreibst: "... der Datentyp von Number auf DateTime geändert. Vermutlich musst du das Thing löschen und neu anlegen." Hmmm. Das habe ich getan. Es wird als online angezeigt. Als DateTime. Aber "Control" des PaperUI zeigt jetzt ein BrickletRealTimeClock mit der DateTime "-" an... (Eine sitemap habe ich nicht angelegt. Im PaperUI müsste es ja stimmen.) Und eine Frage: Mit den alten 1-er Bindings habe ich die IP-Adressen der Bricklets aufgelistet. Dann wurde Bricklet XYZ anhand der UID gefunden. Jetzt muss ich zwingend für das Thing angeben, an welcher TF-IP-Nummer (Brickd) es steckt. Hat das einen Grund ? (Ausser, dass die Realisierung einfacher ist?) Und noch eine Frage: Wenn das Bricklet unerreichbar ist, muss ich das selber feststellen, oder? (Ich behelfe mir mit einem Thing "Zuletzt Gesehen der IP-Adresse") Es kommt nicht irgendwann ein Wechsel zu NULL oder was auch immer? Gruß, Uwe Zitieren
theo Geschrieben January 16, 2019 at 20:21 Autor Geschrieben January 16, 2019 at 20:21 Hallo Uwe, Hmmm. Das habe ich getan. Es wird als online angezeigt. Als DateTime. Aber "Control" des PaperUI zeigt jetzt ein BrickletRealTimeClock mit der DateTime "-" an... (Eine sitemap habe ich nicht angelegt. Im PaperUI müsste es ja stimmen.) Das PaperUI ist manchmal etwas zickig, kannst du es mit einer Sitemap probieren? Im Zweifel kannst du auch die jsondb wegwerfen, allerdings ist deine Konfiguration dann auf null gestellt. Und eine Frage: Mit den alten 1-er Bindings habe ich die IP-Adressen der Bricklets aufgelistet. Dann wurde Bricklet XYZ anhand der UID gefunden. Jetzt muss ich zwingend für das Thing angeben, an welcher TF-IP-Nummer (Brickd) es steckt. Hat das einen Grund ? (Ausser, dass die Realisierung einfacher ist?) Mir ist dein Vorgehen hier nicht wirklich klar. Da das Binding autodiscovery unterstützt musst du nur das/die brickd-Things konfigurieren. Die Bricklets werden dann automatisch erkannt. Und noch eine Frage: Wenn das Bricklet unerreichbar ist, muss ich das selber feststellen, oder? (Ich behelfe mir mit einem Thing "Zuletzt Gesehen der IP-Adresse") Es kommt nicht irgendwann ein Wechsel zu NULL oder was auch immer? Den Bricklet-Life-Cycle habe ich noch nicht komplett implementiert. Bisher wird nur erkannt, wenn ein Bricklet auftaucht. Die Implementierung für das Offline gehen kommt noch. Gruß, Theo Zitieren
duaw Geschrieben January 17, 2019 at 17:27 Geschrieben January 17, 2019 at 17:27 Ok, jetzt geht auch realtimeclock wie erwartet. Meine andere Frage ist war wie folgt: Autodiscover geht natürlich. Alles in der in-box, dann als Thing im Paper UI ganz automatisch ... ... unter "Name" steht "realtimeclock" ... unter "Location" "Bridge Selection" Brickd - tinkerforge:brickd:69eea0f ... unter Configuration Parameters dann "xNx" In der sitemap verwende ich den Namen des Things. Mein item in .items ist zunächst (Copy/Paste aus dem Paper-UI) DateTime datumZeit { channel="tinkerforge:realtimeclock:69eea0f1:xNx:datetime" } gewesen Ich sehe aber gerade (Versuch macht kluch!), dass ich auch nur DateTime datumZeit { channel="tinkerforge:realtimeclock:xNx:datetime" } schreiben kann! Damit hat sich die Frage geklärt! Sollte ich das Bricklet jetzt an einen anderen Brick anstecken, dann muss ich das item nicht anfassen. Und so sollte das sein Ach: Nach dem manuellen Löschen von Things (aller Things, tlw. mit force remove), dem Hinzufügen der Brickd things und der entdeckten things sehe ich massig Meldungen im log wie Handler RealTimeClockBrickletHandler of thing tinkerforge:realtimeclock:f33aed9d:xNx tried updating channel datetime although the handler was already disposed. Irgendwer hat da irgendwie das Löschen nicht mitgekriegt, oder? Gruß, Uwe Zitieren
duaw Geschrieben January 17, 2019 at 17:34 Geschrieben January 17, 2019 at 17:34 Kommando zurück, das geht nicht. Nach einem Neustart ist das item nicht richtig im Basic-UI. Man braucht "69eea0f1" als "Location" im item ... Zitieren
theo Geschrieben January 20, 2019 at 23:11 Autor Geschrieben January 20, 2019 at 23:11 Es gibt einen neuen Snapshot, damit sollte einiges besser funktionieren, da die Sensor-Channel nun sauberer mit Einheiten umgehen: https://bintray.com/theoweiss/generic/download_file?file_path=org.openhab.binding.tinkerforge-2.5.0-3-SNAPSHOT.jar Zitieren
theo Geschrieben January 22, 2019 at 22:32 Autor Geschrieben January 22, 2019 at 22:32 Ein neuer Snapshot mit neuen Bricklets: MultiTouch Bricklet (die Channels sind TriggerChannel) Und die ersten Aktoren sind im Binding: DualRelay Bricklet IndustrialQuadRelay Bricklet IndustrialQuadRelayV2 Bricklet IndustrialDualRelay Bricklet SolidStateRelay Bricklet SolidStateRelayV2 Bricklet https://bintray.com/theoweiss/generic/download_file?file_path=org.openhab.binding.tinkerforge-2.5.0-4-SNAPSHOT.jar Feedback wie immer erwünscht. Zitieren
theo Geschrieben January 24, 2019 at 23:15 Autor Geschrieben January 24, 2019 at 23:15 Jetzt zusätzlich NFC und NFC/RFID Bricklet Support mit: https://bintray.com/theoweiss/generic/download_file?file_path=org.openhab.binding.tinkerforge-2.5.0-5-SNAPSHOT.jar Zitieren
duaw Geschrieben January 25, 2019 at 15:37 Geschrieben January 25, 2019 at 15:37 Hallo, Theo, ich stoppe oh2, kopiere das binding nach /usr/share/openhab2/addons lösche brutal die Verzeichnisse cache json tmp in /var/lib/openhab2 starte oh2 und sehe 2019-01-25 16:33:00.942 [WARN ] [org.apache.felix.fileinstall ] - Error while starting bundle: file:/usr/share/openhab2/addons/org.openhab.binding.tinkerforge-2.5.0-5-SNAPSHOT.jar org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.tinkerforge [191] Unresolved requirement: Import-Package: org.eclipse.jdt.annotation at org.eclipse.osgi.container.Module.start(Module.java:444) ~[?:?] ... Das passiert mir mit den letzten Versionen 4 und 5. Was mache ich jetzt falsch??? Gruß, Uwe Zitieren
theo Geschrieben January 25, 2019 at 17:42 Autor Geschrieben January 25, 2019 at 17:42 Hallo Uwe, der Fehler lag bei mir. Die Abhängigkeit zu org.eclipse.jdt.annotation muss optional sein. Hier ist das gefixt: https://bintray.com/theoweiss/generic/download_file?file_path=org.openhab.binding.tinkerforge-2.5.0-6-SNAPSHOT.jar Gruß, Theo Zitieren
theo Geschrieben January 25, 2019 at 22:22 Autor Geschrieben January 25, 2019 at 22:22 Es gibt einen neuen Snapshot mit Fixes für das NFC Bricklet, dieses hat nur funktioniert wenn der BrickViewer geöffnet war und das NFC Bricklet im Mode Reader war. Achtung beim Testen, hier kommen sich das Binding und der BrickViewer in die Quere. Ausserdem habe ich das life cycle Verhalten der Things verbessert. Diese gehen jetzt in den Offline Mode sobald man einen per USB angeschlossenen Brick-Stapel trennt und wieder Online beim erneuten Anschließen. https://bintray.com/theoweiss/generic/download_file?file_path=org.openhab.binding.tinkerforge-2.5.0-7-SNAPSHOT.jar Zitieren
duaw Geschrieben January 26, 2019 at 11:31 Geschrieben January 26, 2019 at 11:31 Super, Theo! Kurzes Feedback: -- BrickletBarometer zeigt -NaN bei "temperature" in Paper-UI/Control, richtig in Brickv (Muss noch sitemap machen ...) -- RotaryEncoder zeigt nach (Neu-) Start von oh2 -NaN bei count (Ist das immer so? Sollte 0 sein.) -- humidity-Bricklet zeigt -NaN (gerade jetzt bei 100% Luftfeuchte, korrekt im Brickv und im alten Binding auf Produktiv-Maschine) -- von meinen 4 PTC (am selben Master) ist einer -NaN im Paper-UI, der und ein weiterer OFFLINE in der Things-Liste (aber alle korrekt im Brickv und im alten Binding Zu einem ptc gibt es die Meldung im log: 019-01-26 11:41:37.613 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler PTCBrickletHandler of thing tinkerforge:ptc:37129507:qbK tried updating channel temperature although the handler was already disposed. -- auch nach manuellem Löschen/Hinzufügen von ptc mit UID qbK bleibt die Meldung mit 1Hz im log. Das thing ist aber da. -- Beim Autodiscover wird das thing mit Namen "ptc" entdeckt. Beim manuellen Anlegen wird das Thing im Paper-UI mit Namen "BrickletPTC" vorgeschlagen. Der Name sollte in beiden Fällen gleich sein. -- Ich empfinde es als unvorteilhaft, wenn Things gleicher Art erkannt werden und alle im PaperUI den gleichen Namen haben "ptc-<UID>" wäre doch schön, oder? Und für die Brickd-Things auch eine Unterscheidung ? (Ich hänge immer die letzte IP-Nummer dran) -- (Kosmetik) ptc Wiremode könnte auf 2/3/4 begrenzt werden (es steht nix da und alle ganzen Zahlen sind möglich. Wird das auf default 2 gesetzt? Die Doku sagt: "Zusätzlich muss die Leiteranzahl mit Hilfe der API gesetzt werden.") -- Ist intensity (Sound) "Number" oder "Number:Dimensionless" ? (-- Und ich hätte echt gedacht, dass es für "Luft-Feuchte" auch eine Einheit gibt.) --dualrelay tickt richtig, industrialquad sieht gut aus Gruß, Uwe Zitieren
duaw Geschrieben January 26, 2019 at 15:25 Geschrieben January 26, 2019 at 15:25 Nachtrag: -- nach dem manuellen Hinzufügen von ptc wird nach Neustart (von oh2) per autodiscovery das ptc-bricklet noch mal gefunden : Ist jetzt 2x als Thing da ... -- jetzt 99,5%rF -- kann nicht ausschließen, dass da etwas hing ... Habe zwischendurch den Stapel resettet. Gruß, Uwe Zitieren
theo Geschrieben January 27, 2019 at 22:56 Autor Geschrieben January 27, 2019 at 22:56 Hallo Uwe, vielen Dank für dein ausführliches Feedback! Bisher wurde die Konfiguration noch nicht an die Bricklets übergeben, d.h. sie liefen entweder mit den Defaults oder mit dem, was du im BrickViewer konfiguriert hast. Im Falle von Ptc heißt das wireMode 2. Das Konfigurationshandling habe ich jetzt fast fertig und werde mich dann den anderen von dir genannten Dingen widmen. Sobald das fertig ist gibt es einen neuen Snapshot. Gruß, Theo Zitieren
StefanOHAN Geschrieben February 3, 2019 at 15:01 Geschrieben February 3, 2019 at 15:01 Hallo Theo, Bisher läuft bei mir ein OpenHAB V1.8 mit viele TF Komponenten produktiv und eine OpenHAB V2.3 als Entwicklungssystem. Nach einem Fehlversuch hab ich jetzt mein Testsystem mit dem neuen Binding am laufen. (RasperryPI II openhabian V1.4.1) Aktuell hab ich einen Stapel mit 2xMasterbrick (beide HW 2.1 mit FW 2.4.9) mit folgenden Bricklet‘s 1x16fach IO (FW 2.0.6) 2xIndustrialQuadRelay 2.0 (FW 2.0.1) 1xHumidity Bricklet 2.0 (FW2.0.3) 1xHumidity Bricklet 1.x (FW2.0.2) Theo, gibt es auch weiterhin die Möglichkeit über einen Konfig-File unter ../services zu arbeiten ? Wenn ja wie müsste ich die Komponenten dort definieren ?? (vor allem die neuen). Mir persönlich ist der Konfigfile unter services lieber, denn dort habe ich einen bessern Überblick über die Parameter (Bricklet ID usw). Aktuell bin ich noch am testen, wenn mir etwas auffällt melde ich mich hier. @Thema Wunschliste Bricklets : - 16 Fach IO (dieses nutze ich in meiner produktiven OpenHAB 1.8 Umgebung mehrfach) 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.