Code Monkey home page Code Monkey logo

Comments (6)

bemasher avatar bemasher commented on July 20, 2024 2

The primary issue is that meters typically update their consumption values at a different rate than transmitting messages. This means it's not uncommon to receive a message with the exact same contents from a meter more than once. For example, a lot of SCM-capable power meters update consumption every 5 minutes, and transmit every 30 seconds.

At the moment rtlamr-collect is structured to only really handle IDM messages because they provide historical data and more importantly, an interval index. With the interval index you can determine whether or not a message is part of a new interval, the last one we are aware of, or if we missed some intervals in between.

I have considered adding logic to handle SCM's, but it wouldn't keep any history. Instead, it would only parse and forward the message directly to InfluxDB. InfluxDB is fairly efficient for doing calculations like derivatives, which would take care of not keeping any historical data in rtlamr-collect itself.

I'll take a look at what would be necessary to add that.

from rtlamr-collect.

bemasher avatar bemasher commented on July 20, 2024 2

Support for all of the protocols rtlamr supports is coming, but will modify some of the current default behavior, so it will be a breaking change for anyone already using rtlamr-collect.

from rtlamr-collect.

KanyonKris avatar KanyonKris commented on July 20, 2024

@bemasher thank you for that detailed explanation. It explains why I was getting very noisy power consumption values using only simple math. Sounds like I could get some useful values if I used a longer time interval, like an hour - that way the uncertainty of when the reading occurred would not matter as much. But if you can come up with a way to use derivatives to get a pseudo real time reading (5-10 minute updates would be fine for me), that would be cool.

from rtlamr-collect.

mash55 avatar mash55 commented on July 20, 2024

@bemasher - First of all, thanks for the provided tools. After realizing that all my utility meters (gas, water, electricty (PV production and NET meter)) can be detected by your tool, I was hoping to graph all of them in Grafana. I am especially interested in the NET meter data. Unfortunately only the PV-production meter is sending out idm messages. Gas and NET meter are sending scm and the water meter is sending our r900 messages. Bottom line, it was very educational for me to 'play' with all the tools and I am hoping that you can and will implement support for other messages too.

from rtlamr-collect.

mash55 avatar mash55 commented on July 20, 2024

looking forward to the new version - thanks

from rtlamr-collect.

bemasher avatar bemasher commented on July 20, 2024

rtlamr-collect has been significantly rewritten to more gracefully handle meters that report differential data like IDM and NetIDM, and now supports SCM, SCM+, R900 and R900 BCD.

I don't have the opportunity to test this with all of the different protocols, so please let me know if you find any more issues.

I will need to re-write some of the continuous queries I provided with init.iql as well.

from rtlamr-collect.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.