运行状况服务器
运行状况服务器模型为 运行状况客户端 模型提供注意回调和节点诊断。它主要用于报告网格节点中的故障,并将网格节点映射到其物理位置。
如果存在,则必须在主元素上实例化运行状况服务器模型。
故障
运行状况服务器模型可以报告在设备生命周期内发生的故障列表。 通常,故障是可能改变节点行为的事件或条件,如断电或外围设备故障。 故障分为警告和错误。警告表示接近节点设计承受极限的条件,但不一定会损坏设备。 错误表示超出节点设计限制的情况,并且可能导致设备的无效行为或永久损坏。
故障值 0x01
到 0x7f
是为 Bluetooth Mesh 规范保留的,规范定义的故障的完整列表在 运行状况故障 中可用。
故障值 0x80
到 0xff
特定于供应商。故障列表始终与公司 ID 一起报告,以帮助解释供应商特定的故障。
注意力状态
注意力状态用于使设备通过一些物理行为(如闪烁、播放声音或振动)来唤起对自身的注意力。 注意状态可以在配置期间使用,以让用户知道他们正在配置哪个设备,以及在运行时通过运行状况模型。
启用时,注意状态始终分配一个1到255秒范围内的超时。 Health Server API()
为应用程序提供了两个回调,以运行其注意调用行为: bt_mesh_Health_srv_cb.attn_on()
在注意期的开始调用, bt_mesh _Health _srv_cb.attn_off()
在结束时调用。
可以通过 bt_mesh_health_srv.attn_timer
查询关注期的剩余时间。
API 参考
- group bt_mesh_health_srv
Health Server Model.
Defines
-
BT_MESH_HEALTH_PUB_DEFINE(_name, _max_faults)
A helper to define a health publication context
- 参数:
_name – Name given to the publication context variable.
_max_faults – Maximum number of faults the element can have.
-
BT_MESH_MODEL_HEALTH_SRV(srv, pub)
Define a new health server model. Note that this API needs to be repeated for each element that the application wants to have a health server model on. Each instance also needs a unique bt_mesh_health_srv and bt_mesh_model_pub context.
- 参数:
srv – Pointer to a unique struct bt_mesh_health_srv.
pub – Pointer to a unique struct bt_mesh_model_pub.
- 返回:
New mesh model instance.
-
BT_MESH_HEALTH_TEST_INFO_METADATA_ID
Health Test Information Metadata ID.
-
BT_MESH_HEALTH_TEST_INFO_METADATA(tests)
-
BT_MESH_HEALTH_TEST_INFO(cid, tests...)
Define a Health Test Info Metadata array.
- 参数:
cid – Company ID of the Health Test suite.
tests – A comma separated list of tests.
- 返回:
A comma separated list of values that make Health Test Info Metadata
Functions
-
int bt_mesh_health_srv_fault_update(struct bt_mesh_elem *elem)
Notify the stack that the fault array state of the given element has changed.
This prompts the Health server on this element to publish the current fault array if periodic publishing is disabled.
- 参数:
elem – Element to update the fault state of.
- 返回:
0 on success, or (negative) error code otherwise.
-
struct bt_mesh_health_srv_cb
Callback function for the Health Server model
-
struct bt_mesh_health_srv
Mesh Health Server Model Context
-
BT_MESH_HEALTH_PUB_DEFINE(_name, _max_faults)
运行状况故障
Bluetooth Mesh 规范定义的故障值。
- group bt_mesh_health_faults
List of specification defined Health fault values.
Defines
-
BT_MESH_HEALTH_FAULT_NO_FAULT
No fault has occurred.
-
BT_MESH_HEALTH_FAULT_BATTERY_LOW_WARNING
-
BT_MESH_HEALTH_FAULT_BATTERY_LOW_ERROR
-
BT_MESH_HEALTH_FAULT_SUPPLY_VOLTAGE_TOO_LOW_WARNING
-
BT_MESH_HEALTH_FAULT_SUPPLY_VOLTAGE_TOO_LOW_ERROR
-
BT_MESH_HEALTH_FAULT_SUPPLY_VOLTAGE_TOO_HIGH_WARNING
-
BT_MESH_HEALTH_FAULT_SUPPLY_VOLTAGE_TOO_HIGH_ERROR
-
BT_MESH_HEALTH_FAULT_POWER_SUPPLY_INTERRUPTED_WARNING
-
BT_MESH_HEALTH_FAULT_POWER_SUPPLY_INTERRUPTED_ERROR
-
BT_MESH_HEALTH_FAULT_NO_LOAD_WARNING
-
BT_MESH_HEALTH_FAULT_NO_LOAD_ERROR
-
BT_MESH_HEALTH_FAULT_OVERLOAD_WARNING
-
BT_MESH_HEALTH_FAULT_OVERLOAD_ERROR
-
BT_MESH_HEALTH_FAULT_OVERHEAT_WARNING
-
BT_MESH_HEALTH_FAULT_OVERHEAT_ERROR
-
BT_MESH_HEALTH_FAULT_CONDENSATION_WARNING
-
BT_MESH_HEALTH_FAULT_CONDENSATION_ERROR
-
BT_MESH_HEALTH_FAULT_VIBRATION_WARNING
-
BT_MESH_HEALTH_FAULT_VIBRATION_ERROR
-
BT_MESH_HEALTH_FAULT_CONFIGURATION_WARNING
-
BT_MESH_HEALTH_FAULT_CONFIGURATION_ERROR
-
BT_MESH_HEALTH_FAULT_ELEMENT_NOT_CALIBRATED_WARNING
-
BT_MESH_HEALTH_FAULT_ELEMENT_NOT_CALIBRATED_ERROR
-
BT_MESH_HEALTH_FAULT_MEMORY_WARNING
-
BT_MESH_HEALTH_FAULT_MEMORY_ERROR
-
BT_MESH_HEALTH_FAULT_SELF_TEST_WARNING
-
BT_MESH_HEALTH_FAULT_SELF_TEST_ERROR
-
BT_MESH_HEALTH_FAULT_INPUT_TOO_LOW_WARNING
-
BT_MESH_HEALTH_FAULT_INPUT_TOO_LOW_ERROR
-
BT_MESH_HEALTH_FAULT_INPUT_TOO_HIGH_WARNING
-
BT_MESH_HEALTH_FAULT_INPUT_TOO_HIGH_ERROR
-
BT_MESH_HEALTH_FAULT_INPUT_NO_CHANGE_WARNING
-
BT_MESH_HEALTH_FAULT_INPUT_NO_CHANGE_ERROR
-
BT_MESH_HEALTH_FAULT_ACTUATOR_BLOCKED_WARNING
-
BT_MESH_HEALTH_FAULT_ACTUATOR_BLOCKED_ERROR
-
BT_MESH_HEALTH_FAULT_HOUSING_OPENED_WARNING
-
BT_MESH_HEALTH_FAULT_HOUSING_OPENED_ERROR
-
BT_MESH_HEALTH_FAULT_TAMPER_WARNING
-
BT_MESH_HEALTH_FAULT_TAMPER_ERROR
-
BT_MESH_HEALTH_FAULT_DEVICE_MOVED_WARNING
-
BT_MESH_HEALTH_FAULT_DEVICE_MOVED_ERROR
-
BT_MESH_HEALTH_FAULT_DEVICE_DROPPED_WARNING
-
BT_MESH_HEALTH_FAULT_DEVICE_DROPPED_ERROR
-
BT_MESH_HEALTH_FAULT_OVERFLOW_WARNING
-
BT_MESH_HEALTH_FAULT_OVERFLOW_ERROR
-
BT_MESH_HEALTH_FAULT_EMPTY_WARNING
-
BT_MESH_HEALTH_FAULT_EMPTY_ERROR
-
BT_MESH_HEALTH_FAULT_INTERNAL_BUS_WARNING
-
BT_MESH_HEALTH_FAULT_INTERNAL_BUS_ERROR
-
BT_MESH_HEALTH_FAULT_MECHANISM_JAMMED_WARNING
-
BT_MESH_HEALTH_FAULT_MECHANISM_JAMMED_ERROR
-
BT_MESH_HEALTH_FAULT_VENDOR_SPECIFIC_START
Start of the vendor specific fault values.
All values below this are reserved for the Bluetooth Specification.
-
BT_MESH_HEALTH_FAULT_NO_FAULT