Get external temperature from MQTT + rest from WMR200

186 views
Skip to first unread message

Invisible Man

unread,
Nov 8, 2020, 11:32:05 AM11/8/20
to weewx-user

Hi,
The external temperature of my WMR200 is failing, and it's apparently difficult to find a replacement. So, I'm using a temperature sensor I did myself (based on a Wemo + DS18B20 sensor) which sends the temperature to a MQTT broker (a Raspberry Pi).

I've seen at least 2 different projects to use MQTT with Weewx :
Is there a preferred way? Also, I am going to have some data coming from WMR200 (rain, wind...), and some other coming from MQTT (temperature).  I don't think weewx supports several drivers, does it ? So it means I'll keep using wmr200 driver and use something to insert only temperature from MQTT.

I'd welcome some help/advice on how to do this (modifications to weewx.conf etc).
Thanks,
Axelle.

Greg Troxel

unread,
Nov 8, 2020, 11:53:55 AM11/8/20
to Invisible Man, weewx-user

Invisible Man <axelle....@gmail.com> writes:

> The external temperature of my WMR200 is failing, and it's apparently
> difficult to find a replacement. So, I'm using a temperature sensor I did
> myself (based on a Wemo + DS18B20 sensor) which sends the temperature to a
> MQTT broker (a Raspberry Pi).
>
> I've seen at least 2 different projects to use MQTT with Weewx :
>
> - https://github.com/morrowwm/weewxMQTT

That publishes data from weewx to mqtt.

> - https://github.com/bellrichm/WeeWX-MQTTSubscribe

That takes data from mqtt and treats it like a sensor in weewx.

> Is there a preferred way? Also, I am going to have some data coming from
> WMR200 (rain, wind...), and some other coming from MQTT (temperature). I
> don't think weewx supports several drivers, does it ? So it means I'll keep
> using wmr200 driver and use something to insert only temperature from MQTT.

weewx has a concept of driver and service. I think you will have to
pehaps modify the WMR200 driver to behave as if temp is not there, and
run mqttsubscribe as a service to inject temperature from your Wemo.

This is from a big picture viewpoint not so strange, but it is strange
in that outside temperature is arguably the primary reading from a
station, so not having that is very odd. Therefore I would not be
surprised to find a baked-in assumption about that which needs to be
overridden.
signature.asc

Invisible Man

unread,
Nov 8, 2020, 12:59:29 PM11/8/20
to weewx-user
>> - https://github.com/bellrichm/WeeWX-MQTTSubscribe
>That takes data from mqtt and treats it like a sensor in weewx.

Okay, so it's rather this one I need.

>weewx has a concept of driver and service. I think you will have to
>pehaps modify the WMR200 driver to behave as if temp is not there, and
>run mqttsubscribe as a service to inject temperature from your Wemo.

Yes that's the idea. Still use WMR200 driver, but add mqttsubscribe as a service.
The documentation for MQTTSubscribe gives a short example for the service (see below). I understand where the Engine part goes. But I am  not sure what "topic1" is ?


[MQTTSubscribeService]
  host = localhost
  payload_type = json
  [[topics]]
    [[[topic1]]]
    [[[topic2]]]
[Engine]
  [[Services]] data_services = user.MQTTSubscribe.MQTTSubscribeService

Invisible Man

unread,
Nov 8, 2020, 1:02:48 PM11/8/20
to weewx-user
Other idea: maybe I can just simply write a script that reads the data from MQTT and push it to the weewx database (./archive/weewx.sdb) ?  I'd write it in the "archive" table, with dateTime and "outTemp" value.
And then, weewx wouldn't even actually see the data is not coming from my WMR200.

Is there any issue to do that? Do I also need to populate archive_day_outTemp ?

rich T

unread,
Nov 8, 2020, 1:18:34 PM11/8/20
to weewx-user

bell...@gmail.com

