Jump to content

riro

Members
  • Content Count

    14
  • Joined

  • Last visited

Community Reputation

0 Neutral
  1. Thank you! :-) Was unsure about it, thought it was a special language for a mqtt system.
  2. 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! :-)
  3. Publishing {"config": 0} to tinkerforge/request/outdoor_weather_bricklet/Es8/set_status_led_config ... works ... and the led is off.
  4. 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?
  5. 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?
  6. 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?
  7. 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?
  8. 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!
  9. 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.
  10. 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.
  11. 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?
  12. 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
  13. Hallo Niels, Danke für Dein Script! Könntest Du es abwandeln, damit es die Werte nicht in einer SQL Datenbank schreibt? (Oder wie würde man diese einrichten - und dann auch weiterverwenden?) Noch habe ich meinen nicht zerlegt, aber ich meine, da ist eine Wippe drin. Diese löst einen Trigger aus und sendet einen Impuls. Auch meine ich gelesen zu haben, die Regenmenge wird immer (auf-)"addiert". Möchte man die Menge für einen Zeitraum haben, muss immer der neue Regenwert vom vorherigen Wert abgezogen werden. Meine lassen sich mit etwas Kraft drehen. Da ist ein kleiner aufgebogener Rand bei mir. Quetschte doch die äußere Stange mit einer Zange leicht zu. Viele Grüße! Richard
  14. Hallo Forum! auf einem Raspberry läuft der Brickdaemon und kann die Werte des per USB angeschlossen Masterbricks und dessen Outdoor Weather Bricklet (Es8) auslesen: ./tinkerforge call outdoor-weather-bricklet Es8 get-sensor-data 24 Ausgabe auf der Konsole: temperature=258 humidity=33 last-change=23 Mit Hilfe der Doku https://www.tinkerforge.com/de/doc/Software/Brick_MQTT_Proxy.html konnte ich Mosquitto installieren und bekomme auch einen Output: mosquitto_sub -v -t tinkerforge/enumerate/available/# Ausgabe: tinkerforge/enumerate/available/brick/master [{"_timestamp":1530606396.92745,"uid":"6wVYa1","hardware_version":[2,0,0],"device_identifier":13,"connected_uid":"0","position":"0","firmware_version":[2,4,8]}] tinkerforge/enumerate/available/bricklet/outdoor_weather [{"_timestamp":1530606397.065804,"uid":"Es8","hardware_version":[1,0,0],"device_identifier":288,"connected_uid":"6wVYa1","position":"a","firmware_version":[2,0,0]}] Bisher findet das brick_mqtt Script folgende Werte und veröffentlicht diese auch: python brick-mqtt-proxy.py --brickd-host localhost --brickd-port 4223 --broker-host localhost --broker-port 1883 --update-interval 5 --debug DEBUG:root:Subscribing to tinkerforge/bricklet/outdoor_weather/Es8/get_station_data/set DEBUG:root:Subscribing to tinkerforge/bricklet/outdoor_weather/Es8/get_sensor_data/set DEBUG:root:Subscribing to tinkerforge/bricklet/outdoor_weather/Es8/_update_interval/set MQTTfx empfängt folgendes: tinkerforge/bricklet/outdoor_weather/Es8/sensor_identifiers mit dem "Payload": {"sensor_identifiers":[24],"_timestamp":1530608493.82582} Die Wetterstation besteht aus zwei Teilen: der großen Station (station_identifiers) und dem kleinen Outdoor Sensor (sensor_identifiers). Der kleine Sensor hat die Nummer "24" (oder [24]) und dessen Werte würde ich gerne veröffentlichen. Es gelingt mir aber nicht, den richtigen Befehl abzusetzen: mosquitto_pub -t tinkerforge/bricklet/outdoor_weather/Es8/sensor_data/set -m '[24]' Damit erhalte ich natürlich nur den Payload '[24]', aber nicht die Sensordaten. Für mich ist die Doku hier zu spärlich: Kann mir da jemand bitte weiterhelfen? Vielen Dank!
×
×
  • Create New...