docs: def default(self, obj):
          """Serialize obj into JSON."""
          # pylint: disable=method-hidden, protected-access, arguments-differ
          if isinstance(obj, Sensor):
              return {
                  'sensor_id': obj.sensor_id,
                  'children': obj.children,
                  'type': obj.type,
                  'sketch_name': obj.sketch_name,
                  'sketch_version': obj.sketch_version,
                  'battery_level': obj.battery_level,
                  'protocol_version': obj.protocol_version,
                  'heartbeat': obj.heartbeat,
              }
          if isinstance(obj, ChildSensor):
              return {
                  'id': obj.id,
                  'type': obj.type,
                  'description': obj.description,
                  'values': obj.values,
              }
          return json.JSONEncoder.default(self, obj)