unread,
Nov 8, 2020, 1:59:11 PM11/8/20
to weewx-user
The [[[topic1]]], etc. are the different MQTT topics that you are publishing to.
I think if you run MQTTSubscribe as a service, when it augments either the loop packet or archive record, it will over write any data that has been populated by the driver. But, I have not tested this behavior.
rich

Invisible Man

unread,
Nov 10, 2020, 4:17:33 PM11/10/20
to weewx-user
I wrote a script that gets the external temperature from the MQTT message and add its to the weewx database (./archive/weewx.sdb) : I compute the right epoch time and update the "outTemp" column.

For example, below you see the temperature of 12.7:

sqlite> select * from archive where dateTime >= 1605042600;
1605042630|16|10|||||12.7||||||||||||||||||||||||||||||||||||||||||||

However, strangely, the value does not reflect on the website, even after waiting the 10 minutes refresh time (the website is not refreshed all the time), where yesterday I got it working and saw a value.

Is there a reason why this strategy might not be working?

Axelle.

vince

unread,
Nov 10, 2020, 6:54:21 PM11/10/20
to weewx-user
On Tuesday, November 10, 2020 at 1:17:33 PM UTC-8, Invisible Man wrote:
However, strangely, the value does not reflect on the website, even after waiting the 10 minutes refresh time (the website is not refreshed all the time), where yesterday I got it working and saw a value.

We'd need to see your logs and possibly your tmpl file from your skin to help much.
 

gjr80

unread,
Nov 10, 2020, 7:15:59 PM11/10/20
to weewx-user
Hmmm, 1605042630 is 30 seconds past the top of the minute, considering WeeWX works with whole minute archive periods I think you may treading on some uncertain ground. Adding data to the archive directly can be a risky process, far better to add the data to the loop packet/archive record before the archive record is saved to database and let WeeWX take care of interacting with the database. That way WeeWX takes care of all the database housekeeping (eg updating daily summaries).

Gary

Invisible Man

unread,
Nov 11, 2020, 3:57:40 AM11/11/20
to weewx-user
Gary, for sure I am not doing it right :) I am inserting a new line with only the external temperature in the database and maybe my line should be also including the other values (barometer, wind etc). Because, have a look below and my website. I have dots exactly at the time where I started inserting my values... and I am sometimes able to readonly the external temperature but no longer have barometer etc. For sure, a bug on my side ! Interesting what you say that I should be dealing with full minutes only. I'll try that too.screenshot.png

Invisible Man

unread,
Nov 11, 2020, 4:02:23 AM11/11/20
to weewx-user
Hi Vince,
I'm not sure how my logs are going to help or my template file, as this is purely an issue with how I add lines to the database... Nevertheless, there you go with the logs. You'll see I have a fault on the WMR200 outdoor temperature sensor, which is why I built another one myself based on some components I had, and it transmits temperature via MQTT. So, the idea is to insert my own temperature sensor value in the database.
The wind sensor also complains about low battery, it always has and we regularly check the battery, but it continues to work...
-- Axelle.

