- Units are not always present on the JSON. ipmi_sensor_get_base_unit_string() is used in Zabbix in zbx_got_thresh_reading_cb() and get_discovery_ipmi() - it needs to be examined is it used correctly.
- Returning "" (empty string) is bad for making triggers. Can we consider returning some number to signal "no data available"? Number 0 seems problematic, it could be a legitimate value. We need DIFFERENT fictious values for LOW and HIGH thresholds if their values are not available/defined (e.g. -9999999 and +9999999).
Please see additional discussion in