AI-on-the-edge-device
AI-on-the-edge-device copied to clipboard
Support digital displays iterating through different modes
The Feature
There are energy meters with digital displays which alternate to display different informations. Eg:
- Value of low tariff
- Value of high tariff
- Time
- ...
They usually automatically iterate through those modes based on a time interval. They usually have a spot on the display which shows the currently showed mode.
There where now several requests for such thing, so we should consider looking into it.
Sources:
- https://github.com/jomjol/AI-on-the-edge-device/discussions/1920
We would need to:
- do the alignment
- detect which mode currently is shown.
- only proceed if we are in the right mode.
- if not in the right mode, we should try again (not waiting until the next round is up)
This also would allow us to have 2 numbers (eg. for 2 tariffs) which show their information on the same spot. An example for this is the meters as documented in https://www.aew.ch/sites/default/files/2019-06/uebersicht-der-haeufigsten-zaehlertypen-der-AEW.pdf. They switch between the shown tariffs every 15s.
Another example would be something like this: https://qundis.de/wp-content/uploads/2017/12/Datenblatt_Q-water-5.5_Messkapsel_V220.pdf
The “important” part, which shows the cumulative consumption, looks like this.
However, there is also a view, which shows last year's total consumption, which looks rather similar in terms of “mode indication”:
Would the detection of the “cumulative consumption view” still work in that case?
Is the only difference the bottom right arrow? It might be quite tricky to detect such thing reliably. And it for sure would have to be specifically trained/configured.
Yes. Another indicator would be that last year's total consumption is always less. But I am not well enough informed about this project to know if that can be considered with how everything is processed.
Technically it is posssible, but I think it is quite dome effort.
some solutions which might work for now:
- disable negativeRateCheck and maxRateCheck and postprocess/split on receiver side. it should not be too hardveg. with homeassistant based on the numbers if they are far enough apart.
- or place 2 NUMBERS above each other, both with its matching preValue. always one then will have an error but the other one will transmit its value.
I'd like to add another related usecase here. In the above situations, there are multiple values being displayed in sequence, but only one of those values is important.
In my situation I have an Iskra MT631 (https://www.iskraemeco.com/app/uploads/2019/09/MT631-632.pdf) electricity meter which alternates between showing the produced (photovoltaik surplus) energy and the used energy.
It would be very useful to capture both of these numbers.
The display looks like this, and only the "OBIS-Identification" (1) changes from 1.8.0
to 2.8.0
I could imagine the workflow where the ROI configuration has an additional class "meter key" where the critical area(s) can be highlighted, and examples can be made by which the image types can be differentiated.
- Capture image and do alignment
- Determine "meter key" based on best match of the corresponding ROIs
- Apply the corresponding digitisation
- Send the data of the captured digitised value together with the "meter key"
Let me know if you need any further information, sample pictures etc. to help with this.
Another request: https://github.com/jomjol/AI-on-the-edge-device/discussions/2183
I am also having this issue with my new water meter. It works WAY better than my old meter, but it does not like it when the display changes.
Meter documentation here - https://www.instrumart.com/assets/HR-E-manual.pdf
Which model are you using? Did you give https://jomjol.github.io/AI-on-the-edge-device-docs/Choosing-the-Model/#dig-class11 a try? Looking on the documentation, this actually should solve your issue by detecting blank displays as NaN.
Just to make you aware, but AFAIK there currently is no developer working on this feature request. Also I think it is quite tricky. The neuronal network works in the way that it searches the best fitting image and uses the corresponding stored value. It would somehow needed to be extended with a threshold which makes sure only "clear" (how ever this would be qualified) detections are used...
@TravisRoy The contrast is very poor, this also will be an issue!
https://github.com/jomjol/AI-on-the-edge-device/issues/2989