Nov 11 09:55:06 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169641 live_queue_len:1
Nov 11 09:55:07 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182197
Nov 11 09:55:07 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169642 live_queue_len:1
Nov 11 09:55:08 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182198
Nov 11 09:55:11 vegan weewx[469] DEBUG weewx.drivers.wmr200:   adjust_rain rain_total:557.48 Rain.rain_total_last:557.48 rain_interval:0.00
Nov 11 09:55:11 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169643 live_queue_len:1
Nov 11 09:55:12 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182199
Nov 11 09:55:17 vegan weewx[469] WARNING weewx.drivers.wmr200: Temp outdoor sensor fault
Nov 11 09:55:17 vegan weewx[469] WARNING weewx.drivers.wmr200: Clock time unsynchronized
Nov 11 09:55:17 vegan weewx[469] WARNING weewx.drivers.wmr200: Wind sensor: Battery low
Nov 11 09:55:17 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169644 live_queue_len:1
Nov 11 09:55:17 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182200
Nov 11 09:55:17 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169645 live_queue_len:1
Nov 11 09:55:18 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182201
Nov 11 09:55:27 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169646 live_queue_len:1
Nov 11 09:55:28 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182202
Nov 11 09:55:34 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169647 live_queue_len:1
Nov 11 09:55:35 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182203
Nov 11 09:55:35 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Acknowledged control packet rx:12451
Nov 11 09:55:37 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169648 live_queue_len:1
Nov 11 09:55:38 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182205
Nov 11 09:55:47 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169649 live_queue_len:1
Nov 11 09:55:47 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182206
Nov 11 09:55:47 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169650 live_queue_len:1
Nov 11 09:55:48 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182207
Nov 11 09:55:51 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169651 live_queue_len:1
Nov 11 09:55:52 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182208
Nov 11 09:55:55 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169652 live_queue_len:1
Nov 11 09:55:56 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182209
Nov 11 09:55:57 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169653 live_queue_len:1
Nov 11 09:55:58 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182210
Nov 11 09:55:58 vegan weewx[469] DEBUG weewx.drivers.wmr200:   adjust_rain rain_total:557.48 Rain.rain_total_last:557.48 rain_interval:0.00
Nov 11 09:55:58 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169654 live_queue_len:1
Nov 11 09:55:59 vegan weewx[469] DEBUG weewx.drivers.wmr200: genLoop() Yielding live queued packet id:182211
Nov 11 09:56:01 vegan weewx[469] DEBUG weewx.drivers.wmr200:   Queuing live packet rx:169655 live_queue_len:1

Invisible Man

unread,
Nov 11, 2020, 8:35:11 AM11/11/20
to weewx-user
Ok I've changed my program to modify existing SQLite entries (from WMR200) and put the MQTT temperature I get. This should work better because Gary noted weewx only works with whole minutes.

So, this is what the last few entries of my weewx database look like:

1605100800|16|10||1010.81818181818|1010.81818181818|26.6066666666667|18.95|46.5333333333333||0.846|68.6184922808424|4.32|157.5|0.0|0.0||||||9.57142857142857|||||||||||||||||||||||||||1.0|0.0|0.0|
1605101400|16|10||1011.0|1011.0|25.4583333333333|16.45|47.3166666666667||0.342|154.54255781133|3.96||0.0|0.0||||||6.0|||||||||||||||||||||||||||1.0|0.0|0.0|

The inserted temperature is 18.95 and 16.45 (I had moved my temperature sensor inside, so it's gradually recovering outside temperature now).
Currently, it's still not working, ie I don't see the temperature on the website. But I'm going to wait for a couple of uploads (every 10 minutes), and hope it works; because I can't see why it wouldn't be working : it can't have any clue that the outside temperature is coming from another sensor...

Do you see any flaw in this?

Greg Troxel

unread,
Nov 11, 2020, 8:37:36 AM11/11/20
to Invisible Man, weewx-user

Invisible Man <axelle....@gmail.com> writes:

> Ok I've changed my program to *modify* existing SQLite entries (from
> WMR200) and put the MQTT temperature I get. This should work better because
> Gary noted weewx only works with whole minutes.

You got really good advice from Gary. Services are supposed to add
entries into the loop/archive stream within the weewx code and let weewx
handle the db. You are fighting the weewx way!
signature.asc

Invisible Man

