Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - riro

Pages: [1]
1
General Discussion / Re: OneWire Temperature Sensor with MQTT
« on: March 17, 2019, 19:41:18 »
Thank you! :-)
Was unsure about it, thought it was a special language for a mqtt system.

2
General Discussion / OneWire Temperature Sensor with MQTT
« on: March 16, 2019, 11:58:14 »
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
General Discussion / Re: Beta release of the MQTT bindings
« on: March 05, 2019, 21:09:40 »
Publishing {"config": 0} to tinkerforge/request/outdoor_weather_bricklet/Es8/set_status_led_config
... works ... and the led is off.  :D

4
General Discussion / Re: Beta release of the MQTT bindings
« on: March 05, 2019, 21:00:04 »
this is my init file:

Code: [Select]
{
 "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:

Code: [Select]
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)

Code: [Select]
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
General Discussion / Re: Beta release of the MQTT bindings
« on: March 05, 2019, 17:16:03 »
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
General Discussion / Re: Beta release of the MQTT bindings
« on: March 05, 2019, 09:58:19 »
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:
Code: [Select]
{"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:
Code: [Select]
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

Code: [Select]

./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

 :o

Are there any updates needed? The brickdaemon ist the latest ... Any librarys?


7
General Discussion / Re: Beta release of the MQTT bindings
« on: March 04, 2019, 22:33:52 »
Hey,

installed the new version. Thank you for your answer. But no luck.

Perhaps:

Code: [Select]
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
General Discussion / Re: Beta release of the MQTT bindings
« on: March 04, 2019, 18:30:00 »
Hello Forum,

just unzipped the new zip file, copied it to /usr/local/bin, made it runable via chmod +x.

Now, running it:

Code: [Select]
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:

Quote
# Change XYZ to the UID of your Outdoor Weather Bricklet

setup:
   # Enable station data callbacks
   publish '{"enable_callback": true}' to tinkerforge/request/outdoor_weather_bricklet/XYZ/set_station_callback_configuration
   
   # Enable sensor data callbacks
   publish '{"enable_callback": true}' to tinkerforge/request/outdoor_weather_bricklet/XYZ/set_sensor_callback_configuration
   
   # Handle incoming station data callbacks
   subscribe to tinkerforge/callback/outdoor_weather_bricklet/XYZ/station_data
   publish '{"register": true}' to tinkerforge/register/outdoor_weather_bricklet/XYZ/station_data # Register station_data callback
   
   # Handle incoming sensor data callbacks
   subscribe to tinkerforge/callback/outdoor_weather_bricklet/XYZ/sensor_data
   publish '{"register": true}' to tinkerforge/register/outdoor_weather_bricklet/XYZ/sensor_data # Register sensor_data callback


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!  :D

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
Code: [Select]
python brick-mqtt-proxy.py starte passiert (?) nichts. Erst wenn ich
Code: [Select]
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
Code: [Select]
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
Hardware / Re: Betrieb von Außen-Wetterstation WS-6147
« on: July 03, 2018, 12:55:08 »
Hallo Tom,

  • Welche Komponenten brauche ich zusätzlich zur WS, um die Wetterdaten letztendlich im eigenen LAN verteilen oder abfragen zu können? (Ich nehme mal an: Master Brick, Outdoor Weather Bricklet, Ethernet Master Extension)

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.

Quote
  • Auf den Bildern sind etliche Kabel von den Sensoren am Mast zu sehen, die nach unten führen. Diese Kabel sind an den batteriebetriebenen und wasserdicht verpackten Sender angeschlossen, der die Werte dann an das Outdoor Weather Bricklet schickt, richtig?

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
Hardware / Re: Outdoor Weather Bricklet - mehrere Fragen
« on: July 03, 2018, 12:44:19 »
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?)


2. Wie funktioniert der Regenmesser? (Tropfen Zähler, oder Gewicht?)
Muss man den Zurücksetzen oder setzt der sich automatisch zurück?


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.

Quote
3. Ist es normal, dass sich die beiden Stangen gegeneinander verdrehen lassen?
Oder habt ihr da einfach eine der Montage-Klemmen direkt drüber gebaut um das Drehen zu verhindern?

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:

Code: [Select]
./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:

Code: [Select]
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:

Code: [Select]
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:

Code: [Select]
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:

Code: [Select]
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:

Quote
sensor_identifiers
          sensor_data/set (calls get_sensor_data with the parameters provided by the get_sensor_data/set topic and the output of the getter being published to the sensor_data topic)

Kann mir da jemand bitte weiterhelfen?

Vielen Dank!



Pages: [1]