Comments (6)
When running as a service MQTTSubscribe attempts to quality control the incoming data so that really old data is not processed. In hindsight it is too aggressive... The message should have three times, the ‘interval’ start, end, and the incoming time. You can either ignore the incoming time via ignore_start_time/ignore_end_time or allow data outside the ‘interval’ via adjust_start_time/adjust_end_time. For more information see, https://github.com/bellrichm/WeeWX-MQTTSubscribe/wiki/Date-Time-processing
-rich
from weewx-mqttsubscribe.
Thanks. I think ignore_start_time/ignore_end_time is what I want since my MQTT payload does not include a dateTime value.
Another question - you can submit as many loops as you want. Is the service waiting for the driver to submit a loop before it augments this MQTT data? Is there a way to send a separate LOOP from MQTT?
I'm lucky in that my driver and my MQTT data is ~2.5s so the timing is OK. But thinking if I had a 16 second LOOP, and my MQTT was 2.5s, would the augmented LOOP be 8 values behind? (does that make sense?)
from weewx-mqttsubscribe.
Yeah, the ignore* sounds like the way to go. Someday (when I have time...) I should rework some of the datetime stuff.
Yes, the service waits for a loop to ‘arrive’ from the driver. It treats each loop as a ‘mini archive period’. So for example, rain would be summed in those theoretical 16 seconds, temperature averaged, etc. All of this behavior controlled by the ‘Accumulator’ configuration in the WeeWX configuration file.
Having the service create its own loop is an interesting idea, but is too far out of the current WeeWX architecture for me...
-rich
from weewx-mqttsubscribe.
No worries - I think for my purposes it'll work just fine. Thanks for the help and insight!
from weewx-mqttsubscribe.
You might be right about the service not being able to submit loop packets because I don't think services have the genLoopPackets
function. Anyways probably a non-issue!
from weewx-mqttsubscribe.
Good point, I’d have to do some real internal WeeWX stuff to make it ‘work’.
From my understanding (and I’m no WeeWX expert), by treating the loop as a ‘mini archive period’ it should accomplish the same, discounting rounding differences, etc.
from weewx-mqttsubscribe.
Related Issues (20)
- MQTT problems cause WeeWX consuming all the CPU HOT 13
- MessageCallbackProvider on_message_json failed with <class 'user.MQTTSubscribe.ConversionError'> HOT 1
- Gaps in WeeWx data HOT 26
- Parse more complex json messages HOT 2
- Deprecate [[message_callback]] HOT 4
- Refactor the validate function so that it can used when running under WeeWX HOT 1
- Cleanup WeeWX stubs and mocks
- Support paho mqtt v2
- V3 to dos
- Error in Debian 12 with python 3.11 - AttributeError: 'Client' object has no attribute '_sock' HOT 2
- Attempt to parse this json HOT 2
- Develop a program to parse data sourced from a file HOT 1
- Allow setting `ignore = true` for a subfield HOT 1
- Rework subfield processing
- Support paho mqtt v2 api signatures
- Support mqtt v5
- Download "latest" doesn't work HOT 5
- Question: How to get MQTT data to cache/persist/stay in place/stick around/not reset until it changes HOT 1
- ValueError: [[topics]] is required. HOT 1
- aggregation for observation? HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from weewx-mqttsubscribe.