Jump to content

riro

Members
  • Gesamte Inhalte

    17
  • Benutzer seit

  • Letzter Besuch

Letzte Besucher des Profils

Der "Letzte Profil-Besucher"-Block ist deaktiviert und wird anderen Benutzern nicht angezeit.

riro's Achievements

Newbie

Newbie (1/14)

  • Collaborator Rare
  • First Post
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

0

Reputation in der Community

  1. zum Thema "aktuelles OpenHAB 3 Binding" So ein Binding ist natürlich was Feines ... leicht einzurichten, viele Informationen (z.B. SensorLastUpdate usw.) usw. Aber ich denke, mit einem GUT DOKUMENTIERTEN MQTT Binding von der Tinkerforge Seite käme man genauso weit. Auch würden dann damit auch andere (Smarthome-) Systeme klar kommen. Das ist einfach universeller. Ich selbst habe schon unzählige Stunden mit Try&Error wegen schwacher Dokumentation, Konversion von shell und Regex System auf MQTT mit Jsonpath Transformation und dann zum OpenHAB2 Binding und jetzt mit OpenHAB3 wieder zum MQTT System verbracht. Das nervt tierisch und ich war auch schon kurz davor mich von Tinkerforge abzuwenden. (Als dann noch die Sache mit der Wallbox aufkam, dachte ich schon, das war es jetzt ...) Ein Traum wäre es, die Wetterstation und die Sensoren (Outdoor Weather Bricklet) würden direkt verwendbare Werte (Luftdruck in mBar, Regenmenge in mm, Temperatur in C) als MQTT Payload senden. Das spart eine spätere Transformation der Werte. Eventuell sogar eigene Topics pro Wert. Schön macht das das zigbee2mqtt System, da kann man per Config einstellen, wie der Payload (raw, json) aussieht. (Wie gut und standardisiert diese Homie Autodetect Funktion ist, weiss ich nicht). Sind wir dann nicht schon ganz nah an der Funktionnalität eines Bindings? Traum2: dazu noch Beispiele für Openhab (wobei da gerade das Problem ist, welche Sprache für Rules verwendet werden), wie ein Item mit "LastSensorUpdate" oder "SensorOnOFFline) realisiert werden kann. Ist das nicht weniger Aufwand und spricht gleichzeitig mehr Systeme (aus der Sicht von Tinkerforge: mehr Kunden!) an? Ich bin mir sicher, eine gute Dokumentation, ein breit aktzeptierter Standard (MQTT) wird von Kunden schnell wahrgenommen und führt auch zu Kaufentscheidungen. Nicht ist schlimmer, als irgendwelche Hardware die nur kryptisch zu bedienen ist und auch noch nach wenigen Jahren wegen fehlendem Support oder auslaufenden Updates nur noch ausrangiert werden kann. Das ist der Weg ...
  2. Hallo Stefan, vielen Dank für die phantastische Anleitung! Habe das so umgesetzt: // .items für das TF OutdoorWeatherBricklet via Tinkerforge2.0 Binding String TF_OutdoorWeather_SensorID "TF OutdoorWeather: Sensor ID [%s]" {channel="tinkerforge:brickletoutdoorweather:xyz:BrickletOutdoorWeatherSensorIdentifiers"} Number:Temperature TF_OutdoorWeatherSensorTemperature "Temperatur Balkon [%.1f °C]" <temperature> {channel="tinkerforge:outdoorweathersensor:a40752e8:OutdoorWeatherSensorTemperature"} Number:Dimensionless TF_OutdoorWeatherSensorHumidity "Luftfeuchte Balkon [%.0f %%]" <humidity> {channel="tinkerforge:outdoorweathersensor:a40752e8:OutdoorWeatherSensorHumidity"} DateTime TF_OutdoorWeatherSensorLastChange "Letzte Meldung FunkSensor [%1$tA, %1$td.%1$tm.%1$tY %1$tT]" <date> {channel="tinkerforge:outdoorweathersensor:a40752e8:OutdoorWeatherSensorLastChange"} String TF_OutdoorWeather_StationID "TF OutdoorWeather: Stations ID [%s]" {channel="tinkerforge:brickletoutdoorweather:xyz:BrickletOutdoorWeatherStationIdentifiers"} Number:Temperature TF_OutdoorWeatherStationWS6147OutdoorWeatherStationTemperature "Temperatur Hof [%.1f °C]" <temperature> {channel="tinkerforge:outdoorweatherstation:8fa165af:OutdoorWeatherStationTemperature"} Number:Dimensionless TF_OutdoorWeatherStationWS6147OutdoorWeatherStationHumidity "Luftfeuchte Hof [%.0f %%]" <humidity> {channel="tinkerforge:outdoorweatherstation:8fa165af:OutdoorWeatherStationHumidity"} Number:Speed TF_OutdoorWeatherStationWS6147OutdoorWeatherStationWindSpeed "Windgeschwindigkeit" <wind> {channel="tinkerforge:outdoorweatherstation:8fa165af:OutdoorWeatherStationWindSpeed"} Number:Speed TF_OutdoorWeatherStationWS6147OutdoorWeatherStationGustSpeed "Windböengeschwindigkeit" <wind> {channel="tinkerforge:outdoorweatherstation:8fa165af:OutdoorWeatherStationGustSpeed"} String TF_OutdoorWeatherStationWS6147OutdoorWeatherStationWindDirection "Windrichtung" <wind> {channel="tinkerforge:outdoorweatherstation:8fa165af:OutdoorWeatherStationWindDirection"} Number:Length TF_OutdoorWeatherStationWS6147OutdoorWeatherStationRainFall "Niederschlag [%.1f]" <rain> {channel="tinkerforge:outdoorweatherstation:8fa165af:OutdoorWeatherStationRainFall"} Number:Dimensionless TF_OutdoorWeatherStationWS6147OutdoorWeatherStationRainFall_test "Niederschlag 1/10 mm [%s]" {channel="tinkerforge:outdoorweatherstation:8fa165af:OutdoorWeatherStationRainFall"} Switch TF_OutdoorWeatherStationWS6147OutdoorWeatherStationBatteryLow "Batterie Wetterstation ist leer" <lowbattery> {channel="tinkerforge:outdoorweatherstation:8fa165af:OutdoorWeatherStationBatteryLow"} DateTime TF_OutdoorWeatherStationWS6147OutdoorWeatherStationLastChange "Letzte Meldung FunkStation [%1$td.%1$tm.%1$tY %1$tH:%1$tM:%1$tS]" <date> {channel="tinkerforge:outdoorweatherstation:8fa165af:OutdoorWeatherStationLastChange"} und die passende Sitemap: Frame label="Tinkerforge OutdoorWeatherStation und Sensor" { // Paper UI: Autodetect von Bricklets // Sensor und Station via Brick Viewer ermitteln oder per OH und String Item anzeigen lassen // via PaperUI: Manually add Thing, als Bridge OutdoorWeatherBricklet wählen, Sensor oder StationID eintragen // Damit ist ein Thing angelegt. Daraus Items erzeugen und eine Sitemap anpassen Default item=TF_OutdoorWeather_SensorID Default item=TF_OutdoorWeatherSensorTemperature valuecolor=[TF_OutdoorWeatherSensorLastChange=="NULL"="lightgray", TF_OutdoorWeatherSensorLastChange>90="lightgray", >=25="red", >=15="orange", >=10="green", 0="silver", <0="purple", <10="blue"] Default item=TF_OutdoorWeatherSensorHumidity Text item=TF_OutdoorWeatherSensorLastChange valuecolor=[TF_OutdoorWeatherSensorLastChange>120="orange", TF_OutdoorWeatherSensorLastChange>300="red"] //visibility=[TF_OutdoorWeatherSensorLastChange>30] Default item=TF_OutdoorWeather_StationID Default item=TF_OutdoorWeatherStationWS6147OutdoorWeatherStationTemperature valuecolor=[TF_OutdoorWeatherStationWS6147OutdoorWeatherStationLastChange=="NULL"="lightgray", TF_OutdoorWeatherStationWS6147OutdoorWeatherStationLastChange>90="lightgray", >=25="red", >=15="orange", >=10="green", 0="silver", <0="purple", <10="blue"] Default item=TF_OutdoorWeatherStationWS6147OutdoorWeatherStationHumidity Default item=TF_OutdoorWeatherStationWS6147OutdoorWeatherStationRainFall label="Niederschlag [%.1f mm]" //Automatische Konvertierung m in mm via UOM, Achtung 1/10 mm? Default item=TF_OutdoorWeatherStationWS6147OutdoorWeatherStationRainFall_test label="Niederschlag [%s]" Default item=TF_OutdoorWeatherStationWS6147OutdoorWeatherStationWindSpeed Default item=TF_OutdoorWeatherStationWS6147OutdoorWeatherStationGustSpeed Default item=TF_OutdoorWeatherStationWS6147OutdoorWeatherStationWindDirection Default item=TF_OutdoorWeatherStationWS6147OutdoorWeatherStationLastChange valuecolor=[TF_OutdoorWeatherStationWS6147OutdoorWeatherStationLastChange>120="orange", TF_OutdoorWeatherStationWS6147OutdoorWeatherStationLastChange>300="red"] //visibility=[TF_OutdoorWeatherStationWS6147OutdoorWeatherStationLastChange>30] Default item=TF_OutdoorWeatherStationWS6147OutdoorWeatherStationBatteryLow } Die Regenmenge und die Geschwindigkeiten müssen noch passend umgerechnet werden. Z.B. wird die Regenmenge laut Doku (https://www.tinkerforge.com/de/doc/Software/Bricklets/OutdoorWeather_Bricklet_Java.html) in 1/10 mm ausgegeben. Das bekommt OpenHAB natürlich nicht mit. Leider braucht man dafür wieder eine Rule oder JS Function ... wenn das das Binding selbstständig machen würde. 😉 Bisher habe ich die Wetterstation (oder alle Tinkerforge Sensoren) per MQTT angebunden. Die Werte umformatieren sowie die Werte umrechnen ist sehr aufwendig. Das liegt aber an meiner fehlenden Erfahrung und der sehr "lockeren" Doku über Variablentypen und Konversion von OH. Dieses Binding macht das auf jeden Fall einfacher und übersichtlicher. Jede Rule weniger in OH ist toll! Vielen Dank! PS: Beim Text Item "OutdoorWeatherSensorLastChange" soll die Textfarbe gemäß der Zeit seit der letzten Aktualisierung gesetzt werden. Das Binding gibt diese Zeit aber als Zeitstempel und nicht in Sekunden seit der letzten Aktualisierung aus (wie es das Bricklet selber eigentlich laut BrickViewer tut.) Deswegen kann das so noch nicht funktionieren. PS: Habe heute morgen OpenHAB neu gestartet. Nun flirrt diese Meldung durch die Logs, obwohl alles funktioniert ... ==> /var/log/openhab2/openhab.log <== 2020-02-21 09:42:17.959 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler BrickletOutdoorWeatherHandler of thing tinkerforge:brickletoutdoorweather:Es8 tried accessing its bridge although the handler was already disposed. 2020-02-21 09:42:17.966 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler BrickletOutdoorWeatherHandler of thing tinkerforge:brickletoutdoorweather:Es8 tried accessing its bridge although the handler was already disposed. 2020-02-21 09:42:18.961 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler BrickletOutdoorWeatherHandler of thing tinkerforge:brickletoutdoorweather:Es8 tried accessing its bridge although the handler was already disposed. 2020-02-21 09:42:18.967 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler BrickletOutdoorWeatherHandler of thing tinkerforge:brickletoutdoorweather:Es8 tried accessing its bridge although the handler was already disposed. 2020-02-21 09:42:19.962 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler BrickletOutdoorWeatherHandler of thing tinkerforge:brickletoutdoorweather:Es8 tried accessing its bridge although the handler was already disposed. 2020-02-21 09:42:19.969 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler BrickletOutdoorWeatherHandler of thing tinkerforge:brickletoutdoorweather:Es8 tried accessing its bridge although the handler was already disposed. 2020-02-21 09:42:20.963 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler BrickletOutdoorWeatherHandler of thing tinkerforge:brickletoutdoorweather:Es8 tried accessing its bridge although the handler was already disposed. 2020-02-21 09:42:20.970 [WARN ] [.core.thing.binding.BaseThingHandler] - Handler BrickletOutdoorWeatherHandler of thing tinkerforge:brickletoutdoorweather:Es8 tried accessing its bridge although the handler was already disposed.
  3. Hallo Forum, habe den Thread gelesen und vielleicht einen Link zu einer Anleitung übersehen. 🙂 Ich würde gerne das Outdoor Weather Bricklet in Betrieb nehmen. Anhand den Beispielen von anderen Bricklets erahne ich wie das geht. Bevor ich Stunden lang rumprobiere hier meine Frage: Hat jemand das Outdoor Weather Bricklet in Betrieb genommen und könnte seine items für OH hier posten? (Das Bricklet ist im Paper UI schon online. Es wird sich wohl um diese Actions drehen: brickletOutdoorWeatherGetStationData, brickletOutdoorWeatherGetSensorData). Dankeschön!
  4. Thank you! :-) Was unsure about it, thought it was a special language for a mqtt system.
  5. Hello Forum, the Documentation describes how to read a Ds18b20 Temperature Sensor with MQTT: https://www.tinkerforge.com/en/doc/Software/Bricklets/OneWire_Bricklet_MQTT.html Does anyone know how (with which Programm) to use this Script? With thanks! :-)
  6. Publishing {"config": 0} to tinkerforge/request/outdoor_weather_bricklet/Es8/set_status_led_config ... works ... and the led is off.
  7. this is my init file: { "tinkerforge/request/outdoor_weather_bricklet/Es8/set_station_callback_configuration": {"enable_callback": true}, "tinkerforge/register/outdoor_weather_bricklet/Es8/station_data": {"register": true} } and running it this: sudo /usr/local/bin/tinkerforge_mqtt --init-file stationmqttini.txt But under the used topic, there are no incoming messages. Since there is a init file, i tried to switch off the status led. With the request (empty payload) tinkerforge/request/outdoor_weather_bricklet/Es8/get_status_led_config i wanted to examine the payload structure for request/outdoor_weather_bricklet/<UID>/set_status_led_config But i dont get a response message. Any idea? Because this payload could be added to the init file. Could you please look at my init file and tell me what's wrong? :-) What is your setup for autostart after a reboot?
  8. Hello! thank you very much for your guidance. Within MQTT.fx i can reveive messages from both - the station and the sensor. The process for activating and subscribing is quite long ... and does it have te be done after every reboot ... for every sensor? Are you doing this with MQTT.fx (no paste possible, so manual write for each payload ) or are u using mosquitto_pub and sub in the commandline? What is the best way to autostart the tinkerforge_mqtt system after a reboot?
  9. The broker is running on the same machine. So no external host ips are needed. Ok, your given way seems to work/there is a reaction: Output from MQTT Explorer: {"connected_uid": "6evjRp", "uid": "Es8", "device_identifier": "outdoor_weather_bricklet", "hardware_version": [1, 0, 0], "enumeration_type": "available", "position": "a", "firmware_version": [2, 0, 2], "_display_name": "Outdoor Weather Bricklet"} Output from Console: while running tinkerforge_mqtt and posting mqtt messages: ERROR:MQTT bindings:253 ('6kL62k', '0', '0', (2, 0, 0), (2, 4, 10), 13, 0) ERROR:MQTT bindings:253 ('eVC', '6kL62k', 'a', (1, 0, 0), (2, 0, 2), 221, 0) ERROR:MQTT bindings:253 ('eny', '6kL62k', 'b', (1, 1, 0), (2, 0, 3), 21, 0) ERROR:MQTT bindings:253 ('eXk', '6kL62k', 'c', (1, 2, 0), (2, 0, 6), 212, 0) ERROR:MQTT bindings:253 ('eE3', '6kL62k', 'd', (1, 1, 0), (2, 0, 2), 27, 0) ERROR:MQTT bindings:253 ('6evjRp', '6kL62k', '1', (2, 0, 0), (2, 4, 10), 13, 0) ERROR:MQTT bindings:253 ('EQL', '6evjRp', 'b', (1, 1, 0), (2, 0, 4), 216, 0) ERROR:MQTT bindings:253 ('yLJ', '6evjRp', 'd', (2, 0, 0), (2, 0, 2), 259, 0) ERROR:MQTT bindings:253 ('Es8', '6evjRp', 'a', (1, 0, 0), (2, 0, 2), 288, 0) ERROR:MQTT bindings:253 ('6kL62k', '0', '0', (2, 0, 0), (2, 4, 10), 13, 0) ERROR:MQTT bindings:253 ('eVC', '6kL62k', 'a', (1, 0, 0), (2, 0, 2), 221, 0) ERROR:MQTT bindings:253 ('eny', '6kL62k', 'b', (1, 1, 0), (2, 0, 3), 21, 0) ERROR:MQTT bindings:253 ('eXk', '6kL62k', 'c', (1, 2, 0), (2, 0, 6), 212, 0) ERROR:MQTT bindings:253 ('eE3', '6kL62k', 'd', (1, 1, 0), (2, 0, 2), 27, 0) ERROR:MQTT bindings:253 ('6evjRp', '6kL62k', '1', (2, 0, 0), (2, 4, 10), 13, 0) ERROR:MQTT bindings:253 ('EQL', '6evjRp', 'b', (1, 1, 0), (2, 0, 4), 216, 0) ERROR:MQTT bindings:253 ('yLJ', '6evjRp', 'd', (2, 0, 0), (2, 0, 2), 259, 0) ERROR:MQTT bindings:253 ('Es8', '6evjRp', 'a', (1, 0, 0), (2, 0, 2), 288, 0) Output from the console ./tinkerforge enumerate uid=6kL62k connected-uid=0 position=0 hardware-version=2,0,0 firmware-version=2,4,10 device-identifier=master-brick enumeration-type=available uid=eVC connected-uid=6kL62k position=a hardware-version=1,0,0 firmware-version=2,0,2 device-identifier=barometer-bricklet enumeration-type=available uid=eny connected-uid=6kL62k position=b hardware-version=1,1,0 firmware-version=2,0,3 device-identifier=ambient-light-bricklet enumeration-type=available uid=eXk connected-uid=6kL62k position=c hardware-version=1,2,0 firmware-version=2,0,6 device-identifier=lcd-20x4-bricklet enumeration-type=available uid=eE3 connected-uid=6kL62k position=d hardware-version=1,1,0 firmware-version=2,0,2 device-identifier=humidity-bricklet enumeration-type=available uid=6evjRp connected-uid=6kL62k position=1 hardware-version=2,0,0 firmware-version=2,4,10 device-identifier=master-brick enumeration-type=available uid=EQL connected-uid=6evjRp position=b hardware-version=1,1,0 firmware-version=2,0,4 device-identifier=temperature-bricklet enumeration-type=available uid=yLJ connected-uid=6evjRp position=d hardware-version=2,0,0 firmware-version=2,0,2 device-identifier=ambient-light-v2-bricklet enumeration-type=available uid=Es8 connected-uid=6evjRp position=a hardware-version=1,0,0 firmware-version=2,0,2 device-identifier=outdoor-weather-bricklet enumeration-type=available Are there any updates needed? The brickdaemon ist the latest ... Any librarys?
  10. Hey, installed the new version. Thank you for your answer. But no luck. Perhaps: WARNING:MQTT bindings:Another MQTT bindings instance started on this broker with the same global prefix. This is not recommended as both bindings instances will receive requests and send responses. Idk what other instance is running here. I send the (json formatted) payload from the example file to the broker. I get a reaction like "callback/binding/restart" ... strange ... Perhaps i should remove the broker and install again. Are there any special requirements for the broker?
  11. Hello Forum, just unzipped the new zip file, copied it to /usr/local/bin, made it runable via chmod +x. Now, running it: sudo /usr/local/bin/tinkerforge_mqtt Traceback (most recent call last): File "/usr/local/bin/tinkerforge_mqtt", line 6649, in <module> main() File "/usr/local/bin/tinkerforge_mqtt", line 6646, in main bindings.run(initial_config) File "/usr/local/bin/tinkerforge_mqtt", line 5981, in run for topic, payload in initial_config.items(): AttributeError: 'NoneType' object has no attribute 'items' Exception in thread Disconnect-Prober (most likely raised during interpreter shutdown): Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner File "/usr/lib/python2.7/threading.py", line 754, in run File "/usr/local/bin/tinkerforge_mqtt", line 1179, in disconnect_probe_loop <type 'exceptions.AttributeError'>: 'NoneType' object has no attribute 'Empty' resulted in the messsage above. Could anyone give me a hint, how to use this MQTT Binding? What has to be done, for example, to make this Binding to publish the values from the Outdoor Weather Station. From the example file: I dont know, or i'm blind, how to put the right command. I'm using a MQTT Broker on another machine. To view all the MQTT-chatter i use MQTT.fx and the new MQTT Explorer from https://github.com/thomasnordquist/MQTT-Explorer Thank you!
  12. Danke! Jetzt geht es! Und ich habe da so rumprobiert. Wie kann man diese Info in der Tinkerforge Doku ergänzen, damit der Nächste nicht auch so raten muss? (Wenn ich nur das Script python brick-mqtt-proxy.py starte passiert (?) nichts. Erst wenn ich python brick-mqtt-proxy.py --brickd-host localhost --brickd-port 4223 --broker-host localhost --broker-port 1883 --update-interval 5 kann ich die Daten empfangen. Führte mosquitto_sub -v -t tinkerforge/bricklet/outdoor_weather/# dazu, das alle Channel vom Weather Bricklet "subscribed" werden? Wird damit die Tinkerforge "Seite" mit dem Mosquitto Broker verbunden?) Welcher MQTT Broker bietet sich an, diese Daten zu veröffentlichen (an einen Nachbarn)? Oder einfach nur eine Portfreigabe und Weiterleitung zu dem Broker auf dem Raspberry Pi? Tinkerforge verwendete mal Xively, das ging zu Google über.
  13. Dankeschön! Auf welchem Channel hast Du die Antwort vom Sensor erhalten? Und mit welchem Befehl startest Du den Publish der Daten? Ich nutze MQTTfx - und da tauchen keine Wetterdaten auf. Nur eben die allgemeinen Daten zur Firmware, Spannung, Stationsnummer usw.
  14. Danke! Und ich wunderte mich schon, warum ich nicht weiterkam. Wo kann ich das aktuelle Binding beziehen? Und was muss ich auf dem Raspberry austauschen?
  15. Hallo Tom, Ja. Die Daten sollten dann von einem PC von der Ethernet Extension abgerufen werden können. Könnte es sein, das Du noch eine Stromversorgung brauchst? (Step Down Power oder die Ethernet Extension mit POE). Oder: Du nimmst einen Raspberry (auf diesem läuft der BrickDaemon) und dieser stellt die Daten im LAN bereit und versorgt den Brick und die Bricklets über USB mit Strom. So mache ich das. Ja, über die 433 MHz Funk Verbindung. Auf dem Raspberry kann dann das Outdoor Bricklet abgerufen werden und zeigt die Werte an. Es ist aber nicht ganz leicht, die Werte dann auch zu verarbeiten. Das geht mit rudimentär mit openHAB. Ich hoffe, mir gelingt es, die Werte über MQTT zu publizieren. Dazu habe ich im Forum eine Frage gestellt. Viele Grüße Richard
×
×
  • Neu erstellen...