So I finally upgraded our core system to OH4 from OH3. A few days ago. All seemed good - although I finally noticed one minor thing due to the units now getting normalized in OH4.
So the blank part 08/20 00:00 is when the servers were offline for disk imagining - prior to the backup - just in case snapshots failed, etc… no issue.
Then there’s a blip where it kicks in with OH3 before the OH4 upgrade is run.
Now there’s the fun bit. The VeSync binding I initially did porting of the protocol from pyvesync, originally mapped the units as what I would call pass-through. From what the binding specified through the entire system, so it was reflective of what the unit displayed. With the upgrade it changed the units to kg/m3, which effectively zeroed out the units and would have made the rules invalid I believe.
I have added another column to the VeSync binding Readme.md called units and specified the explicit units against the channel, where the normalized mappings would impact the binding.
I really hate suggesting anything that creates work for us developers, but my experiences makes me think for OH 4 all bindings may need a doc revisit, and a unit column added if they don’t have it.
I say this as I wouldn’t have a clue what to use, and luckily from the context of writing the binding could figure out what to google until I found the correct unit’s def. to use and test. Now at least users can see it in the documentation when that gets merged - I would have been stumped however as a end user, who didn’t know the units of the protocol. (Also its still a pig to find what is the correct unit string entry to use - I see other UI suggestions elsewhere to fix this ).
In the meantime it makes me think that anything that maps to a non standard unit, need’s this column and we unfortunately need to check for it on PRs as well?
Any thoughts - the above is hopefully just useful input based on my experience.(Maybe there is already a unit column in other bindings I’ve never seen?).