Device wont display an energy reading with 2 decimal point precision

I have a Minoston Mini Power Meter Plug

https://minoston.com/products/minoston-z-wave-800-series-zwave-plug-with-energy-monitoring-power-meter-z-wave-outlet-mp31zp

And I cannot seem to get it to show 2 decimal places of precision for the energy reading.. Is this a limitation of the device or is it a limitation of the driver? Its using the default driver for this device.

Any ideas only get 1 kWh precision on LEDs takes forever to get a change in readings for the month

I do see this in the manual

Energy(KWH) Report
This parameter determines the minimum change in consumed energy that will result in
sending new energy report to the main controller.
Parameter= 8, size=1byte, Value=1: 0.01KWH (default)
value range: (1~100) x0.01KWH
Value=1 --- 0.01KWH
value=2 --- 0.02KWH
value=3 --- 0.03KWH
value=100 --- 1KWH

It hard to understand what this means..

1 Like

Sorry I get it now, this is a setting that states how often it should send a report.. If i set it to 30 it will report every 0.30kWh etc..

I used the basic driver to change parameter 8, 1, to 1 which means it should report every 0.01kWh it and Ill see if the reported value changes by 0.01 now

1 Like

I'm going to guess the device, as what I'm seeing from the driver should take the value from the device as-is, ensuring it's a Double data type, which allows decimal points in Groovy -- but it's using the "scaled" value calculated by the platform, which I think is also based on other data provided by the device, and perhaps something unexpected is going on there. If you enable debug logging and wait for a power report to come in, you should see a MeterReport or command class 0x032 right before this that should contain more raw data that would give a better picture.

This affects the "frequency" (really the amount of change, not time; some devices offer both options) with which energy reports are sent by the device to the hub, but it won't affect the contents.

The built-in driver sets this to 100, or 1 KWh, by default. This could be why you are seeing what you are. Using the Basic Z-Wave Tool to change this parameter, or some other method like the new "Generic Z-Wave DT Binary Switch" driver (which would almost probably also just work for this device as-is, except it won't give you power metering--but will offer as preferences all parameters newer devices internally report), may help you see if that is indeed the case.

Sounds like you figured that out while I was typing, so I'd be curious if that is indeed the case. :slight_smile:

I'd also suggest looking at the logs.
I'm getting three significant digits with my ZEN04, supposed a cousin.
A value of "1" should do it, providing an energy reading at every .01 change.

For the device settings you could use my scanner tool as well, it will scan the device for all settings and present them to you to be changed: [RELEASE] Z-Wave Universal Device Scanner

For the scale of the readings, you could try my ZEN04 Driver (which also works as a universal power meter plug driver): [DRIVER] Zooz Smart Plugs Advanced (ZEN04, ZEN05, ZEN14, ZEN15, ZEN20, ZEN25)

If you try my driver enable debug logging and see what you get when the reports come in. I have a specially crafted debug log that is easy to understand which shows the exact values and precision the device is reporting.

4 Likes

I did try your driver for my device and it worked perfect and now I have two decimals of accuracy. this is perfect!!

only suggestion that I would have for your driver is the ability to dump or request the current config. I kind of look quick and I couldn't find it so I had to use the universal driver to get the current config and then flip back to yours to do the settings I needed.

this is a great way to write a driver to be generic so it works for everything!!

Not sure what this means? You can change the settings right from the universal scanner and they are set on the device itself so they wont change if you hen change to another driver (unless that driver sets them to something else which mine wont if its an unknown device).

Check the device info tab in the data section, ConfigVals has a Map of settings. param_num : setting_value

Yes it has been my vision for a while. I have a switch and dimmer driver so far which incorporates the scanning into a switch/dimmer driver. The next one I wanted to make was for a metering plug, combining the ZEN04 driver with the scanner tool functionality basically.

1 Like

sorry I just meant that I couldn't see the current config now that you specified it's under the device tab that makes sense to me now...

like how is this not the default driver for every single device.. scan the device figure out what features it has and display them.. I don't understand why every single device has to have a proprietary driver.. just keep altering the generic driver to support newer features that newer smart devices have.. this is genius to be honest and habitat should learn from this and just build this into the OS..

2 Likes

They actually just started to add drivers like that with 2.4.0 but there is not one setup for a metering plug, I already suggested that during beta and supposedly its on the list to add to the lineup.

Z-Wave was pretty stagnant for a while, all the supply chain issues and I think a surplus of 500/700 series chips, no one was making new devices. The older z-wave specs did not require the command classes needed to scan for the settings so it is a relatively new feature (required for 800 series devices). Mostly only Zooz was supporting it for a while there. All the back supply of chips seems to have burned up finally and now we are seeing all sorts of new devices with the 800 chips.

2 Likes

well I appreciate efforts like yours I know it takes a lot.. people don't realize how much time and effort gets put into these things.

2 Likes

like the more I think about this the more this makes absolute sense.. create a generic driver like you did that works with everything.. when the device identifies itself you can load a very simple text file that maps the parameters and values so that you at least know what they're for. that way in the UI you can at least see some descriptive information as to what each parameter does. but really this should be stored on the smart device itself. the smart devices are not as smart as everyone thinks they are. they really need to bring smart devices into the 24th century..

I'll make sure I hit your link tomorrow to buy you a coffee because I really appreciate it as it was causing some stupid issues with my plug in energy monitoring in home assistant. it was causing like 30 billion KW spikes lol

2 Likes

This is how newer generations of Z-Wave devices work, and it's how the new "Generic Z-Wave DT..." drivers introduced in Hubitat platform version 2.4.0 (which @jtp10181 alluded to above) work. For older devices, the driver really needs to know, however, and same with other protocols at the moment.

A custom driver for the device will almost always give you a better UI (e.g., more friendly or appropriate selectors and not just a raw numeric input for everything) and possibly better explanations (firmware makers are often not good at describing what they do in English), but it helps the hub deal better with devices no developer has ever seen before, at least.

1 Like

@jtp10181 I refuse to use PayPal as the company does criminal things and should not exist! SO meaning I don't have an account. Is it okay to send your email from GitHub an Amazon.com gift card? I am assuming US?

1 Like

Yes that would work or also I have the buy me a coffee thing setup. I have only added it to the zen switch/dimmer driver post so far.

I donโ€™t actually like coffee but I do like pizza.

2 Likes

MMMM Pizza!!! Sent! Appreciate the work!

2 Likes