null or undefined?

Known unknowns can be useful when analysing data, and you can set a property to these special values and test for them too

When dealing with property types, values and expression evaluation, DevicePilot largely follows the conventions of the Javascript language. The type of a property is defined when it is first ingested into DevicePilot, is the same for all devices, and can be of only one of the three basic types: number, string and boolean.

Any property can also be assigned the special value "null" which means "I know that I don't know the value of this property". When DevicePilot plots values on a chart and encounters a null, it causes a break in the chart.

There is also another special value "undefined" which means "I really have no idea about this property". If a particular property has never been set on a particular device, its value is undefined. Undefined values don't break a chart.

You can explicitly set any property to either null or undefined, either on ingestion or through metadata editing, or by returning those values in a Calculated Property expression.

The first post to a property cannot be null or undefined (because DevicePilot can't use it to infer the type, because these are legal values for any type).

Here is more detail on how null and undefined are evaluated.