StefanOHAN Geschrieben May 7, 2019 at 10:37 Geschrieben May 7, 2019 at 10:37 Hallo Theo danke für den Hinweis, ich bin momentan leider auf Achse und kann frühestens am WE weiter testen. Viele Grüsse Stefan Zitieren
theo Geschrieben May 8, 2019 at 19:31 Autor Geschrieben May 8, 2019 at 19:31 Hallo André, Code Contributions sind herzlich willkommen. Eine erste Entwickler-Doku gibt es jetzt hier: https://github.com/theoweiss/tinkerforge-client-codegen im README.md Gruß, Theo Zitieren
andiikaa Geschrieben May 17, 2019 at 08:12 Geschrieben May 17, 2019 at 08:12 Hallo Theo, danke für die Mühe. Die Sachen, welche ich benötigte, musste ich erstmal noch in das OH1 Binding implementieren. Ich schau mal, wie ich die Zeit finde, um am OH2 Binding mitzuwirken. Momentan habe ich viel zu tun und leider auch nicht mehr lange Zugriff auf die Bricklets. Gruß, André Zitieren
Jerome Geschrieben May 18, 2019 at 16:17 Geschrieben May 18, 2019 at 16:17 MotionSensor V2 funktioniert nun einwandfrei mit dem Element Switch Switch MotionSensor "Motion [%s]" <motion> { channel="" } Danke *** Sobald mal Zeit da ist wäre ich froh um die Unterstützung für das GPS Bricklet und das korrigieren der Angaben von dem BarometerBricklet. Schönes Wochenende Zitieren
rak Geschrieben May 26, 2019 at 15:17 Geschrieben May 26, 2019 at 15:17 Hallo OH Gemeinde, ich bin schon lange aktiv in der OH community und dort auch unter RAK erreichbar. Ich betreibe 2 OH Anlagen und möchte gerne mit Tinkerforge nun mein Wohnmobil smart machen. Ich lese mich noch ein wenig ein. Die Hardware ist da und läuft auch schon mit dem BrickViewer. Nächster Schritt ist einen neuen Pi3B+ aufzusetzen mit OH und brickd (beides in jeweils einem Docker Container) und dann das Binding mal in Angriff nehmen. Ich freue mich hier mit euch an dem Thema weiter zu kommen. Gruss Ralf Zitieren
Jerome Geschrieben May 27, 2019 at 16:50 Geschrieben May 27, 2019 at 16:50 Cool ich bin an einem gleichen Projekt! Hallo OH Gemeinde, ich bin schon lange aktiv in der OH community und dort auch unter RAK erreichbar. Ich betreibe 2 OH Anlagen und möchte gerne mit Tinkerforge nun mein Wohnmobil smart machen. Ich lese mich noch ein wenig ein. Die Hardware ist da und läuft auch schon mit dem BrickViewer. Nächster Schritt ist einen neuen Pi3B+ aufzusetzen mit OH und brickd (beides in jeweils einem Docker Container) und dann das Binding mal in Angriff nehmen. Ich freue mich hier mit euch an dem Thema weiter zu kommen. Gruss Ralf Zitieren
rasby Geschrieben June 1, 2019 at 15:03 Geschrieben June 1, 2019 at 15:03 Hallo zusammen, Hallo theo, wie sieht es mit der Integration der folgenden Bricklets aus? - Segment Display 4x7 Bricklet 2.0 - DMXBricklet Gruß Zitieren
rak Geschrieben June 2, 2019 at 13:04 Geschrieben June 2, 2019 at 13:04 Hallo, wie komme ich den an das aktuelle Binding? Ich habe nur die OH1 er Versionen gefunden. 1.14 (2.5.0 M1) und 1.13 (2.4.0 stable). Konkret hätte ich gerne das Outdoor Modul angebunden. Gruss Ralf Zitieren
StefanOHAN Geschrieben June 2, 2019 at 13:46 Geschrieben June 2, 2019 at 13:46 Hallo rak, Theo veröffentlicht hier seine aktuellen Snapshot-Entwicklungs-Stände per download-Link. dies dürfte der letzte Stand sein org.openhab.binding.tinkerforge-2.5.0-12-SNAPSHOT.jar (link im zitierten Post von Theo, unten). Weiter findest du auch einen Link zu Theos Readme. Dort findest du beispiel für die Rules und ob ein Bricklet schon eingebunden ist. So wie ich das sehe ist Theo mit dem Outdoor noch nicht fertig theo Sr. Member **** Beiträge: 307 Profil anzeigen Twitter E-Mail Private Mitteilung (Offline) Re: openhab Integration « Antwort #443 am: März 28, 2019, 20:31:26 » Zitat Ein neuer Snapshot ist da: https://bintray.com/theoweiss/generic/download_file?file_path=org.openhab.binding.tinkerforge-2.5.0-12-SNAPSHOT.jar Support für: * LCD20x4 * OLED128x64 * OLED128x64V2 * OLED64x48 Die Bedienung des display-Channels ist genauso wie beim LCD128x64 https://github.com/theoweiss/openhab-tinkerforge2-configuration-examples#display. Das LCD hat zusätzlich noch 3 Button-Channels. Actions für clearDisplay o.ä. werden nachgeliefert. Beispielregeln gibt es noch keine, ihr könnt euch aber an den alten Beispielen orientieren: https://github.com/theoweiss/openhab2-tinkerforge-configuration-examples/blob/master/weatherstation/rules/tf.rules Was dort mit "TFNUM<20>" formuliert ist, ist jetzt "{2,0}". Viel Spaß damit. Moderator informieren Gespeichert https://github.com/theoweiss/openhab-tinkerforge2-configuration-examples/blob/master/README.md viele Grüsse Stefan Zitieren
rak Geschrieben June 3, 2019 at 06:16 Geschrieben June 3, 2019 at 06:16 Danke. Das ist schon Mal ein Abfang. Gibt es ein GitHub repository wo man die letzte Version findet? Theo scheint ein Clone vom addon2 zu haben, darin finde ich das Tinkerforge binding aber nicht. https://github.com/theoweiss/openhab2-addons/tree/master/bundles Theo, du liest hier mit, oder? Melde dich Mal. Danke Zitieren
theo Geschrieben June 3, 2019 at 15:40 Autor Geschrieben June 3, 2019 at 15:40 Hallo Ralf, Hallo Stefan et.al., ja ich lese mit. Dummerweise bin ich gerade durch einen defekten Rücken lahmgelegt. Leider zieht sich die Sache etwas hin, deshalb wird es auch noch eine Weile dauern bis ich am Binding weiter machen kann. Ein bisschen was geht zwar, aber leider bekomme ich das Binding mit dem neuen bnd OH2 Build nicht zum Laufen. Der aktuellste Code ist jetzt im tinkerforge4 branch: https://github.com/theoweiss/openhab2-addons/tree/tinkerforge4/bundles . Das baut auch mit Maven aber in der Demo App funktioniert es noch nicht. Warum auch immer. Wie die Binding-Entwicklung funktioniert ist hier beschrieben: https://github.com/theoweiss/tinkerforge-client-codegen So long, Theo Zitieren
theo Geschrieben June 3, 2019 at 16:46 Autor Geschrieben June 3, 2019 at 16:46 Jetzt hab ich den Fehler gefunden und konnte ein neues Binding bauen: https://bintray.com/theoweiss/generic/download_file?file_path=org.openhab.binding.tinkerforge-2.5.0-13-SNAPSHOT.jar Möglicherweise läuft das Binding jetzt nur noch mit openHAB 2.5 SNAPSHOT, das habe ich nicht probiert. Ansonsten sind nur kleine Änderungen enthalten: - die Buttons am LCD20x4 sollten jetzt funktionieren - das NFC Bricklet sollte jetzt auch funktionieren Gruß, Theo Zitieren
StefanOHAN Geschrieben June 10, 2019 at 14:54 Geschrieben June 10, 2019 at 14:54 Hallo Theo ich hab über das verlängerte Wochenende Dein neues Binding mit -LCD20x4 -LCD128x64 -Motion-Dedector V2 -NFC Bricklet getestet. Aktuell arbeite ich mit -openHABian V1.4.1 -OpenHAB 2.5.0-Snapshot-Build 1607 -tinkerforge-2.5.0-13-SNAPSHOT -Firmware alles TF Komponenten auf aktuellen Stand (08.06.2019) Es wird wieder etwas viel zu lesen ;-) Test: Background-Beleuchtung des LCD 20x4 (Funktion erfolgreich getestet) Eintrag in der ITEM.items Datei Switch LCD20x4_BL "LCD20x4 Backlight [%s]" (TestTF) { channel="tinkerforge:lcd20x4:f4a5fb45:abc:backlight", channel="serialbutton:button:mybutton:button" [profile=rawbutton-toggle-switch] } Frage: Theo, Ich hab wie von Dir empfohlen das Beispiel (siehe unten) angepasst. Color Bedroom_Light { channel="hue:0210:1:bulb1:color", channel="serialbutton:button:mybutton:button" [profile=rawbutton-toggle-switch] } Für das Background des LCD 20x4, hat auch alles geklappt (für das LCD128x64 Background nicht siehe weiter unten). Was mir nur nicht klar war, wo bekomme ich den Input für channel="serialbutton:button:mybutton:button" her. (habe daher 1:1 aus dem genannten Beispiel übernommen) Die Informationen auf der openhab-Seiten waren da etwas spärlich Ist dieser Text nach einer bestimmten Syntax aufgebaut ? Abfragen eines Button-Channel in einer Rule >> Dies hat funktioniert Schreiben eines Text auf das LCD 20x4 >> Dies hat nicht funktioniert. Eintrag in der ITEM.items Datei String LCD20x4_text "LCD20x4 Text [%s]" (TestTF) {channel="tinkerforge:lcd20x4:f4a5fb45:abc:display" } Beim ersten Test habe ich die Rule für das LCD128x64 angepasst rule "test-button-lcd20x4" when Channel "tinkerforge:lcd20x4:f4a5fb45:abc:button0" triggered RELEASED then val actions20 = getActions("tinkerforge", "tinkerforge:lcd20x4:f4a5fb45:abc") actions20.writeLine(1, 1, "Hello Openhab") end auch mit „val actions20 = getActions("tinkerforge", "tinkerforge:lcd20x4:f4a5fb45:abc:display") hatte ich keinen Erfolg Fehler Meldung im LOG-File 2019-06-09 19:42:42.561 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'test-button-lcd20x4': Instance is not an LCD128x64BrickletActions class. Beim zweiten Test habe ich die alten Rule-Beispiele aus Openhab1 abgeleitet rule "test-button-lcd20x4" when Channel "tinkerforge:lcd20x4:f4a5fb45:abc:button0" triggered RELEASED then LCD20x4_text.sendCommand("TFNUM<00>Test old") end Fehlermeldung um LOG-File 2019-06-09 20:17:50.661 [ERROR] [lient.devices.lcd20x4.DisplayChannel] - invalid command format org.m1theo.tinkerforge.client.tools.Tools$LinePositionParseException: prefix is missing Theo, was mache ich falsch ? Wo liegt mein Fehler ? Test des MotionDedector V2 Eintrag in der ITEM.items Datei Switch MotionDV2SW1 "BewegungsmelderV2 [%s]" (TestTF) {channel = "tinkerforge:motiondetectorV2:f4a5fb45:bcd:motiondetected"} Dimmer MotionDV2dl "BewegungsmelderV2 LED1 [%s]" (TestTF) {channel = "tinkerforge:motiondetectorV2:f4a5fb45:bcd:topLeftled"} Dimmer MotionDV2dr "BewegungsmelderV2 LED1 [%s]" (TestTF) {channel = "tinkerforge:motiondetectorV2:f4a5fb45:bcd:topRightled"} Dimmer MotionDV2db "BewegungsmelderV2 LED1 [%s]" (TestTF) {channel = "tinkerforge:motiondetectorV2:f4a5fb45:bcd:bottomled"} Ich hatte es bisher noch nie geschafft, die 3 LED's zu nutzen, weder konnte ich sie per basicui/app (Website) noch über eine Rule bedienen. Der eigentliche Bewegungs-Melder funktioniert, nur die 3 LED lassen sich nicht ansteuern. Rule zum Test: rule "test-Motion-DedectroV2-LED" when Channel "tinkerforge:lcd20x4:f4a5fb45:abc:button0" triggered RELEASED then sendCommand(MotionDV2dl,80) end Eintrag im LOG-File 2019-06-09 20:39:13.027 [ome.event.ItemCommandEvent] - Item 'MotionDV2dl' received command 80 2019-06-09 20:39:13.083 [nt.ItemStatePredictedEvent] - MotionDV2dl predicted to become 80 2019-06-09 20:39:13.180 [vent.ItemStateChangedEvent] - MotionDV2dl changed from 100 to 80 Die LED Leuchten nicht, wo liegt mein Fehler ? --- Test des NFC Bricklet Die TAG-ID von konnte ausgelesen werden Die TAG-ID wird im Log als auch auf der Web-Site dargestellt Eintrag in die ITEM.items Datei String NFCTAG_text "NFC-TAG [%s]" (TestTF) { channel="tinkerforge:nfc:f4a5fb45:cde:tagID" } String NFCTAG_merker "NFC-merker [%s]" Frage: Wie kann ich dem Inhalt des String-ITEMS (ausgelesene TAG-ID) einer Variablen oder einem anderen String ITEM übergeben ? Ich bekomme da immer Fehlermeldungen im LOG Sorry mein Fehler hab Syntax bei der Zuweisung nicht beachtet LCD128x64 Theo ich finde unter Paperui / Configuration / Things / BrickletLCD128x64 keine Channel für die Backgroungbeleuchtung ! Ich habe anschließend analog zum LCD20x4 die ITEM-Verlinkung eingetragen, hatte aber keinen Erfolg. Eintrag in die ITEM.items Datei Switch LCD128x64_BL "LCD128x65 Backlight [%s]" (TestTF) { channel="tinkerforge:lcd128x64:f4a5fb45:bcd:backlight", channel="serialbutton:button:mybutton:button" [profile=rawbutton-toggle-switch] } Das Anlegen der Buttons und Slider klappt, ich kann auch Text auf dem Display ausgeben. Das Auslesen der Number-Werte bei Änderung der Slider‘s funktioniert und die Werte können in Rule‘s ausgewertet werden. Frage: Wie kann ich mit dem „actions.writeLine(3, 10, ...)“ den Inhalt eines ITEMS oder einer Variable mit auf dem Display ausgeben ? actions.writeLine(3, 10, „Dummytext“) funktioniert actions.writeLine(3, 10, ITEM.state) oder „actions.writeLine(3, 10,ITEM ) funktioniert nicht Beispiel-Rule: rule "LCD164-Slider" when Item LCD128x64_SL0 changed then val actions = getActions("tinkerforge", "tinkerforge:lcd128x64:f4a5fb45:HQJ") actions.clearDisplay actions.writeLine(3, 10, "change") actions.writeLine(3, 10, LCD128x64_SL0.state ) if (LCD128x64_SL0.state > 15 ) { LCD20x4_BL.sendCommand (ON) } else { LCD20x4_BL.sendCommand (OFF) } end Fehlermeldung im LOG-FILE (es macht keinen Unterschied ob ich nun ITEM oder ITEM.state nutze) 2019-06-10 13:39:30.050 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule 'LCD164-Slider': An error occurred during the script execution: Could not invoke method: org.openhab.binding.tinkerforge.action.LCD128x64BrickletActions.writeLine(org.eclipse.smarthome.core.thing.binding.ThingActions,int,int,java.lang.String) on instance: null Wie müsste ich die Rule aufbauen, dass ich als eine Variable oder ein ITEM ausgeben kann ? Ich hab diese Rule auch mit dem String-ITEM des NCF-TAG probiert, gleicher Fehler. Zum Schluss noch eine Frage: Ich nutze zwei Masterbrick-Stapel die ich über eine RS485 Master-Extension verbunden sind. Es funktioniert soweit ganz gut, allerdings werden bei einem Restart von openhab nicht alle Bricklets am „Remote“ angebunden Stapel als ONLINE angezeigt. Ich muss immer erst am Remote-Stapel die Spannung aus und wieder einschalten, dann gehen alle Brickles online. Gibt es eine Möglichkeit per Komonado ein Rescan der TF-Komponenten zu initiieren ?? Ist mal wieder viel zu lesen :-( Leider hab ich in den verschiedenen Foren nicht viel gefunden was mir helfen hätte können Grüsse Stefan Zitieren
theo Geschrieben June 10, 2019 at 20:10 Autor Geschrieben June 10, 2019 at 20:10 Hallo Stefan, vielen Dank für das ausführliche Testen. Ob des Umfangs antworte ich mal häppchenweise: Frage: Channels für eine Item-Definition mit rawbutton-toggle-switch, woher? Antwort: Ein Beispiel: das Backlight des LCD20x4 mit dem Button 0 an- und ausschalten. - Erstelle ein Switch Item mit dem Namen LCDBacklightStefan und gebe als ersten Channel die ChannelId des Backlight Channels an und als zweiten Channel ide ChannelId des buttons0 und gebe als Profile rawbutton-toggle-switch an. - die ChannelIds findest du im PaperUI: Configuration-> Things -> BrickletLCD20x4 xyz -> "Betrieb" und "Button 0" - die fertige Konfiguration sieht so aus: Switch LCDBacklightStefan {channel="tinkerforge:lcd20x4:e2ccaaf7:d4j:backlight", channel="tinkerforge:lcd20x4:e2ccaaf7:d4j:button0" [profile="rawbutton-toggle-switch"]} Hier ist ein kleiner Screencast, der den Vorgang zeigt: https://m1theo.de/ncloud/index.php/s/xBnwM98Amgsk97D Zitieren
theo Geschrieben June 10, 2019 at 20:50 Autor Geschrieben June 10, 2019 at 20:50 Schreiben eines Text auf das LCD 20x4 >> Dies hat nicht funktioniert. Stefan, du warst nahe dran, sorry für die Umstände, so sollte es funktionieren: Items: String LCD20x4Test {channel="tinkerforge:lcd20x4:e2ccaaf7:d4j:display"} Rule: rule "Test PRESSED LCD Text" when Channel "tinkerforge:lcd20x4:e2ccaaf7:d4j:button1" triggered PRESSED then LCD20x4Test.sendCommand("{0,0}Button1 pressed") end rule "Test RLEASED LCD Text" when Channel "tinkerforge:lcd20x4:e2ccaaf7:d4j:button1" triggered RELEASED then LCD20x4Test.sendCommand("{1,0}Button1 released") end Zitieren
theo Geschrieben June 10, 2019 at 20:52 Autor Geschrieben June 10, 2019 at 20:52 Ich hatte es bisher noch nie geschafft, die 3 LED's zu nutzen, weder konnte ich sie per basicui/app (Website) noch über eine Rule bedienen. Der eigentliche Bewegungs-Melder funktioniert, nur die 3 LED lassen sich nicht ansteuern. Ist leider noch nicht implementiert. Sorry. Zitieren
theo Geschrieben June 10, 2019 at 21:10 Autor Geschrieben June 10, 2019 at 21:10 Paperui / Configuration / Things / BrickletLCD128x64 keine Channel für die Backgroungbeleuchtung ! Das ist derzeit eine Konfigurationseinstellung. Wahrscheinlich sollte ich das analog zum 20x4 als Channel implementieren. Zitieren
theo Geschrieben June 10, 2019 at 21:33 Autor Geschrieben June 10, 2019 at 21:33 NFC Bricklet Test: schreiben auf ein LCD128x64 Bricklet Items: String NFCBricklet "Stefans TagId" {channel="tinkerforge:nfc:e2ccaaf7:E26:tagID"} String LCD128x64Test {channel="tinkerforge:lcd128x64:e2ccaaf7:H8Z:display"} Rule: rule "Test NFC LCD128" when Item NFCBricklet changed then LCD128x64Test.sendCommand("{1,0}" + NFCBricklet.state) end Zitieren
StefanOHAN Geschrieben June 11, 2019 at 17:44 Geschrieben June 11, 2019 at 17:44 Hallo Theo vielen danke für die schnellen Antworten. Ich muss mal schaun wie ich diese Woche (abends) das ganze nochmal angepasst testen kann. Eine Sache hat mich jetzt doch etwas erstaunt, im dem letzten Beispiel >> Schreiben der Tag-ID (String-Item) >> nutzt Du für das LCD128x64 den gleichen Befehl wie für das LCD20x4 >> sendcommad und nicht "action.writeline" Wann nutzte ich dann den writeline ? nur für statische Texte ? viele Grüsse Stefan Update Das ganze hat mir keine Ruhe gelassen und ich habe es schnell getestet. Das Schreiben auf LCD20x4 und LCD128x64 funktioniert mit einem statischen Text und mit dem Inhalt eines String-Item (meine TAG-ID). Vergesse bitte meine Frage zum zuweisen des Inhalt des TAG-ID-String-Item auf eine Variable oder einem anderen String-Item. Ich hab total verdrängt dass man eine gewisse Syntax einhalten muss. stringvariable = String_Item.state.toString so funktioniert es auch ;-) Zitieren
omiT Geschrieben June 12, 2019 at 22:09 Geschrieben June 12, 2019 at 22:09 Hallo theo (oder auch an die anderen), wie kann ich mir denn auf dem LCD20x4 Display die Werte des Temperatursensors oder z.B. die Luftfeuchtigkeit anzeigen lassen? Ich stehe gerade irgendwie auf dem Schlauch und bekomme es nicht hin. lg omiT Update: so gehts: rule "displaytemperature" when Item Tinkerforge_Temperature changed then LCD20x4.sendCommand("{1,0}Temperatur " + Tinkerforge_Temperature.state + "C" ) end Zitieren
StefanOHAN Geschrieben July 12, 2019 at 06:30 Geschrieben July 12, 2019 at 06:30 Hallo Theo, hast Du gesehen, dass es jetzt ein TF-Head für den Raspi gibt ? Es sind ein paar mehr Funktionen drin als in einem normalen Masterbrick. Meinst Du das Head wird mit dem OH-TF-Binding auch funktionieren ? Grüsse Stefan Zitieren
theo Geschrieben July 15, 2019 at 21:02 Autor Geschrieben July 15, 2019 at 21:02 Hallo Stefan, das OH-Binding spricht ja nicht direkt mit dem Stack, sondern mit dem brickd, deshalb sollte es auch mit den HAT-Bricks funktionieren (ich selbst habe keinen, kann das also nicht verifizieren). Was anderes ist es wenn man die speziellen Funktionen der HAT-Bricks verwenden will (HAT Zero Brick: getUSBVoltage und HAT Brick: sleepMode, Power und Voltages), dazu müsste das Binding erweitert werden. Was prinzipiell natürlich möglich ist. Grüße, Theo Zitieren
StefanOHAN Geschrieben July 18, 2019 at 05:56 Geschrieben July 18, 2019 at 05:56 Hallo Theo, ich werde mal das PiHat bestellen und berichten wie es sich verhält :-) Grüsse Stefan Zitieren
KlausGünther Geschrieben July 21, 2019 at 11:38 Geschrieben July 21, 2019 at 11:38 Hallo Zusammen, als bisher nur stiller leise und ein paar Tagen TF-Nutzer wäre mir an der Stelle mal wichtig, gerade THEO für die geleistete Mühe und Arbeit DANKE zu sagen!!! Grüße KlausGünther Zitieren
theo Geschrieben August 7, 2019 at 18:24 Autor Geschrieben August 7, 2019 at 18:24 Hallo KlausGünther, vielen Dank. @Stefan und was macht der PiHat? Ich bin leider immer noch lahmgelegt und hoffe, dass ich in ein paar Wochen soweit bin, dass ich weiterentwickeln kann. Fall jemand an der Entwicklung beteiligen will, PRs sind willkommen. Ein wenig Entwicklerdoku ist hier: https://github.com/theoweiss/tinkerforge-client-codegen im README.md. 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.