Circular display for values with unknown limit

I am currently working on a widget that generalizes this one.

Dials make for a nice graphical and intuitive display of values. Scaling to 270° is trivial if a maximum value is known. I have chosen to go the exponential route for pv production and battery charge.

Load/consumption and to and from grid are a bit more trickier. There are no defined upper values for the power. While pv production is technically limited to the known kWp rating of the system and battery is well defined too, load and grid can potentially be arbitrary small or large numbers (in case of grid potentially negative). I guess there is an upper limit set by the power company, but actually I am not even sure about mine. Finding the breaker amps would work, but requires additional knowledge to get to the power rating from there. I do not want the average user to try and find out as it is error prone and unreliable.

I am now considering scaling those values using a one-dimensional Riemann projection, which allows for theoretically infinite values to be displayed on a finite scale. While the math involved is not that tricky, it is kind of involved. I am a bit concerned about computing resources. The whole thing has to run in the browser through several abstraction layers (YAML, js, Vue…) and I can’t really estimate the overhead introduced by this.

Maybe I am overthinking the problem, should just throw in an upper limit of 20 kW and be done with it. Any thoughts?

I think you’re overthinking the problem. A house owner has to know where are the fuses - it’s safety if you need to cut off the power. If you can read the value from the main fuse converting it to power is trivial (1 or 3 phase, assume cos fi = 1, nominal voltage is always known). My 32A 3 phase fuse would give ~22kW of peak power. I’d assume that the company providing electricity shows that info on the invoice as contracted power. In Europe it’s the case everywhere I lived, not sure about the rest of the world. I’d not go for the hard limit - 20kW might be a lot in some places and you end up with the gauge being close to 0 all the time. I have 10kW max grid/solar power, right now, I used to have 3.3 kW (funny, but true) or 5 kW. Having hard coded 20kW would not look nice.

P.S. I use OH4 knob with scale set to nominal max. of the inverter for the solar power:
image

P.S.S Do you have any good read on the one-dimensional Riemann projection? I can’t find anything…

1 Like

I’d second. Any house has a maximum grid spec in DE it is 63A I believe.
Make maximum power a configurable value for the widget and you are set.

Thank you for your answer. I do know how to calculate the maximal power draw from the fuses amperage. As you described it, it is not that hard. I am not sure if this is general knowledge (to be precise there are some other things like power factors for AC to be considered). I was aiming for a fire and forget solution, nothing to configure for the end user.

But you are probably right: Whoever does install OpenHAB to monitor their PV system, does know how to do it, so I’ll just add another parameter, maybe with a default of 10kW, which seems to be a sensible assumption for most places. Worst case the scale does not work and they have to fiddle with the value to get good results.

As for the one dimensional Riemann projection, it is this, but instead for the complex plane for a number line, so not quite as complex (I’ll show myself out).

1 Like