Waldmeisda Geschrieben February 27, 2016 at 12:34 Geschrieben February 27, 2016 at 12:34 Moin, Ich habe ja nun auch schon eine ganze Weile ein RED rumliegen und wollte mich nun dranmachen mein openhab von einer INTEL NUC auf den red zu moven. Ich benutze hauptsächlich das KNX Binding für Licht, Rollos usw. Am Red gefällt mir die POE Geschichte btw die Möglichkeit ein paar Temperatur Sensoren noch zu betreiben. Wie sieht es nun mit den Ressourcen aus? Läuft openhab als Java VM einigermaßen stabil und zuverlässig? Gerade viele schreibzugriffe auf die SDcard sehe ich kritisch (rrdtool, Logs usw) Zitieren
BOBmoraine Geschrieben March 6, 2016 at 10:08 Geschrieben March 6, 2016 at 10:08 Moin, ja viele Schreibzugriffe auf die SD-Karte sind Kritisch zu sehen, aber warum möchtest du den Server von NUC auf RED umziehen lassen? Der NUC kann ja weiterhin der "Server" sein, und der RED nur die Schnittstelle zur Tinkerforge-Welt. Und mit der Stabilität von RED & RPi hatte ich bisher keine Probleme, meisst war ich selbst (oder eher meine Programme) das Problem. -->CUT--------------------------------------------------------------------------- Zu der Antwort habe ich aber noch ein weiteres Problem, und zwar eines mit dem Binding vom Segment Display 4x7 Bricklet: ITEMs: Number UhrzeitAsNumber "Uhrzeit [%f]" <clock> (UG_Flur) Number TF_Segment7 "Segment7" (TF_Cube) {tinkerforge="uid=PPP" } RULEs: var Number time_hour var Number time_minute //Die beiden Variablen werden in einer Regel als "cron" dann mit Werten belegt rule "Zeit in Variablen" when Time cron "30 * * * * ?" then time_hour = current_time.get(java::util::Calendar::HOUR_OF_DAY) time_minute = current_time.get(java::util::Calendar::MINUTE) var timeUpdate = (time_hour * 100) + time_minute postUpdate(UhrzeitAsNumber, timeUpdate) end /* Ausgabe */ rule "UhrzeitAsNumber in TF_Segment7" when Item UhrzeitAsNumber received update then sendCommand(TF_Segment7, UhrzeitAsNumber.state as DecimalType) end Bei folgendem Aufbau habe ich das Problem das die Minutenzahl im Segment7-Bricklet immer 2 mehr anzeigt als die Variable "UhrzeitAsNumber" gerade beinhaltet. Wenn die Zeit nun momentan "1040" wäre, zeigt das Segment7 nun aber leider "1042" an. Kann das jemand nachvollziehen und mir evtl. einen Hinweis geben wo der Fehler liegt? Zitieren
luggyluke Geschrieben May 4, 2016 at 08:06 Geschrieben May 4, 2016 at 08:06 Hey, Hier mal mein erster Beitrag, habe mir tie tage Tinkerforge und openhab zugelegt. Leider scheint die openhab.cfg keine configs für die subids des IO-4 zu übernehmen. Soweit ich das aus dem Log lesen kann, werden alle subids (in und out) automatisch eingelesen, jedoch ist eine weitere Einstellung (Pull up und co) nicht möglich. Das heißt ich muss momentan im Brickv die Ports auf Output stellen, ansonsten schickt openhab zwar ON/OFF aber diese werden vom Bricklet nicht umgesetzt. Habe schon versucht es mit einem externen skript zu lösen, leider erfolglos (bin wie gesagt erst kurz bei Openhab). Könnt ihr mir helfen? LG Lukas Zitieren
werners7 Geschrieben May 4, 2016 at 18:30 Geschrieben May 4, 2016 at 18:30 Hi, ich würde gerne wissen ob eine openhab Integration für das Thermocouple Bricklet geplant ist? LG Werner Zitieren
theo Geschrieben May 4, 2016 at 20:34 Autor Geschrieben May 4, 2016 at 20:34 Hallo Werner, Thermocouple Bricklet ist geplant. Ich hoffe ich komme über die Pfingstferien dazu. Gruß, Theo Zitieren
theo Geschrieben May 4, 2016 at 20:35 Autor Geschrieben May 4, 2016 at 20:35 Hallo Lukas, kannst du deine Konfigurationsdateien und den Log hier posten. Gruß, Theo Zitieren
luggyluke Geschrieben May 6, 2016 at 18:46 Geschrieben May 6, 2016 at 18:46 hey Theo, is ja cool das du so schnell geantwortet hast, bin leider erst am Sonntag wieder an dem Rechner. bzgl. der cfg, also wenn ich nichts für die subids einstelle scheint es alle (in und out) zu erkennen, und wenn ich das dann manuell im brickv mach kann ich die Ausgänge auch schalten. Werde aber am Sonntag ne cfg und log posten wenn ich versuch einen Ausgang zu konfigurieren, dann wirds nämlich spannend. Soweit ich das noch im kopf hab definiert er erst alle eingänge und sagt dann z.B. out2 is already configured as in2. get your config file in order! (oder so was in der art) und falls ich einen Eingang definiere und z.b. Pull-up einstelle, ließt er das zwar, aber initialisiert doch alle als "Default". Hoffe das ist wenigstens ein bisschen nachvollziehbar :-) Lg Lukas Zitieren
luggyluke Geschrieben May 9, 2016 at 06:20 Geschrieben May 9, 2016 at 06:20 also hier mal meine testcfg mit eingestelltem eingang und pullup, welcher eben nicht eingestellt wird. ############################## Tinkerforge Binding ################################### # # IP addresses / Hostnames of the hosts running the brickd (optional port # separated by a colon, defaults to 4223) tinkerforge:hosts=127.0.0.1 ###########tinkerforge:refresh=1000 tinkerforge:temperature.uid=tf7 tinkerforge:temperature.type=bricklet_temperature tinkerforge:temperature.slowI2C=False tinkerforge:ainv2.uid=vgh tinkerforge:ainv2.type=bricklet_analoginv2 tinkerforge:ainv2.movingAverage=50 tinkerforge:ainv2.callbackPeriod=500 tinkerforge:ainv2.threshold=10 tinkerforge:io4.uid=h2t tinkerforge:io4.type=bricklet_io4 tinkerforge:io4.debouncePeriod=200 tinkerforge:io0.uid=h2t tinkerforge:io0.type=io4sensor tinkerforge:io0.subid=in3 tinkerforge:io0.defaultState=true anbei auch der log, hoffe man kann daraus schlau werden :-) openhab.log Zitieren
theo Geschrieben May 19, 2016 at 16:53 Autor Geschrieben May 19, 2016 at 16:53 Hallo Lukas, nimm diese Zeile raus: tinkerforge:io0.defaultState=true . Diese ist der Grund dafür das nichts an den GPIOs eingestellt wird. Zum pullUp setzen verwendest du: tinkerforge:io0.pullUpResistorEnabled=true Doku findest du hier (die für IO16 ist im wesentlichen identisch mit der für IO4, die leider fehlt). https://github.com/openhab/openhab/wiki/Tinkerforge-Binding#io-16-bricklet Gruß, Theo Zitieren
luggyluke Geschrieben May 21, 2016 at 18:12 Geschrieben May 21, 2016 at 18:12 Hey Theo, werde das nächste woche mal testen, aber wie stelle ich die Ausgänge als Ausgänge ein? wie gesagt werden bei mir immer erst alle Eingänge eingestellt. Liebe grüße, Lukas Zitieren
theo Geschrieben May 24, 2016 at 20:19 Autor Geschrieben May 24, 2016 at 20:19 Hey Lukas, die Pins werden zu Ausgängen in dem du sie als type=io4_actuator konfigurierst. Herzlichen Gruß, Theo Zitieren
luggyluke Geschrieben May 25, 2016 at 06:07 Geschrieben May 25, 2016 at 06:07 Hey Theo, also hier meine aktuelle config ############################## Tinkerforge Binding ################################### # # IP addresses / Hostnames of the hosts running the brickd (optional port # separated by a colon, defaults to 4223) tinkerforge:hosts=127.0.0.1 ###########tinkerforge:refresh=1000 tinkerforge:temperature.uid=tf7 tinkerforge:temperature.type=bricklet_temperature tinkerforge:temperature.slowI2C=False tinkerforge:ainv2.uid=vgh tinkerforge:ainv2.type=bricklet_analoginv2 tinkerforge:ainv2.movingAverage=50 tinkerforge:ainv2.callbackPeriod=500 tinkerforge:ainv2.threshold=10 tinkerforge:io4.uid=h2t tinkerforge:io4.type=bricklet_io4 tinkerforge:io4.debouncePeriod=200 tinkerforge:io0.uid=h2t tinkerforge:io0.type=io4_actuator tinkerforge:io0.subid=out0 tinkerforge:io1.uid=h2t tinkerforge:io1.type=io4sensor tinkerforge:io1.subid=in1 tinkerforge:io1.pullUpResistorEnabled=true leider ist das problem immer noch da, habe auch nochmal einen Ausschnitt der log datei angehängt. Interessant eben ab ca 07:59:06.454, hier sieht man, dass erst die in0-4 erstellt werden, leider immernoch ohne pullup laut Brickv. LG Lukas Edit: Korregiere, das mit dem Pullup funktioniert, man muss nur Brickv einmal neu starten. Sehr schön! log-25-05-2016.txt Zitieren
theo Geschrieben May 27, 2016 at 20:10 Autor Geschrieben May 27, 2016 at 20:10 Sehr gut, dann hat sich das soweit erledigt. Zitieren
luggyluke Geschrieben May 27, 2016 at 20:48 Geschrieben May 27, 2016 at 20:48 Nein, leider eben nicht. Ich kann mit Openhab immernoch keine Ausgänge setzen! siehe meine letzten drei posts. Ich versuche das Problem nochmal zu beschreiben: Ich möchte mit openhab einen Ausgang auf High setzen. Leider lädt openhab die Out0-3 zwar (standardmäßig) aber im Brick sind trotzdem alle ports auf Eingang gestellt, daher funktioniert auch der Pull-up. Wenn ich nun aber manuell z.B. Port 1 auf Out einstelle (im Brickv), kann ich Out1 über Openhab auf High/low setzen. Nur resettet sich ja das ganze bei neustart des Bricks, und openhab sagt mir nichtmal ob es tatsächlich geht oder nicht. Ich hoffe das hat mein Problem etwas verständlicher gemacht. (hier nochmal meine Idee zum Problem: Openhab lädt automatisch alle In0-3 und Out0-3 für gegebenes Bricklet, da nun aber schon der Port als In0 definiert ist, kann ich ihm keine Einstellungen für Out0 übergeben.) Lg Lukas Zitieren
theo Geschrieben May 28, 2016 at 12:04 Autor Geschrieben May 28, 2016 at 12:04 Da stimmt scheinbar was mit deiner Konfiguration nicht. Siehe: 07:59:06.486 [ERROR] [.t.internal.TinkerforgeBinding:306 ] - CONFIG ignoring duplicate device uid: h2t, subId out0, genericId {}. Fix your openhab.cfg! Kannst du deinen Setup bitte auf das IO4 eindampfen, d.h. alle anderen Bricklets vom Stack trennenin der openhab.cfg nur das IO4 Bricklet konfigurierensicherstellen, dass in der openhab_default.cfg keine Tinkerforge-Konfiguration istnur das Tinkerforge Binding aktivierenRules entfernenPersitence am besten auchitems und sitemap Konfiguration entsprechend anpassen Dann noch einmal die Konfiguration und einen Log-Mitschnitt hier posten. Zitieren
luggyluke Geschrieben May 30, 2016 at 06:23 Geschrieben May 30, 2016 at 06:23 hey theo, leider unverändert. config ist jetzt nur noch ############################## Tinkerforge Binding ################################### # # IP addresses / Hostnames of the hosts running the brickd (optional port # separated by a colon, defaults to 4223) tinkerforge:hosts=127.0.0.1 ###########tinkerforge:refresh=1000 #tinkerforge:temperature.uid=tf7 #tinkerforge:temperature.type=bricklet_temperature #tinkerforge:temperature.slowI2C=False #tinkerforge:amblight.uid=yg5 #tinkerforge:amblight.type=bricklet_ambient_lightv2 #tinkerforge:amblight.callbackPeriod=1000 #tinkerforge:amblight.threshold=10 #tinkerforge:ainv2.uid=vgh #tinkerforge:ainv2.type=bricklet_analoginv2 #tinkerforge:ainv2.movingAverage=50 #tinkerforge:ainv2.callbackPeriod=500 #tinkerforge:ainv2.threshold=10 tinkerforge:io4.uid=h2t tinkerforge:io4.type=bricklet_io4 tinkerforge:io4.debouncePeriod=200 tinkerforge:io0.uid=h2t tinkerforge:io0.type=io4_actuator tinkerforge:io0.subid=out0 tinkerforge:io1.uid=h2t tinkerforge:io1.type=io4sensor tinkerforge:io1.subid=in1 tinkerforge:io1.pullUpResistorEnabled=true Log wie immer im anhang ^^. Ich vermute immernoch eine Fehlerhafte standard initialisierung des Bindings :-). LG Lukaslog-30-05-2016.txt Zitieren
theo Geschrieben May 30, 2016 at 20:11 Autor Geschrieben May 30, 2016 at 20:11 Hey Lukas, ich hab's jetzt durchprobiert (musste erst die verbogenen Pins an meinem IO4 reparieren) und den Fehler gefunden. Ein gefixtes Binding findest du hier: https://bintray.com/theoweiss/generic/download_file?file_path=1.9%2Fio4%2F1%2Forg.openhab.binding.tinkerforge-1.9.0-SNAPSHOT.jar Kannst du damit nochmal testen? Was die Konfiguration betrifft habe ich Unsinn geschrieben, mit io0.defaultState=true setzt du den Ausgang beim Initialisieren auf High. Ich habe mit folgender Konfiguration getestet: io4.uid=h56 io4.type=bricklet_io4 io4.debouncePeriod=200 io0.uid=h56 io0.type=io4_actuator io0.subid=out0 io0.defaultState=true io1.uid=h56 io1.type=io4sensor io1.subid=in1 io1.pullUpResistorEnabled=true Viele Grüße, Theo Zitieren
luggyluke Geschrieben May 31, 2016 at 07:35 Geschrieben May 31, 2016 at 07:35 Hey theo, JUHUUUUU es funktioniert! VIELEN DANK!!! Du machst hier echt tolle Arbeit! jetzt muss ich nie wieder blumen gießen ;-). Liebe Grüße, Lukas Zitieren
theo Geschrieben May 31, 2016 at 20:30 Autor Geschrieben May 31, 2016 at 20:30 Hi Lukas, sehr gut! Danke fürs Testen und Probieren. Viele Grüße, Theo Zitieren
theo Geschrieben June 5, 2016 at 21:01 Autor Geschrieben June 5, 2016 at 21:01 Es gibt neue Bricklets mit openhab-Unterstützung als Snapshot: CO2ThermocoupleUV Lightoled128x64 Previewoled64x48 Preview Das Binding könnt ihr hier downloaden: https://bintray.com/theoweiss/generic/download_file?file_path=co2etal%2Forg.openhab.binding.tinkerforge-1.9.0-SNAPSHOT.jar Konfigurationsbeispiele gibt es hier (die offizielle Doku folgt, sobald das binding released wird) : * für openhab 1: https://github.com/theoweiss/openhab-tinkerforge-configuration-examples * fuer openhab 2: https://github.com/theoweiss/openhab2-tinkerforge-configuration-examples CO2 und UV-Light haben nur die übliche Callback und Threshold konfiguration (optional) für das Thermocouple gibt es zusätzlich noch die folgenden Einstellungsmöglichkeiten: averaging: 1, 2, 4, 8, 16 thermocoupleType: "B", "E", "J", "K", "N", "R", "S", "T", "G8", "G32"filter: "50", "60" Die Oleds unterstützen im Moment das Schreiben von Text mit dem integrierten Font. Die Bedienung sieht genauso aus wie die des LCD-Bricklets. In Arbeit ist die Unterstützung des Zeichnens von Linien, Rechtecken und Kreisen. Beispielkonfiguration für openhab2 findet ihr hier: https://github.com/theoweiss/openhab2-tinkerforge-configuration-examples/tree/master/weatherstation-plus-oled-action Das Ganze läßt sich aber auch mit openhab 1 machen. Als nächstes bin ich am Stepper Brick dran. Viele Grüße, Theo Zitieren
theo Geschrieben June 7, 2016 at 21:07 Autor Geschrieben June 7, 2016 at 21:07 Ich habe ganz vergessen: über Rückmeldungen jedweder Art freue ich mich. Ob Bugreports, Verbesserungsvorschläge, Feature Requests oder einfach nur "bei mir hat es funktioniert" alles ist willkommen. Zitieren
Martin Geschrieben June 18, 2016 at 20:56 Geschrieben June 18, 2016 at 20:56 Hallo, betreibt jemand (erfolgreich) ein DistanceUS Bricklet (https://www.tinkerforge.com/en/shop/bricklets/distance-us-bricklet.html) mit OpenHAB (vgl. https://github.com/openhab/openhab/wiki/Tinkerforge-Binding#distance-us-bricklet)? Nachdem hier schon einige Bricklets (Wetterstation&TemperatureIR) erfolgreich über eine Ethernet(POE)-MasterExtension in OpenHAB 1.8.3 eingebunden sind, wollte ich nun über eine weitere IP Adressen noch ein DistanceUS, Moisture und HallEffect Bricklet einbinden. Leider findet sich für das DistanceUS bei jedem Update nun ein Fehler in der Log-Datei, wie z.B.: 2016-06-18 21:44:19.660 [ERROR] [.service.AbstractActiveService] - Error while executing background thread Tinkerforge Refresh Service java.lang.NullPointerException: null at org.openhab.binding.tinkerforge.internal.model.impl.MBrickletDistanceUSImpl.fetchSensorValue(MBrickletDistanceUSImpl.java:844) ~[na:na] at org.openhab.binding.tinkerforge.internal.TinkerforgeBinding.updateItemValues(TinkerforgeBinding.java:645) ~[na:na] at org.openhab.binding.tinkerforge.internal.TinkerforgeBinding.execute(TinkerforgeBinding.java:608) ~[na:na] at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:156) ~[na:na] at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173) ~[na:na] Die Fehlermeldung ist der unter https://groups.google.com/forum/#!topic/openhab/2djA06ICYYc beschiebenen recht ähnlich. Vor der Suche nach dem/den Konfigurationsfehler(n) wäre es schön zu erfahren, ob das DistanceUS Bricklet schon einmal erfolgreich mit OpenHAB betrieben wurde... Danke, Martin Zitieren
theo Geschrieben June 18, 2016 at 21:38 Autor Geschrieben June 18, 2016 at 21:38 Hallo Martin, kannst du deinen Setup nochmal mit dem Snapshot hier testen: https://bintray.com/theoweiss/generic/download_file?file_path=co2etal%2Forg.openhab.binding.tinkerforge-1.9.0-SNAPSHOT.jar und den Fehler aus der Log-Datei schicken? Dann habe ich Zeilennummern im Log, die aktuell sind. Vielen Dank. Gruß, Theo Zitieren
Martin Geschrieben June 19, 2016 at 22:35 Geschrieben June 19, 2016 at 22:35 Hallo Theo, musste am Wochenende arbeiten und sehe die Email leider erst jetzt... Mit dem gerade heruntergeladenen org.openhab.binding.tinkerforge-1.9.0-SNAPSHOT.jar erhalte ich nun 2016-06-20 00:19:36.595 [ERROR] [.service.AbstractActiveService] - Error while executing background thread Tinkerforge Refresh Service java.lang.NullPointerException: null at org.openhab.binding.tinkerforge.internal.model.impl.MBrickletDistanceUSImpl.fetchSensorValue(MBrickletDistanceUSImpl.java:949) ~[na:na] at org.openhab.binding.tinkerforge.internal.TinkerforgeBinding.updateItemValues(TinkerforgeBinding.java:625) ~[na:na] at org.openhab.binding.tinkerforge.internal.TinkerforgeBinding.execute(TinkerforgeBinding.java:589) ~[na:na] at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:156) ~[na:na] at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:173) ~[na:na] Es sind anscheinend 105 Zeilen hinzugekommen... Ich hoffe, das hilft Dir weiter. Danke und gute Nacht, Martin Zitieren
theo Geschrieben June 20, 2016 at 19:26 Autor Geschrieben June 20, 2016 at 19:26 Hallo Martin, ich denke ich habe den Fehler. Da ist ein Code-Block eine Klammer zu tief gelandet, so dass das Bricklet nur initialisiert wird, wenn Konfiguration (die in diesem Fall eigentlich optional ist) dafür hinterlegt ist. Auf die Schnelle kannst du testen ob es funktioniert, wenn du z.B. die CallbackPeriod oder den Threshold oder den movingAverage-Wert in der openhab.cfg setzt. Ein gefixte Version werde ich auch bauen und dann Bescheid geben. 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.