Hi Mark,
It seems that this was caused by recent PHP8 changes turning an old non-fatal bug into a new fatal bug.
We were sending one too many arguments to the sensor discovery function, shifting multiplier/scale, current value, and the options array up one, resulting in the current value being set as the options array, which would previously not have had any effect beyond breaking some old compatibility code, but now produces a fatal error because in newer versions trying to get an array value from a string/integer is fatal!

I think this code is pretty old, so this has been there since 2019.
If you want to see how bugs are formed, here you go. When I migrated this code in 2019, the $descr argument shared a line, so I suppose I must have inserted the NULL somehow to replace the "missing" argument, and then when reformatting moved the $descr to its own line:

It should be fixed in SVN now as of 13603.
You can pull this file and drop it over your broken one with:
curl -u <USERNAME> https://svn.observium.org/svn/observium/trunk/includes/discovery/sensors/dnos-boxservices-private-mib.inc.php -o /opt/observium/includes/discovery/sensors/dnos-boxservices-private-mib.inc.php
Replace the <USERNAME> with your svn username.
If that fixes it I'll do a stable merge.
adam.
That FIXED it...

THANKS....