Jump to content

rwblinn

Members
  • Content Count

    121
  • Joined

  • Last visited

Everything posted by rwblinn

  1. Nachtrag Node-RED openhab2 nodes. Erfolgreich getestet barometer & lcd20x4 bricklet. Keine openhab2 rules oder script dateien verwendet. Dashboard mit addon nodes node-red-dashboard. lcdbaro.flow
  2. OK. Rule funktioniert. Getestet: Alternativ item update, ohne action, aber mittels sendCommand rule "System Start" when System started then // LCD backlight on // Switch TF_LCDBacklight "LCDBacklight" { channel="tinkerforge:brickletlcd20x4:rTS:BrickletLCD20x4Backlight" } TF_LCDBacklight.sendCommand("ON"); end // LCD 20x4 Display airpressure using sendCommand // Number TF_Barometer "Pressure [%.3f mBar]" { channel="tinkerforge:brickletbarometer:jXZ:BrickletBarometerAirPressure" } // String TF_LCD "LCD" { channel="tinkerforge:brickletlcd20x4:rTS:BrickletLCD20x4Text"} //
  3. Node-RED openhab nodes: wollte mal checken ob diese als alternative zu rules (DSL based on Xtend) verwendet werden können. Node-RED mit Tinkerforge MQTT funktioniert sehr gut. Rule: test Barometer & LCD20x4 /* openHAB 2 - Test & learn Tinkerforge Master Brick + Barometer & LCD20x4 Bricklets Notes: Barometer update interval is set using the PaperUi > Thing BaroBricklet > Channel Air Pressure Always check the log after changes: /var/log/openhab2/openhab.log or http://192.168.N.NNN:9001/ Define var (and not val) for variables that are reassigned: val -> value (a fixe
  4. Danke für die info. Denke der weg über die paperui ist gut, da die things auch über die paperui definiert wurden, wo auch die channels konfiguriert sind/können. Falls textuelle konfiguration für things, dann is die astro binding ein gutes beispiel wo auch parameter gesetzt werden. Nächste frage: Node-RED openhab2 nodes Können diese auch für die Tinkerforge openhab2 bindings verwendet werden? Habe Barometer Bricklet getestet=OK; LCD20x4 Bricklet=Nicht OK (liefert null) Welche syntax ist für die openhab2-out node payload zu verwenden? beispiel: LCD20x5 writeline.
  5. Newbie Frage: wie wird ein Channel Parameter for ein item definiert. Beispiel Air Pressure: Number TF_Barometer "Pressure [%.3f mBar]" { channel="tinkerforge:brickletbarometer:jXZ:BrickletBarometerAirPressure" } Parameter "Update Interval" wo definieren? Number TF_Barometer "Pressure [%.3f mBar]" { channel="tinkerforge:brickletbarometer:jXZ:BrickletBarometerAirPressure" ???} Air Pressure The measured air pressure
  6. Funktioniert = downloaded tinkerforge-2.1.28.jar (maven) , kopiert ins addon verzeichnis, brickd installiert und openhab restartet.
  7. Hallo, erhalte den gleichen fehler wie schon gemeldet: 2020-07-20 15:52:08.462 [WARN ] [org.apache.felix.fileinstall ] - Error while starting bundle: file:/usr/share/openhab2/addons/org.openhab.binding.tinkerforge-2.5.6-SNAPSHOT.jar org.osgi.framework.BundleException: Could not resolve module: org.openhab.binding.tinkerforge [133] Unresolved requirement: Import-Package: org.openhab.core.automation.annotation; resolution:="optional" Unresolved requirement: Import-Package: com.tinkerforge; version="[2.1.0,3.0.0)" Im Verzeichnis \usr\share\openhab2\addons befinden sich d
  8. Danke für die Hinweise. Habe erst mal gestoppt (bevor das HAT oder Bricklets zerstört werden!) und werde auf das ESP32 Board warten. Vielen nochmal für den Support.
  9. ACHTUNG: Tests mit Arduino UNO & MEGA gestoppt, da ohne Pegelwandler 5V -> 3.3V ausgeführt = Gefahr Bricklet Zerstörung. Siehe Post #1: Arduinos mit AVR-Mikrocontroller (z.b. der Arduino Uno und Mega) haben einen Logikpegel von 5V und brauchen deshalb einen Pegelwandler zwischen dem Arduino und dem Bricklet. Bricklets haben einen Logikpegel von 3,3V. Update: Habe das HAT Zero erhalten und gestartet mit einem Arduino MEGA und LED Blink Beispiel. Frage vorweg Wie müßen die CS Ports im ino Sketch deklariert werden. Lt Doku gibt es 5 CS pins aber 4 Ports A-D? Wiring: Chip Sele
  10. Danke für die ausführliche Infos. Werde es (erstmal) mit einem HAT Zero Brick versuchen …
  11. Danke - Post #2 mit Source angepasst. Nächster Test: Multiple Bricklets an einem Arduino MEGA & NodeMCU. Fragen dazu (bin kein Elektroniker): Welchen "tri-state buffer chip" wird empfohlen (muß ich bestellen, zB 74HC125)? Erbitte Wiring Beispiel(e) für 2-3 Bricklets? Können an einem Breakout (v1) mehrere Bricklets angeschlossen werden? Wie werden die Ports für die einzelnen Bricklets deklariert? Macht es Sinn bei der Port deklaration auch die Bricklet UID zu definieren?
  12. Funktioniert. Klasse! Danke. Logik angepasst = nur jeweils einmal drücken um LED ON oder OFF zu setzen. Im Anhang die letzte Version. PS: Im Anhang noch ein ino Beispiel wo keine externe Deklarationen verwendet werden = "alles in einem" - wollte mal checken ob direkt aus der ino, Tinkerforge Funktionen aufgerufen werden können. io4ledserial.ino io4ledbtn.c
  13. Im Buttonbeispiel, die Loop geändert: void io4ledbtn_loop(TF_HalContext *hal) { tf_io4_v2_callback_tick(&io, 250); // tf_io4_v2_get_value(&io, io_ret_value); // Handle button pressed to set the led state on or off. // The values button_pressed and led_state are set in the button callback io4ledbtn_cb_input_value() if (button_pressed == true){ tf_hal_log_info("LED state set to %s", led_state ? "true" : "false"); tf_io4_v2_set_selected_value(&io, 0, led_state); } } Die Bedingung wird ausgeführt, aber nicht die Function tf_io4_v2_set_selected_value(). Habe verschiede
  14. Danke für die weiteren Infos. Fragen dazu: Die 5V werden dann anscheinend nicht benötigt da die Bricklets mit 3V3 auskommen? Habe die 5V Leitung zum Breakout weggelassen (nur 3V3) und die Tests funktionieren, sowohl bei einem Arduino UNO und ESP-Wroom-32. Das mit dem Callbacks habe ich nicht verstanden. Erbitte Beispiel, wo ein Input Signal verarbeitet wird. In meinem Button Beispiel, setzt der Callback nur einen Flag der in der Loop verarbeitet wird.
  15. Danke für die Bindings = sehr gut. ACHTUNG: Tests mit Arduino UNO & MEGA gestoppt, da ohne Pegelwandler 5V -> 3.3V ausgeführt = Gefahr Bricklet Zerstörung. Siehe Post #1: Arduinos mit AVR-Mikrocontroller (z.b. der Arduino Uno und Mega) haben einen Logikpegel von 5V und brauchen deshalb einen Pegelwandler zwischen dem Arduino und dem Bricklet. Bricklets haben einen Logikpegel von 3,3V. Aufbau Arduino UNO <-> Tinkerforge Breakout Bricklet V1 <-> Tinkerforge IO4 Bricklet V2 <-> LED & Push-Button. Tests LED 10x blinken (io4led) P
  16. Confirmed working ok. Tested various RPi. Thanks a lot for your help. Appreciated.
  17. Tested = same error - running Python 2.7.16 (default, Oct 10 2019, 22:02:15) [GCC 8.3.0] on linux2 on a Raspberry Pi 3B+ (Buster) 2020-05-11 12:30:39,165 <DEBUG> MQTT bindings: Calling function write_line for device rTS of type lcd_20x4_bricklet. 2020-05-11 12:30:39,167 <ERROR> MQTT bindings: argument for 's' must be a string (call of write_line of lcd_20x4_bricklet rTS) 2020-05-11 12:30:39,169 <DEBUG> MQTT bindings: Calling function write_line for device rTS of type lcd_20x4_bricklet succedded. 2020-05-11 12:30:39,170 <DEBUG> MQTT bindings: Publishing response
  18. Thanks for the update. 1/ Confirmed get_identity working. tinkerforge/request/lcd_20x4_bricklet/rTS/get_identity (null) tinkerforge/response/lcd_20x4_bricklet/rTS/get_identity {"connected_uid": "5VGrDJ", "uid": "rTS", "device_identifier": "lcd_20x4_bricklet", "hardware_version": [1, 2, 0], "position": "b", "firmware_version": [2, 0, 6], "_display_name": "LCD 20x4 Bricklet"} 2/ Write_line not working. Does this happen every time you attempt to call write_line? YES, tried on two different RPi's running latest bindings or only in specific cases? NO Did you call any
  19. Environment: Raspberry Pi (Raspian Buster), Python 2.7.16, MQTT Bindings 2.0.9 Issue: Publishing sample text is not displayed: mosquitto_pub -t tinkerforge/request/lcd_20x4_bricklet/rTS/write_line -m '{"line": 0, "position": 0, "text":"TEST"}' Ran Tinkerforge_mqtt with debug flag - shows an error 2020-05-08 18:42:57,560 <DEBUG> MQTT bindings: Calling function write_line for device rTS of type lcd_20x4_bricklet. 2020-05-08 18:42:57,562 <ERROR> MQTT bindings: argument for 's' must be a string (call of write_line of lcd_20x4_bricklet rTS) 2020-05-08 18:42:57,563
  20. [SOLVED] Rebooted the Raspberry Pi and the MQTT Bindings are working ok. Tested from the CLI and also using Node-RED flow. Thanks for help anyhow.
  21. Please find the output of running the bindings with parameter --debug. Changed the period to 5000. 2020-01-24 10:10:29,786 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m582), 'b'tinnse/air_quality_bricklet/Jvj/get_all_values_callback_configuration'', ... (46 bytes) 2020-01-24 10:10:48,678 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m586), 'b'tinkerforge/callback/air_quality_bricklet/Jvj/all_values'', ... (109 bytes) 2020-01-24 10:10:53,637 <DEBUG> paho.mqtt.client: Sending PUBLISH (d0, q0, r0, m587), 'b'tinkerforge/callback/air_quality_bricklet/J
  22. Hi, tried to setup an Air Quality Bricklet for MQTT Callback with a Raspberry Pi 4 running mosquito and the Tinkerforge MQTT Binding 2.0.6. The Brick Viewer shows all data; An MQTT request provides also the data (see below …/get_all_values request with response), but with MQTT callback no response. Question: what is wrong in below configuration? pi@4dev:~ $ mosquitto_pub -t tinkerforge/request/air_quality_bricklet/Jvj/set_all_values_callback_configuration -m '{"period": 100, "value_has_to_change":false}' pi@4dev:~ $ mosquitto_pub -t tinkerforge/register/air_quality_b
  23. OK = thanks for the update. Tested successfully: lcd.writeLine((short)0, (short)0, "Battery: " + "\u0008");
  24. Just a suggestion for a small change regarding writing a custom character with Java. Test Java Snippet // Custom Char battery assigned to index 0 (from max 7) short[] battery = new short[]{14,27,17,17,17,17,17,31}; lcd.setCustomCharacter((short)0, battery); // Display the custom char with some text lcd.writeLine((short)0, (short)0, "Battery: " + (char)0x08); Suggestion Java documentation: For section void BrickletLCD20x4.setCustomCharacter(short index, short[] character) change the line: The characters can later be written with writeLine() by using the characters with
  25. Got it - overlooked the documentation "A value of 0 turns the callback off." = got mis leaded by the default value 0 (period – Type: int, Unit: 1 ms, Range: [0 to 232 - 1], Default: 0). After changing, its working fine. Thanks for the swift help.
×
×
  • Create New...