I've been looking at Rich Bell's nested json example here:
https://github.com/bellrichm/WeeWX-MQTTSubscribe/wiki/json-example
He shows a first topic, second topic, third topic, etc.
If you include the time, I think this BMP280 has 5 topics? (Time,
Temperature, Pressure, PressureUnit, TempUnit)
Here's what I've got now: in my weewx.conf file:
# The message handler to use
[[message_callback]]
# The format of the MQTT payload.
# Currently support: individual, json, keyword
# Must be specified.
type = json
# When the json is nested, the delimiter between the hierarchies.
# Default is _.
flatten_delimiter = "_"
# The topics to subscribe to.
[[topics]]
# Units for MQTT payloads without unit value.
# Valid values: US, METRIC, METRICWX
# Default is: US
unit_system = METRIC
use_server_datetime = True
ignore_start_time = True
ignore_end_time = True
[[[first/topic]]]
# The incoming field name from MQTT.
[[[[Time]]]]
ignore = true
[[[second/topic]]]
[[[[BME280_Temperature]]]]
# The WeeWX name.
# Default is the name from MQTT.
name = appTemp1
units = degree_C
[[[[BME280_Pressure]]]]
# The WeeWX name.
# Default is the name from MQTT.
name = barometer
units = hPa
[[[third/topic]]]
# The incoming field name from MQTT.
[[[[PressureUnit]]]]
ignore = true
[[[fourth/topic]]]
# The incoming field name from MQTT.
[[[[TemperatureUnit]]]]
ignore = true
> Op donderdag 13 mei 2021 om 05:32:15 UTC+2 schreef [email protected]:
>
>> Here's what I've got in my weewx.conf file thus far.
>> Does this look close to correct, when you compare it to the MQTT message
>> from the Tasmota log?
>>
>>
>> 21:54:27.154 MQT: sensors/BMP280/SENSOR =
>> {"Time":"2021-05-12T21:54:27","BMP280":{"Temperature":22.0,"Pressure":990.8},"PressureUnit":"hPa","TempUnit":"C"}
>>
>>
>> ############################################################################
>> # Options for 'MQTTSubscribeService'
>> [MQTTSubscribeService]
>> # This section is for the MQTTSubscribe service.
>>
>> # Turn the service on and off.
>> # Default is: true
>> # Only used by the service.
>> enable = false
>>
>> # The MQTT server.
>> # Default is localhost.
>> host = localhost
>>
>> # The port to connect to.
>> # Default is 1883.
>> port = 1883
>>
>> # Maximum period in seconds allowed between communications with the
>> broker.
>> # Default is 60.
>> keepalive = 60
>>
>> # username for broker authentication.
>> # Default is None.
>> username = None
>>
>> # password for broker authentication.
>> # Default is None.
>> password = None
>>
>> # The binding, loop or archive.
>> # Default is: loop
>> # Only used by the service.
>> binding = loop
>>
>> # The message handler to use
>> [[message_callback]]
>> # The format of the MQTT payload.
>> # Currently support: individual, json, keyword
>> # Must be specified.
>> type = json
>>
>> # When the json is nested, the delimiter between the hierarchies.
>> # Default is _.
>> flatten_delimiter = "_"
>>
>> # The topics to subscribe to.
>> [[topics]]
>> # Units for MQTT payloads without unit value.
>> # Valid values: US, METRIC, METRICWX
>> # Default is: US
>> unit_system = METRIC
>>
>> [[[first/topic]]]
>> # The incoming field name from MQTT.
>> [[[[Time]]]]
>> # left side is the name from MQTT.
>> # right side is the WeeWX name.
>> Time = dateTime
>>
>> [[[second/topic]]]
>> # The incoming field name from MQTT.
>> [[[[BME280_Temperature]]]]
>> # left side is the name from MQTT.
>> # right side is the WeeWX name.
>> Temperature = extraTemp1
>>
>> [[[[BME280_Pressure]]]]
>> # left side is the name from MQTT.
>> # right side is the WeeWX name.
>> Pressure = barometer
>>
>> [[[third/topic]]]
>> # The incoming field name from MQTT.
>> [[[[PressureUnit]]]]
>> # left side is the name from MQTT.
>> # right side is the WeeWX name.
>> PressureUnit = ??
>>
>> [[[fourth/topic]]]
>> # The incoming field name from MQTT.
>> [[[[TemperatureUnit]]]]
>> # left side is the name from MQTT.
>> # right side is the WeeWX name.
>> TempUnit = ??
>>
>> On Wednesday, May 12, 2021 at 10:05:22 PM UTC-5 Eric Koester wrote:
>>
>>> Maybe this line from the Tasmota Console (log) is a clue?
>>>
>>> 21:54:27.154 MQT: sensors/BMP280/SENSOR =
>>> {"Time":"2021-05-12T21:54:27","BMP280":{"Temperature":22.0,"Pressure":990.8},"PressureUnit":"hPa","TempUnit":"C"}
>>>
>>> On Wed, May 12, 2021 at 9:54 PM Eric Koester <[email protected]>
>>> wrote:
>>>
>>>> I've got a BMP280 sensor (only 2 internal sensors) connected to an
>>>> ESP-12F module, running Tasmota firmware.
>>>> The example I'm following is a BME280 which has 3 internal sensors.
>>>> https://tasmota.github.io/docs/BME280/
>>>> Rich Bell mentioned that the BME280 (and BMP280) data is json and
>>>> nested and that the data would come through as BMP280_Temperature,
>>>> BMP280_Pressure.
>>>> [image: Tasmota_Main-screen_BMP280.jpg]
>>>>
>>>> I roughly configured the MQTT settings in Tasmota and you can see it's
>>>> made connection with the mosquitto broker.
>>>> section of /var/log/mosquitto/mosquitto.log file:
>>>> *1620871934: New connection from 192.168.7.132 on port 1883.*
>>>> *1620871934: New client connected from 192.168.7.132 as ESP-12F_1 (p2,
>>>> c1, k30, u'ESP-12F_USER').*
>>>> *1620872759: Saving in-memory database to
>>>> /var/lib/mosquitto/mosquitto.db.*
>>>>
>>>> I'm not clear what I should set the Topic and Full Topic fields to in
>>>> the Tasmota MQTT screen.
>>>>
>>>> [image: Tasmota_MQTT-settings_1.jpg]
>>>>
>>>>
>>>> On Wednesday, May 12, 2021 at 6:24:46 PM UTC-5 Eric Koester wrote:
>>>>
>>>>> For those following along, I discovered that the mosquitto_pub &
>>>>> mosquitto_sub clients were automatically installed when I installed
>>>>> mosquitto into Ubuntu. Here was the tip-off:
>>>>> *weewx@Ubuntu20-WEEWX:~$ sudo apt install mosquitto-clients*
>>>>> *Reading package lists... Done*
>>>>> *Building dependency tree *
>>>>> *Reading state information... Done*
>>>>> *mosquitto-clients is already the newest version (1.6.12-1).*
>>>>> *0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.*
>>>>>
>>>>> I found some Youtube videos by Steve Cope which show examples of using
>>>>> the commands.
>>>>> https://youtu.be/J4pqv9__uzE
>>>>>
>>>>> He mentions using the debug switch (-d) so you can see that the
>>>>> commands are doing something - very useful!
>>>>>
>>>>> Running mosquitto_pub in one terminal window and mosquitto_sub in
>>>>> another is showing feedback of success!
>>>>>
>>>>> *weewx@Ubuntu20-WEEWX:~$ mosquitto_pub -h 192.168.7.22 -p 1883 -t
>>>>> sensors/temperature -m "1266193804 32" -d*
>>>>> *Client mosq-6o6U1MqsMVovfxfZta sending CONNECT*
>>>>> *Client mosq-6o6U1MqsMVovfxfZta received CONNACK (0)*
>>>>> *Client mosq-6o6U1MqsMVovfxfZta sending PUBLISH (d0, q0, r0, m1,
>>>>> 'sensors/temperature', ... (13 bytes))*
>>>>> *Client mosq-6o6U1MqsMVovfxfZta sending DISCONNECT*
>>>>>
>>>>> *weewx@Ubuntu20-WEEWX:/etc/mosquitto$ mosquitto_sub -h 192.168.7.22 -p
>>>>> 1883 -t sensors/temperature -d*
>>>>> *Client mosq-VJoHFtTvE0io4OBXfe sending CONNECT*
>>>>> *Client mosq-VJoHFtTvE0io4OBXfe received CONNACK (0)*
>>>>> *Client mosq-VJoHFtTvE0io4OBXfe sending SUBSCRIBE (Mid: 1, Topic:
>>>>> sensors/temperature, QoS: 0, Options: 0x00)*
>>>>> *Client mosq-VJoHFtTvE0io4OBXfe received SUBACK*
>>>>> *Subscribed (mid: 1): 0*
>>>>> *Client mosq-VJoHFtTvE0io4OBXfe received PUBLISH (d0, q0, r0, m0,
>>>>> 'sensors/temperature', ... (13 bytes))*
>>>>> *1266193804 32*
>>>>> *Client mosq-VJoHFtTvE0io4OBXfe sending PINGREQ*
>>>>> *Client mosq-VJoHFtTvE0io4OBXfe received PINGRESP*
>>>>>
>>>>
>>
>>> On Wednesday, May 12, 2021 at 3:20:05 PM UTC-5 [email protected] wrote:
>>>>>
>>>>>> As Greg said, make sure your MQTT infrastructure is up and running
>>>>>> correctly. Since you installed your own broker, a first check is to use
>>>>>> mosquitto_sub and mosquitto_pub to a test topic. Once that is working,
>>>>>> use
>>>>>> mosquitto_sub to subscribe to the broker and topic(s) that you want
>>>>>> MQTTSubscribe to subscribe to. This will also provide you with the MQTT
>>>>>> message. The actual message will be useful as you configure
>>>>>> WeeWX/MQTTSubscribe.
>>>>>>
>>>>>> Next read https://github.com/bellrichm/WeeWX-MQTTSubscribe/wiki.
>>>>>> This will outline the install steps and point you to
>>>>>> https://github.com/bellrichm/WeeWX-MQTTSubscribe/wiki/Configuring,
>>>>>> which has the information on configuring WeeWX/MQTTSubscribe. This page
>>>>>> will also provide you with links to configuration examples by payload
>>>>>> ‘type’.
>>>>>> rich
>>>>>>
>>>>>
>>>>
--
You received this message because you are subscribed to the Google Groups
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/weewx-user/d27b36c5-b67e-48d0-b30d-0a067f6380e3n%40googlegroups.com.