unread,
Nov 11, 2020, 9:12:43 AM11/11/20
to weewx-user
Okay... it's just that I found https://github.com/bellrichm/WeeWX-MQTTSubscribe  complicated for the task :(
My script is only a few lines of Python... [but yes it's not working fully, so...]

-- Axelle

Invisible Man

unread,
Nov 11, 2020, 11:09:00 AM11/11/20
to weewx-user
I've shifted to using https://github.com/bellrichm/WeeWX-MQTTSubscribe but it's still not working : I don't see my external tempeature on weewx.

This is my logs (I grepped for outTemp). I wonder if the issue is coming from the fact that WMR200 has an outTemp but it is faulty so I  have outTempFault set to 1.

Nov 11 16:39:42 vegan weewx[30478] INFO weewx.drivers.wmr200: sensor map is {'outTempBatteryStatus': 'battery_status_out', 'outHumidity': 'humidity_1', 'rainRate': 'rain_rate', 'heatindex4': 'heatindex_5', 'rainTotal': 'rain_total', 'rainBatteryStatus': 'battery_status_rain', 'heatindex6': 'heatindex_7', 'extraTemp5': 'temperature_6', 'uvFault': 'uv_fault', 'extraTemp2': 'temperature_3', 'heatindex': 'heatindex_1', 'extraTemp3': 'temperature_4', 'rain24': 'rain_24', 'inHeatindex': 'heatindex_0', 'inTemp': 'temperature_0', 'extraTemp1': 'temperature_2', 'hourRain': 'rain_hour', 'windFault': 'wind_fault', 'windchill': 'windchill', 'clockUnsynchronized': 'clock_unsynchronized', 'extraTemp7': 'temperature_8', 'rain': 'rain', 'forecastIcon': 'forecast_icon', 'pressure': 'pressure', 'extraHumid4': 'humidity_5', 'extraHumid5': 'humidity_6', 'extraHumid2': 'humidity_3', 'extraHumid3': 'humidity_4', 'extraHumid1': 'humidity_2', 'extraTemp6': 'temperature_7', 'heatindex5': 'heatindex_6', 'extraTemp4': 'temperature_5', 'heatindex7': 'heatindex_8', 'altimeter': 'altimeter', 'heatindex1': 'heatindex_2', 'heatindex2': 'heatindex_3', 'heatindex3': 'heatindex_4', 'extraHumid6': 'humidity_7', 'extraHumid7': 'humidity_8', 'windBatteryStatus': 'battery_status_wind', 'UV': 'uv', 'rainFault': 'rain_fault', 'windDir': 'wind_dir', 'outTemp': 'temperature_1', 'windSpeed': 'wind_speed', 'inHumidity': 'humidity_0', 'outTempFault': 'out_fault', 'windGust': 'wind_gust', 'uvBatteryStatus': 'battery_status_uv'}
Nov 11 16:41:46 vegan weewx[30694] INFO weewx.drivers.wmr200: sensor map is {'outTempBatteryStatus': 'battery_status_out', 'outHumidity': 'humidity_1', 'rainRate': 'rain_rate', 'heatindex4': 'heatindex_5', 'rainTotal': 'rain_total', 'rainBatteryStatus': 'battery_status_rain', 'heatindex6': 'heatindex_7', 'extraTemp5': 'temperature_6', 'uvFault': 'uv_fault', 'extraTemp2': 'temperature_3', 'heatindex': 'heatindex_1', 'extraTemp3': 'temperature_4', 'rain24': 'rain_24', 'inHeatindex': 'heatindex_0', 'inTemp': 'temperature_0', 'extraTemp1': 'temperature_2', 'hourRain': 'rain_hour', 'windFault': 'wind_fault', 'windchill': 'windchill', 'clockUnsynchronized': 'clock_unsynchronized', 'extraTemp7': 'temperature_8', 'rain': 'rain', 'forecastIcon': 'forecast_icon', 'pressure': 'pressure', 'extraHumid4': 'humidity_5', 'extraHumid5': 'humidity_6', 'extraHumid2': 'humidity_3', 'extraHumid3': 'humidity_4', 'extraHumid1': 'humidity_2', 'extraTemp6': 'temperature_7', 'heatindex5': 'heatindex_6', 'extraTemp4': 'temperature_5', 'heatindex7': 'heatindex_8', 'altimeter': 'altimeter', 'heatindex1': 'heatindex_2', 'heatindex2': 'heatindex_3', 'heatindex3': 'heatindex_4', 'extraHumid6': 'humidity_7', 'extraHumid7': 'humidity_8', 'windBatteryStatus': 'battery_status_wind', 'UV': 'uv', 'rainFault': 'rain_fault', 'windDir': 'wind_dir', 'outTemp': 'temperature_1', 'windSpeed': 'wind_speed', 'inHumidity': 'humidity_0', 'outTempFault': 'out_fault', 'windGust': 'wind_gust', 'uvBatteryStatus': 'battery_status_uv'}
Nov 11 16:46:29 vegan weewx[30993] INFO weewx.drivers.wmr200: sensor map is {'outTempBatteryStatus': 'battery_status_out', 'outHumidity': 'humidity_1', 'rainRate': 'rain_rate', 'heatindex4': 'heatindex_5', 'rainTotal': 'rain_total', 'rainBatteryStatus': 'battery_status_rain', 'heatindex6': 'heatindex_7', 'extraTemp5': 'temperature_6', 'uvFault': 'uv_fault', 'extraTemp2': 'temperature_3', 'heatindex': 'heatindex_1', 'extraTemp3': 'temperature_4', 'rain24': 'rain_24', 'inHeatindex': 'heatindex_0', 'inTemp': 'temperature_0', 'extraTemp1': 'temperature_2', 'hourRain': 'rain_hour', 'windFault': 'wind_fault', 'windchill': 'windchill', 'clockUnsynchronized': 'clock_unsynchronized', 'extraTemp7': 'temperature_8', 'rain': 'rain', 'forecastIcon': 'forecast_icon', 'pressure': 'pressure', 'extraHumid4': 'humidity_5', 'extraHumid5': 'humidity_6', 'extraHumid2': 'humidity_3', 'extraHumid3': 'humidity_4', 'extraHumid1': 'humidity_2', 'extraTemp6': 'temperature_7', 'heatindex5': 'heatindex_6', 'extraTemp4': 'temperature_5', 'heatindex7': 'heatindex_8', 'altimeter': 'altimeter', 'heatindex1': 'heatindex_2', 'heatindex2': 'heatindex_3', 'heatindex3': 'heatindex_4', 'extraHumid6': 'humidity_7', 'extraHumid7': 'humidity_8', 'windBatteryStatus': 'battery_status_wind', 'UV': 'uv', 'rainFault': 'rain_fault', 'windDir': 'wind_dir', 'outTemp': 'temperature_1', 'windSpeed': 'wind_speed', 'inHumidity': 'humidity_0', 'outTempFault': 'out_fault', 'windGust': 'wind_gust', 'uvBatteryStatus': 'battery_status_uv'}
Nov 11 16:46:30 vegan weewx[30993] DEBUG user.MQTTSubscribe: (Service) service_dict is {u'enable': u'true', u'host': u'192.168.0.9', u'port': u'1883', u'keepalive': u'60', u'username': u'None', u'password': u'None', u'binding': u'loop', u'message_callback': {u'type': u'individual'}, u'topics': {u'unit_system': u'METRIC', u'temperature/jardin': {u'name': u'outTemp', u'ignore': u'False', u'contains_total': u'False', u'conversion_type': u'float', u'units': u'degree_C'}}}
Nov 11 16:46:30 vegan weewx[30993] DEBUG user.MQTTSubscribe: (Service) service_dict is {u'enable': u'true', u'host': u'192.168.0.9', u'port': u'1883', u'keepalive': u'60', u'username': u'None', u'password': u'None', u'binding': u'loop', u'message_callback': {u'type': u'individual'}, u'topics': {u'unit_system': u'METRIC', u'temperature/jardin': {u'name': u'outTemp', u'ignore': u'False', u'contains_total': u'False', u'conversion_type': u'float', u'units': u'degree_C'}}}
Nov 11 16:46:30 vegan weewx[30993] DEBUG user.MQTTSubscribe: (Service) TopicManager config is {u'unit_system': u'METRIC', 'overlap': 0.0, u'temperature/jardin': {u'name': u'outTemp', u'ignore': u'False', u'contains_total': u'False', u'conversion_type': u'float', u'units': u'degree_C'}}
Nov 11 16:49:36 vegan weewx[30993] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2020-11-11 16:47:15 CET (1605109635): clockUnsynchronized: 1, dateTime: 1605109635, outTempBatteryStatus: 0, outTempFault: 1, rainBatteryStatus: 0, rainFault: 0, usUnits: 16, uvBatteryStatus: 0, uvFault: 0, windBatteryStatus: 1, windFault: 0
Nov 11 16:49:36 vegan weewx[30993] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2020-11-11 16:48:09 CET (1605109689): clockUnsynchronized: 1, dateTime: 1605109689, outTempBatteryStatus: 0, outTempFault: 1, rainBatteryStatus: 0, rainFault: 0, usUnits: 16, uvBatteryStatus: 0, uvFault: 0, windBatteryStatus: 1, windFault: 0
Nov 11 16:49:36 vegan weewx[30993] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2020-11-11 16:48:53 CET (1605109733): clockUnsynchronized: 1, dateTime: 1605109733, outTempBatteryStatus: 0, outTempFault: 1, rainBatteryStatus: 0, rainFault: 0, usUnits: 16, uvBatteryStatus: 0, uvFault: 0, windBatteryStatus: 1, windFault: 0
Nov 11 16:49:36 vegan weewx[30993] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2020-11-11 16:49:08 CET (1605109748): clockUnsynchronized: 1, dateTime: 1605109748, outTempBatteryStatus: 0, outTempFault: 1, rainBatteryStatus: 0, rainFault: 0, usUnits: 16, uvBatteryStatus: 0, uvFault: 0, windBatteryStatus: 1, windFault: 0
Nov 11 16:50:15 vegan weewx[30993] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2020-11-11 16:50:12 CET (1605109812): clockUnsynchronized: 1, dateTime: 1605109812, outTempBatteryStatus: 0, outTempFault: 1, rainBatteryStatus: 0, rainFault: 0, usUnits: 16, uvBatteryStatus: 0, uvFault: 0, windBatteryStatus: 1, windFault: 0
Nov 11 16:51:15 vegan weewx[30993] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2020-11-11 16:51:08 CET (1605109868): clockUnsynchronized: 1, dateTime: 1605109868, outTempBatteryStatus: 0, outTempFault: 1, rainBatteryStatus: 0, rainFault: 0, usUnits: 16, uvBatteryStatus: 0, uvFault: 0, windBatteryStatus: 1, windFault: 0
Nov 11 16:52:15 vegan weewx[30993] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2020-11-11 16:52:08 CET (1605109928): clockUnsynchronized: 1, dateTime: 1605109928, outTempBatteryStatus: 0, outTempFault: 1, rainBatteryStatus: 0, rainFault: 0, usUnits: 16, uvBatteryStatus: 0, uvFault: 0, windBatteryStatus: 1, windFault: 0

My MQTT topic is "temperature/jardin" and I directly put as message the temperature e.g 16.5.
This is  how I configured MQTTSubscribe (as a service):

[MQTTSubscribeService]
    # This section is for the MQTTSubscribe service.
    
    # Turn the service on and off.
    # Default is: true
    # Only used by the service.
    enable = true
    
    # The MQTT server.
    # Default is localhost.
    host = 192.168.0.9
    
    # 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 = individual
    
    # The topics to subscribe to.
    [[topics]]
        # Units for MQTT payloads without unit value.
        # Valid values: US, METRIC, METRICWX
        # Default is: US
        unit_system = METRIC
        
        [[[temperature/jardin]]]
        name = outTemp
        ignore = False
        contains_total = False
        conversion_type = float
        units = degree_C

bell...@gmail.com

unread,
Nov 11, 2020, 11:26:04 AM11/11/20
to weewx-user

Hard to say what is wrong from that snippet of log. Could you post the log from start up through an archive record creation?
rich

Invisible Man

unread,
Nov 11, 2020, 11:50:20 AM11/11/20
to weewx-user
Sure. I'll post everything from the start.
log.txt

Invisible Man

unread,
Nov 16, 2020, 4:21:32 PM11/16/20
to weewx-user
Thanks!
Reply all
Reply to author
Forward
0 new messages