async def websocket_get_config_parameters(hass: HomeAssistant, connection: ActiveConnection, msg: dict, node: Node) -> None: """Get a list of configuration parameters for a Z-Wave node.""" values = node.get_configuration_values() result = {} for value_id, zwave_value in values.items(): metadata = zwave_value.metadata result[value_id] = { "property": zwave_value.property_, "property_key": zwave_value.property_key, "configuration_value_type": zwave_value.configuration_value_type.value, "metadata": { "description": metadata.description, "label": metadata.label, "type": metadata.type, "min": metadata.min, "max": metadata.max, "unit": metadata.unit, "writeable": metadata.writeable, "readable": metadata.readable, }, "value": zwave_value.value, } if zwave_value.metadata.states: result[value_id]["metadata"][ "states"] = zwave_value.metadata.states connection.send_result( msg[ID], result, )
def test_allow_manual_entry(client, inovelli_switch_state): """Test that allow_manaual_entry works correctly.""" node = Node(client, inovelli_switch_state) config_values = node.get_configuration_values() value_id = get_value_id(node, 112, 8, 0, 255) zwave_value = config_values[value_id] assert zwave_value.configuration_value_type == ConfigurationValueType.MANUAL_ENTRY value_id = get_value_id(node, 112, 8, 0, 65280) zwave_value = config_values[value_id] assert zwave_value.configuration_value_type == ConfigurationValueType.ENUMERATED