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/964067fe-a512-4928-acb6-0197a928ff77n%40googlegroups.com.