Well, I don’t understand how that configuration even got that far. I would
have expected the previous error. But just seeing log snippets is like
walking around blindfolded. Base on your last config snippet, replace it
with
The topics to subscribe to.
[[topics]]
# Units for MQTT payloads without unit value.
# Valid values: US, METRIC, METRICWX
# Default is: US
unit_system = US
ignore_start_time = true
ignore_end_time = true
use_topic_as_fieldname = true
# The first topic
# MQTT Topic
[[[snowDepth]]]
This last error has to do with trying to convert the units of snowDepth.
Either it WeeWX does not fully support that, or more likely I am doing
something wrong. But since everything is in the US unit_system, you don’t
need to specify units at the field level.
On Monday, 12 October 2020 at 10:38:14 UTC-4 [email protected] wrote:
> I decided to try simplifying the topic to just snowDepth, as this:
>
> The topics to subscribe to.
> [[topics]]
> # Units for MQTT payloads without unit value.
> # Valid values: US, METRIC, METRICWX
> # Default is: US
> unit_system = US
> ignore_start_time = true
> ignore_end_time = true
> use_topic_as_fieldname = true
>
> # The first topic
> # MQTT Topic
> [[[snowDepth]]]
> # MQTT name
> [[[[snowDepth]]]]
> # weewx name
> name = snowDepth
> ignore = false
> contains_total = false
> conversion_type = float
> units = inch
>
> when I publish 2.5 to snowDepth, I get this error in syslog:
>
> Oct 12 08:12:52 raspberrypi weewx[29222] DEBUG user.MQTTSubscribe:
> (Service) MessageCallbackProvider data-> incoming topic: snowDepth, QOS: 0,
> retain: 0, payload: b'2.5'
> Oct 12 08:12:52 raspberrypi weewx[29222] DEBUG weewx.units: Unable to
> convert from inch to None
> Oct 12 08:12:52 raspberrypi weewx[29222] ERROR user.MQTTSubscribe:
> (Service) MessageCallbackProvider on_message_individual failed with: None
> Oct 12 08:12:52 raspberrypi weewx[29222] ERROR user.MQTTSubscribe:
> (Service) **** MessageCallbackProvider Ignoring topic=snowDepth and
> payload=b'2.5'
>
> Could you perhaps post a working configuration file, any topic, any unit,
> etc. just one that works on your weewx and I will plug it in and see what
> happens?
>
> On Sunday, October 11, 2020 at 7:27:15 PM UTC-6 Timothy Buchanan wrote:
>
>> See attached.
>>
>> On Sunday, October 11, 2020 at 5:45:43 PM UTC-6 [email protected] wrote:
>>
>>> Sorry, I didn’t get the config quite right. I don’t subscribe to
>>> ‘individual’ topics, so this is untested, but should work. If it doesn’t,
>>> I’ll spin up a debug environment to figure it out.
>>> [[topics]]
>>> Keep the current settings, unit_system, ignore_start_time,
>>> ignore_end_time, etc.
>>>
>>> # The next option will take the tail end of the topic and use it as
>>> the MQTT field name
>>> # So, if the topic is snow/snowDepth, the MQTT field name is snowDepth
>>> # Only valid when the payload is type ‘individual’
>>> use_topic_as_fieldname = true
>>> [[[snow/snowDepth]]]
>>> # Because snowDepth is the WeeWX name and the defaults work for you,
>>> nothing else is needed.
>>> [[[snow/snowRate]]]
>>> # Not sure, but the defaults should probably work here...
>>>
>>> Again, if this doesn’t work; post the log and I’ll spin up a debug
>>> environment to figure out what is going on.
>>> rich
>>> On Sunday, 11 October 2020 at 16:43:58 UTC-4 [email protected]
>>> wrote:
>>>
>>>> After moving the ignore lines, I am happy to report that the time
>>>> problem is solved; that is, it is no longer rejecting the topic. However,
>>>> it is still not making it into the database. I think this is because it is
>>>> not converting from snow/snowDepth to snowDepth. See attached syslog
>>>> extract and weewx.conf for section where topic is configured. Is there a
>>>> mistake in this topic configuration?
>>>>
>>>> On Sunday, October 11, 2020 at 11:26:27 AM UTC-6 [email protected]
>>>> wrote:
>>>>
>>>>> I've run both extensions off and on, so I don't think there is any
>>>>> conflict. The root-root cause is time skew between your pi and weather
>>>>> station and MQTTSubscribe being a bit overly aggressive on its quality
>>>>> control. Setting ignore_start_time and ignore_end_time should turn this
>>>>> off
>>>>> completely. Since the incoming data has no dateTime, this seems the most
>>>>> logical approach.
>>>>>
>>>>> I noticed in the latest attached config, those options are in the
>>>>> wrong place. Move them under [[topics]] after
>>>>> unit_system = US
>>>>> ignore_start_time = true
>>>>> ignore_end_time = true
>>>>> Also, Ignore_end_time has a capital "I".
>>>>> If it is still not working, please attach the log from startup. That
>>>>> way we can see how the options are being processed.
>>>>> I think we are real close. -rich
>>>>>
>>>>> On Sunday, 11 October 2020 at 12:20:32 UTC-4 [email protected]
>>>>> wrote:
>>>>>
>>>>>> I used wee_extension to uninstall the old version then install the
>>>>>> new. I used the configuration as shown in the attached file. When I
>>>>>> publish
>>>>>> to a topic, Topic Manager still ignores it as outside of interval
>>>>>> (syslog
>>>>>> extract in attached file).
>>>>>>
>>>>>> I'm thinking that MQTTSubscribe is not compatible with the mqtt
>>>>>> extension. I note that MQTTSubscribe is publishing records of data that
>>>>>> it
>>>>>> is not subscribed to, but which are published by mqtt. Have you tried
>>>>>> running MQTTSubscribe and mqtt together?
>>>>>>
>>>>>> On Saturday, October 10, 2020 at 5:10:34 PM UTC-6 [email protected]
>>>>>> wrote:
>>>>>>
>>>>>>> I created a pre-release with the fix. It is here,
>>>>>>> https://github.com/bellrichm/WeeWX-MQTTSubscribe/releases/tag/v1.6.2-rc03
>>>>>>> Hopefully this is it.
>>>>>>> rich
>>>>>>> On Saturday, 10 October 2020 at 10:15:29 UTC-4 [email protected]
>>>>>>> wrote:
>>>>>>>
>>>>>>>> OK, thanks for your help.
>>>>>>>>
>>>>>>>> On Saturday, October 10, 2020 at 7:22:18 AM UTC-6 [email protected]
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Thanks for the log. Looks like there is a bug with the
>>>>>>>>> ignore_start_time option. Fix looks easy, I just need to make sure
>>>>>>>>> there
>>>>>>>>> are no side effects.
>>>>>>>>> I’ll let you know when the fix is available.
>>>>>>>>> - rich
>>>>>>>>>
>>>>>>>>> On Friday, 9 October 2020 at 22:55:11 UTC-4 [email protected]
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> I added those this way:
>>>>>>>>>>
>>>>>>>>>> # The topics to subscribe to.
>>>>>>>>>> [[topics]]
>>>>>>>>>> # Units for MQTT payloads without unit value.
>>>>>>>>>> # Valid values: US, METRIC, METRICWX
>>>>>>>>>> # Default is: US
>>>>>>>>>> unit_system = US
>>>>>>>>>> ignore_start_time = true
>>>>>>>>>> Ignore_end_time = true
>>>>>>>>>>
>>>>>>>>>> but I still get this:
>>>>>>>>>>
>>>>>>>>>> Oct 9 20:38:29 raspberrypi weewx[30461] INFO weewx.restx: MQTT:
>>>>>>>>>> Published record 2020-10-09 20:38:47 MDT (1602297527)
>>>>>>>>>> Oct 9 20:38:30 raspberrypi weewx[30461] DEBUG
>>>>>>>>>> user.MQTTSubscribe: (Service) MessageCallbackProvider data->
>>>>>>>>>> incoming
>>>>>>>>>> topic: snow/snowDepth, QOS: 0, retain: 0, payload: b'7'
>>>>>>>>>> Oct 9 20:38:30 raspberrypi weewx[30461] DEBUG
>>>>>>>>>> user.MQTTSubscribe: (Service) TopicManager data-> incoming
>>>>>>>>>> snow/snowDepth:
>>>>>>>>>> snow/snowDepth: 7.0
>>>>>>>>>> Oct 9 20:38:31 raspberrypi weewx[30461] DEBUG
>>>>>>>>>> user.MQTTSubscribe: (Service) TopicManager data-> outgoing
>>>>>>>>>> snow/snowDepth:
>>>>>>>>>> dateTime: 1602297510.2596123, snow/snowDepth: 7.0, usUnits: 1
>>>>>>>>>> Oct 9 20:38:31 raspberrypi weewx[30461] INFO user.MQTTSubscribe:
>>>>>>>>>> (Service) TopicManager ignoring record outside of interval
>>>>>>>>>> 1602297510.259612 1602297529.000000 1602297510.259612 dateTime:
>>>>>>>>>> 1602297510.2596123, snow/snowDepth: 7.0, usUnits: 1
>>>>>>>>>> Oct 9 20:38:31 raspberrypi weewx[30461] DEBUG
>>>>>>>>>> user.MQTTSubscribe: (Service) TopicManager data-> outgoing
>>>>>>>>>> accumulated
>>>>>>>>>> snow/snowDepth:
>>>>>>>>>> Oct 9 20:38:31 raspberrypi weewx[30461] DEBUG
>>>>>>>>>> user.MQTTSubscribe: (Service) data-> final packet is 2020-10-09
>>>>>>>>>> 20:38:49
>>>>>>>>>> MDT (1602297529): avg_distance: 0, dateTime: 1602297529,
>>>>>>>>>> lightning_strikes:
>>>>>>>>>> 0, outHumidity: 23, outTemp: 13.34, outTempBatteryStatus: 2.919,
>>>>>>>>>> pressure:
>>>>>>>>>> 744.7, usUnits: 17
>>>>>>>>>> Oct 9 20:38:31 raspberrypi weewx[30461] INFO weewx.restx: MQTT:
>>>>>>>>>> Published record 2020-10-09 20:38:49 MDT (1602297529)
>>>>>>>>>> Oct 9 20:38:32 raspberrypi weewx[30461] DEBUG
>>>>>>>>>> user.MQTTSubscribe: (Service) data-> final packet is 2020-10-09
>>>>>>>>>> 20:38:50
>>>>>>>>>> MDT (1602297530): dateTime: 1602297530, usUnits: 17, windDir: 336,
>>>>>>>>>> windSpeed: 0.72
>>>>>>>>>> Oct 9 20:38:32 raspberrypi weewx[30461] INFO weewx.restx: MQTT:
>>>>>>>>>> Published record 2020-10-09 20:38:50 MDT (1602297530)
>>>>>>>>>>
>>>>>>>>>> On Friday, October 9, 2020 at 5:13:41 PM UTC-6 [email protected]
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Ah, crap. This has to do with an attempt to quality control
>>>>>>>>>>> data by time. Next major release, I really need to rework it...
>>>>>>>>>>> Since you have individual payloads (no timestamp from the
>>>>>>>>>>> origin) add the following under [[topics]]
>>>>>>>>>>> ignore_start_time = true
>>>>>>>>>>> Ignore_end_time = true
>>>>>>>>>>>
>>>>>>>>>>> We are getting close. Sorry for the pain.
>>>>>>>>>>> rich
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Friday, 9 October 2020 at 18:36:27 UTC-4
>>>>>>>>>>> [email protected] wrote:
>>>>>>>>>>>
>>>>>>>>>>>> syslog extract posted. weewx is loading the service, though it
>>>>>>>>>>>> also seems to subscribe to the data which MQTT is publishing from
>>>>>>>>>>>> weewx.
>>>>>>>>>>>> the second section shows that subscribe receives the data I
>>>>>>>>>>>> published from
>>>>>>>>>>>> the terminal (6 inches of snow), but rejects it as outside of
>>>>>>>>>>>> interval. Is
>>>>>>>>>>>> there an entry to be made somewhere to sync incoming data? I note
>>>>>>>>>>>> that
>>>>>>>>>>>> another extension I use (GW1000) needed dateTime = datetime in a
>>>>>>>>>>>> field map
>>>>>>>>>>>> to work properly.
>>>>>>>>>>>>
>>>>>>>>>>>> On Friday, October 9, 2020 at 2:54:56 PM UTC-6
>>>>>>>>>>>> [email protected] wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> That could be simplified, but looks like it should work. The
>>>>>>>>>>>>> quickest and easiest way to proceed is to set debug to 1, restart
>>>>>>>>>>>>> WeeWX,
>>>>>>>>>>>>> let it run through an archive cycle during which you published to
>>>>>>>>>>>>> that
>>>>>>>>>>>>> topic and then post the log.
>>>>>>>>>>>>>
>>>>>>>>>>>>> Re: snowBatteryStatus - The units config option is only needed
>>>>>>>>>>>>> if the field units do not match the units expected by the
>>>>>>>>>>>>> unit_system. So
>>>>>>>>>>>>> eliminating will at least get the data in the DB.
>>>>>>>>>>>>> Note, units is not needed for snowDepth because inches is the
>>>>>>>>>>>>> Units for that field in the US unit_system.
>>>>>>>>>>>>> rich
>>>>>>>>>>>>> On Friday, 9 October 2020 at 14:23:01 UTC-4
>>>>>>>>>>>>> [email protected] wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> I've attached a syslog extract showing where weewx crashed.
>>>>>>>>>>>>>> it seems that "volt" is an invalid unit for my topic. i don't
>>>>>>>>>>>>>> know why but
>>>>>>>>>>>>>> for now I commented out that topic and its parameters. Now,
>>>>>>>>>>>>>> weewx will
>>>>>>>>>>>>>> continue running when subscribe is enabled, but subscribed
>>>>>>>>>>>>>> topics are not
>>>>>>>>>>>>>> being posted to the database. Here is the first topic in
>>>>>>>>>>>>>> weewx.conf:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> # The first topic
>>>>>>>>>>>>>> # MQTT Topic
>>>>>>>>>>>>>> [[[snow/snowDepth]]]
>>>>>>>>>>>>>> # MQTT name
>>>>>>>>>>>>>> [[[[snowDepth]]]]
>>>>>>>>>>>>>> # weewx name
>>>>>>>>>>>>>> name = snowDepth
>>>>>>>>>>>>>> ignore = false
>>>>>>>>>>>>>> contains_total = false
>>>>>>>>>>>>>> conversion_type = float
>>>>>>>>>>>>>> units = inch
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I used a terminal to publish "6" to snow/snowDepth on
>>>>>>>>>>>>>> Mosquitto. Another terminal window command to subscribe to
>>>>>>>>>>>>>> snow/snowDepth
>>>>>>>>>>>>>> received the "6" but the database entries for snowDepth are
>>>>>>>>>>>>>> null. Is this
>>>>>>>>>>>>>> configuration of topics still not correct. Thanks.
>>>>>>>>>>>>>> On Tuesday, October 6, 2020 at 1:43:31 PM UTC-6 Timothy
>>>>>>>>>>>>>> Buchanan wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks, Rich. I'll try it when I get back. I'll be in our
>>>>>>>>>>>>>>> second home for a few days: going to the gun range and the
>>>>>>>>>>>>>>> clothing-optional resort (not at the same time!).
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Tuesday, October 6, 2020 at 1:19:26 PM UTC-6
>>>>>>>>>>>>>>> [email protected] wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> So, the [[[first/topic]]] are meant to be replaced with the
>>>>>>>>>>>>>>>> actual topic. So it would be something like this
>>>>>>>>>>>>>>>> ```
>>>>>>>>>>>>>>>> [[Topics]]
>>>>>>>>>>>>>>>> [[[topic name that snowDepth is published on]]]
>>>>>>>>>>>>>>>> [[[[topic name that snowDepth is published on]]]]
>>>>>>>>>>>>>>>> name = snowDepth
>>>>>>>>>>>>>>>> [[[topic name that snowRate is published on]]]
>>>>>>>>>>>>>>>> [[[[topic name that snowRate is published on]]]]
>>>>>>>>>>>>>>>> name = snowRate
>>>>>>>>>>>>>>>> ```
>>>>>>>>>>>>>>>> The duplication is an artifact of dealing with json and
>>>>>>>>>>>>>>>> keyword payloads. The ```use_topic_as_fieldname``` option
>>>>>>>>>>>>>>>> can be used to make the config a bit prettier.
>>>>>>>>>>>>>>>> ```
>>>>>>>>>>>>>>>> [[Topics]]
>>>>>>>>>>>>>>>> use_topic_as_fieldname = true
>>>>>>>>>>>>>>>> [[[topic name that snowDepth is published on]]]
>>>>>>>>>>>>>>>> name = snowDepth
>>>>>>>>>>>>>>>> [[[topic name that snowRate is published on]]]
>>>>>>>>>>>>>>>> name = snowRate
>>>>>>>>>>>>>>>> ```
>>>>>>>>>>>>>>>> Note, if snowDepth is actually published on the topic
>>>>>>>>>>>>>>>> snowDepth, the ```name``` option can be left off.
>>>>>>>>>>>>>>>> I don’t think that you want to set contains_total=true for
>>>>>>>>>>>>>>>> snowDepth. This is used when the field contains a total and it
>>>>>>>>>>>>>>>> needs to be
>>>>>>>>>>>>>>>> converted into an increment for WeeWX.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> I’ll work on clarifying the wiki.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> With that said, it shouldn’t have broken WeeWX. If you are
>>>>>>>>>>>>>>>> up for it, before changing the config, setting debug=1,
>>>>>>>>>>>>>>>> restarting WeeWX
>>>>>>>>>>>>>>>> for a couple of archive intervals and attaching the log would
>>>>>>>>>>>>>>>> be
>>>>>>>>>>>>>>>> appreciated .
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> rich
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On Tuesday, 6 October 2020 at 13:28:34 UTC-4
>>>>>>>>>>>>>>>> [email protected] wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> Attached is the extension material that I put into
>>>>>>>>>>>>>>>>> weewx.conf. But when I set enable = true, weewx stops
>>>>>>>>>>>>>>>>> archiving data. Is
>>>>>>>>>>>>>>>>> there an error in this configuration, or could subscribe be
>>>>>>>>>>>>>>>>> incompatible
>>>>>>>>>>>>>>>>> with another service? I'm using the Weatherflowudp driver
>>>>>>>>>>>>>>>>> with mqtt and
>>>>>>>>>>>>>>>>> GW1000 extensions.
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Tuesday, October 6, 2020 at 9:17:07 AM UTC-6 Timothy
>>>>>>>>>>>>>>>>> Buchanan wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Thanks, Rich, I should be able to edit weewx.conf based
>>>>>>>>>>>>>>>>>> on the example at the bottom of that page.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I am using an ESP8266 board with an ultrasonic sensor and
>>>>>>>>>>>>>>>>>> a temperature sensor (to calibrate the speed of sound), and
>>>>>>>>>>>>>>>>>> programming in
>>>>>>>>>>>>>>>>>> the Arduino IDE. I'll 3D print a case and mount it above my
>>>>>>>>>>>>>>>>>> deck. The
>>>>>>>>>>>>>>>>>> materials cost about $15.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> I'd be happy to post the code here, under a new topic,
>>>>>>>>>>>>>>>>>> once I get it working.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Timothy
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On Tuesday, October 6, 2020 at 8:53:45 AM UTC-6
>>>>>>>>>>>>>>>>>> [email protected] wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> What type of sensor are you using for measuring snow
>>>>>>>>>>>>>>>>>>> depth?
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
--
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/4a5ab51a-4e76-4f60-ad04-3efe3ef23b28n%40googlegroups.com.