Log transmitted MQTT messages (#65550)
This commit is contained in:
parent
a95988c970
commit
8245ff7473
41 changed files with 341 additions and 177 deletions
|
@ -771,7 +771,12 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, alarm_control_panel.DOMAIN, DEFAULT_CONFIG
|
||||
hass,
|
||||
mqtt_mock,
|
||||
alarm_control_panel.DOMAIN,
|
||||
DEFAULT_CONFIG,
|
||||
alarm_control_panel.SERVICE_ALARM_DISARM,
|
||||
command_payload="DISARM",
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -868,7 +868,7 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, binary_sensor.DOMAIN, DEFAULT_CONFIG
|
||||
hass, mqtt_mock, binary_sensor.DOMAIN, DEFAULT_CONFIG, None
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -18,6 +18,7 @@ from .test_common import (
|
|||
help_test_discovery_update,
|
||||
help_test_discovery_update_attr,
|
||||
help_test_discovery_update_unchanged,
|
||||
help_test_entity_debug_info_message,
|
||||
help_test_entity_device_info_remove,
|
||||
help_test_entity_device_info_update,
|
||||
help_test_entity_device_info_with_connection,
|
||||
|
@ -302,6 +303,19 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
)
|
||||
|
||||
|
||||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass,
|
||||
mqtt_mock,
|
||||
button.DOMAIN,
|
||||
DEFAULT_CONFIG,
|
||||
button.SERVICE_PRESS,
|
||||
command_payload="PRESS",
|
||||
state_topic=None,
|
||||
)
|
||||
|
||||
|
||||
async def test_invalid_device_class(hass, mqtt_mock):
|
||||
"""Test device_class option with invalid value."""
|
||||
assert await async_setup_component(
|
||||
|
|
|
@ -237,7 +237,13 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, camera.DOMAIN, DEFAULT_CONFIG, "test_topic", b"ON"
|
||||
hass,
|
||||
mqtt_mock,
|
||||
camera.DOMAIN,
|
||||
DEFAULT_CONFIG,
|
||||
None,
|
||||
state_topic="test_topic",
|
||||
state_payload=b"ON",
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -1240,11 +1240,19 @@ async def test_entity_debug_info_message(hass, mqtt_mock):
|
|||
CLIMATE_DOMAIN: {
|
||||
"platform": "mqtt",
|
||||
"name": "test",
|
||||
"mode_command_topic": "command-topic",
|
||||
"mode_state_topic": "test-topic",
|
||||
}
|
||||
}
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, CLIMATE_DOMAIN, config, "test-topic"
|
||||
hass,
|
||||
mqtt_mock,
|
||||
CLIMATE_DOMAIN,
|
||||
config,
|
||||
climate.SERVICE_TURN_ON,
|
||||
command_topic="command-topic",
|
||||
command_payload="heat",
|
||||
state_topic="test-topic",
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -43,6 +43,8 @@ DEFAULT_CONFIG_DEVICE_INFO_MAC = {
|
|||
"configuration_url": "http://example.com",
|
||||
}
|
||||
|
||||
_SENTINEL = object()
|
||||
|
||||
|
||||
async def help_test_availability_when_connection_lost(hass, mqtt_mock, domain, config):
|
||||
"""Test availability after MQTT disconnection."""
|
||||
|
@ -1110,7 +1112,7 @@ async def help_test_entity_debug_info(hass, mqtt_mock, domain, config):
|
|||
device = registry.async_get_device({("mqtt", "helloworld")})
|
||||
assert device is not None
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"]) == 1
|
||||
assert (
|
||||
debug_info_data["entities"][0]["discovery_data"]["topic"]
|
||||
|
@ -1121,6 +1123,7 @@ async def help_test_entity_debug_info(hass, mqtt_mock, domain, config):
|
|||
assert {"topic": "test-topic", "messages": []} in debug_info_data["entities"][0][
|
||||
"subscriptions"
|
||||
]
|
||||
assert debug_info_data["entities"][0]["transmitted"] == []
|
||||
assert len(debug_info_data["triggers"]) == 0
|
||||
|
||||
|
||||
|
@ -1143,7 +1146,7 @@ async def help_test_entity_debug_info_max_messages(hass, mqtt_mock, domain, conf
|
|||
device = registry.async_get_device({("mqtt", "helloworld")})
|
||||
assert device is not None
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) == 1
|
||||
assert {"topic": "test-topic", "messages": []} in debug_info_data["entities"][0][
|
||||
"subscriptions"
|
||||
|
@ -1155,7 +1158,7 @@ async def help_test_entity_debug_info_max_messages(hass, mqtt_mock, domain, conf
|
|||
for i in range(0, debug_info.STORED_MESSAGES + 1):
|
||||
async_fire_mqtt_message(hass, "test-topic", f"{i}")
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) == 1
|
||||
assert (
|
||||
len(debug_info_data["entities"][0]["subscriptions"][0]["messages"])
|
||||
|
@ -1177,9 +1180,18 @@ async def help_test_entity_debug_info_max_messages(hass, mqtt_mock, domain, conf
|
|||
|
||||
|
||||
async def help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, domain, config, topic=None, payload=None
|
||||
hass,
|
||||
mqtt_mock,
|
||||
domain,
|
||||
config,
|
||||
service,
|
||||
command_topic=_SENTINEL,
|
||||
command_payload=_SENTINEL,
|
||||
state_topic=_SENTINEL,
|
||||
state_payload=_SENTINEL,
|
||||
service_parameters=None,
|
||||
):
|
||||
"""Test debug_info message overflow.
|
||||
"""Test debug_info.
|
||||
|
||||
This is a test helper for MQTT debug_info.
|
||||
"""
|
||||
|
@ -1188,13 +1200,21 @@ async def help_test_entity_debug_info_message(
|
|||
config["device"] = copy.deepcopy(DEFAULT_CONFIG_DEVICE_INFO_ID)
|
||||
config["unique_id"] = "veryunique"
|
||||
|
||||
if topic is None:
|
||||
if command_topic is _SENTINEL:
|
||||
# Add default topic to config
|
||||
config["command_topic"] = "command-topic"
|
||||
command_topic = "command-topic"
|
||||
|
||||
if command_payload is _SENTINEL:
|
||||
command_payload = "ON"
|
||||
|
||||
if state_topic is _SENTINEL:
|
||||
# Add default topic to config
|
||||
config["state_topic"] = "state-topic"
|
||||
topic = "state-topic"
|
||||
state_topic = "state-topic"
|
||||
|
||||
if payload is None:
|
||||
payload = "ON"
|
||||
if state_payload is _SENTINEL:
|
||||
state_payload = "ON"
|
||||
|
||||
registry = dr.async_get(hass)
|
||||
|
||||
|
@ -1205,31 +1225,69 @@ async def help_test_entity_debug_info_message(
|
|||
device = registry.async_get_device({("mqtt", "helloworld")})
|
||||
assert device is not None
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) >= 1
|
||||
assert {"topic": topic, "messages": []} in debug_info_data["entities"][0][
|
||||
"subscriptions"
|
||||
]
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
|
||||
start_dt = datetime(2019, 1, 1, 0, 0, 0)
|
||||
with patch("homeassistant.util.dt.utcnow") as dt_utcnow:
|
||||
dt_utcnow.return_value = start_dt
|
||||
async_fire_mqtt_message(hass, topic, payload)
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) >= 1
|
||||
assert {
|
||||
"topic": topic,
|
||||
"messages": [
|
||||
if state_topic is not None:
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) >= 1
|
||||
assert {"topic": state_topic, "messages": []} in debug_info_data["entities"][0][
|
||||
"subscriptions"
|
||||
]
|
||||
|
||||
with patch("homeassistant.util.dt.utcnow") as dt_utcnow:
|
||||
dt_utcnow.return_value = start_dt
|
||||
async_fire_mqtt_message(hass, state_topic, state_payload)
|
||||
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) >= 1
|
||||
assert {
|
||||
"topic": state_topic,
|
||||
"messages": [
|
||||
{
|
||||
"payload": str(state_payload),
|
||||
"qos": 0,
|
||||
"retain": False,
|
||||
"time": start_dt,
|
||||
"topic": state_topic,
|
||||
}
|
||||
],
|
||||
} in debug_info_data["entities"][0]["subscriptions"]
|
||||
|
||||
expected_transmissions = []
|
||||
if service:
|
||||
# Trigger an outgoing MQTT message
|
||||
with patch("homeassistant.util.dt.utcnow") as dt_utcnow:
|
||||
dt_utcnow.return_value = start_dt
|
||||
if service:
|
||||
service_data = {ATTR_ENTITY_ID: f"{domain}.test"}
|
||||
if service_parameters:
|
||||
service_data.update(service_parameters)
|
||||
|
||||
await hass.services.async_call(
|
||||
domain,
|
||||
service,
|
||||
service_data,
|
||||
blocking=True,
|
||||
)
|
||||
|
||||
expected_transmissions = [
|
||||
{
|
||||
"payload": str(payload),
|
||||
"qos": 0,
|
||||
"retain": False,
|
||||
"time": start_dt,
|
||||
"topic": topic,
|
||||
"topic": command_topic,
|
||||
"messages": [
|
||||
{
|
||||
"payload": str(command_payload),
|
||||
"qos": 0,
|
||||
"retain": False,
|
||||
"time": start_dt,
|
||||
"topic": command_topic,
|
||||
}
|
||||
],
|
||||
}
|
||||
],
|
||||
} in debug_info_data["entities"][0]["subscriptions"]
|
||||
]
|
||||
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert debug_info_data["entities"][0]["transmitted"] == expected_transmissions
|
||||
|
||||
|
||||
async def help_test_entity_debug_info_remove(hass, mqtt_mock, domain, config):
|
||||
|
@ -1251,7 +1309,7 @@ async def help_test_entity_debug_info_remove(hass, mqtt_mock, domain, config):
|
|||
device = registry.async_get_device({("mqtt", "helloworld")})
|
||||
assert device is not None
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"]) == 1
|
||||
assert (
|
||||
debug_info_data["entities"][0]["discovery_data"]["topic"]
|
||||
|
@ -1269,7 +1327,7 @@ async def help_test_entity_debug_info_remove(hass, mqtt_mock, domain, config):
|
|||
async_fire_mqtt_message(hass, f"homeassistant/{domain}/bla/config", "")
|
||||
await hass.async_block_till_done()
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"]) == 0
|
||||
assert len(debug_info_data["triggers"]) == 0
|
||||
assert entity_id not in hass.data[debug_info.DATA_MQTT_DEBUG_INFO]["entities"]
|
||||
|
@ -1295,7 +1353,7 @@ async def help_test_entity_debug_info_update_entity_id(hass, mqtt_mock, domain,
|
|||
device = dev_registry.async_get_device({("mqtt", "helloworld")})
|
||||
assert device is not None
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"]) == 1
|
||||
assert (
|
||||
debug_info_data["entities"][0]["discovery_data"]["topic"]
|
||||
|
@ -1313,7 +1371,7 @@ async def help_test_entity_debug_info_update_entity_id(hass, mqtt_mock, domain,
|
|||
await hass.async_block_till_done()
|
||||
await hass.async_block_till_done()
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"]) == 1
|
||||
assert (
|
||||
debug_info_data["entities"][0]["discovery_data"]["topic"]
|
||||
|
|
|
@ -2521,7 +2521,12 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, cover.DOMAIN, DEFAULT_CONFIG
|
||||
hass,
|
||||
mqtt_mock,
|
||||
cover.DOMAIN,
|
||||
DEFAULT_CONFIG,
|
||||
SERVICE_OPEN_COVER,
|
||||
command_payload="OPEN",
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -1246,7 +1246,7 @@ async def test_trigger_debug_info(hass, mqtt_mock):
|
|||
)
|
||||
assert device is not None
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"]) == 0
|
||||
assert len(debug_info_data["triggers"]) == 2
|
||||
topic_map = {
|
||||
|
@ -1268,7 +1268,7 @@ async def test_trigger_debug_info(hass, mqtt_mock):
|
|||
|
||||
async_fire_mqtt_message(hass, "homeassistant/device_automation/bla1/config", "")
|
||||
await hass.async_block_till_done()
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"]) == 0
|
||||
assert len(debug_info_data["triggers"]) == 1
|
||||
assert (
|
||||
|
|
|
@ -1724,7 +1724,7 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, fan.DOMAIN, DEFAULT_CONFIG
|
||||
hass, mqtt_mock, fan.DOMAIN, DEFAULT_CONFIG, fan.SERVICE_TURN_ON
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -1102,7 +1102,7 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, humidifier.DOMAIN, DEFAULT_CONFIG
|
||||
hass, mqtt_mock, humidifier.DOMAIN, DEFAULT_CONFIG, humidifier.SERVICE_TURN_ON
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -1533,6 +1533,7 @@ async def test_mqtt_ws_get_device_debug_info(
|
|||
"payload": config,
|
||||
"topic": "homeassistant/sensor/bla/config",
|
||||
},
|
||||
"transmitted": [],
|
||||
}
|
||||
],
|
||||
"triggers": [],
|
||||
|
@ -1595,6 +1596,7 @@ async def test_mqtt_ws_get_device_debug_info_binary(
|
|||
"payload": config,
|
||||
"topic": "homeassistant/camera/bla/config",
|
||||
},
|
||||
"transmitted": [],
|
||||
}
|
||||
],
|
||||
"triggers": [],
|
||||
|
@ -1662,7 +1664,7 @@ async def test_debug_info_multiple_devices(hass, mqtt_mock):
|
|||
device = registry.async_get_device({("mqtt", id)})
|
||||
assert device is not None
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
if d["domain"] != "device_automation":
|
||||
assert len(debug_info_data["entities"]) == 1
|
||||
assert len(debug_info_data["triggers"]) == 0
|
||||
|
@ -1739,7 +1741,7 @@ async def test_debug_info_multiple_entities_triggers(hass, mqtt_mock):
|
|||
device_id = config[0]["config"]["device"]["identifiers"][0]
|
||||
device = registry.async_get_device({("mqtt", device_id)})
|
||||
assert device is not None
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"]) == 2
|
||||
assert len(debug_info_data["triggers"]) == 2
|
||||
|
||||
|
@ -1786,7 +1788,7 @@ async def test_debug_info_non_mqtt(hass, device_reg, entity_reg):
|
|||
|
||||
assert await async_setup_component(hass, DOMAIN, {DOMAIN: {"platform": "test"}})
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device_entry.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device_entry.id)
|
||||
assert len(debug_info_data["entities"]) == 0
|
||||
assert len(debug_info_data["triggers"]) == 0
|
||||
|
||||
|
@ -1810,7 +1812,7 @@ async def test_debug_info_wildcard(hass, mqtt_mock):
|
|||
device = registry.async_get_device({("mqtt", "helloworld")})
|
||||
assert device is not None
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) >= 1
|
||||
assert {"topic": "sensor/#", "messages": []} in debug_info_data["entities"][0][
|
||||
"subscriptions"
|
||||
|
@ -1821,7 +1823,7 @@ async def test_debug_info_wildcard(hass, mqtt_mock):
|
|||
dt_utcnow.return_value = start_dt
|
||||
async_fire_mqtt_message(hass, "sensor/abc", "123")
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) >= 1
|
||||
assert {
|
||||
"topic": "sensor/#",
|
||||
|
@ -1856,7 +1858,7 @@ async def test_debug_info_filter_same(hass, mqtt_mock):
|
|||
device = registry.async_get_device({("mqtt", "helloworld")})
|
||||
assert device is not None
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) >= 1
|
||||
assert {"topic": "sensor/#", "messages": []} in debug_info_data["entities"][0][
|
||||
"subscriptions"
|
||||
|
@ -1871,7 +1873,7 @@ async def test_debug_info_filter_same(hass, mqtt_mock):
|
|||
dt_utcnow.return_value = dt2
|
||||
async_fire_mqtt_message(hass, "sensor/abc", "123")
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) == 1
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"][0]["messages"]) == 2
|
||||
assert {
|
||||
|
@ -1915,7 +1917,7 @@ async def test_debug_info_same_topic(hass, mqtt_mock):
|
|||
device = registry.async_get_device({("mqtt", "helloworld")})
|
||||
assert device is not None
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) >= 1
|
||||
assert {"topic": "sensor/status", "messages": []} in debug_info_data["entities"][0][
|
||||
"subscriptions"
|
||||
|
@ -1926,7 +1928,7 @@ async def test_debug_info_same_topic(hass, mqtt_mock):
|
|||
dt_utcnow.return_value = start_dt
|
||||
async_fire_mqtt_message(hass, "sensor/status", "123", qos=0, retain=False)
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) == 1
|
||||
assert {
|
||||
"payload": "123",
|
||||
|
@ -1966,7 +1968,7 @@ async def test_debug_info_qos_retain(hass, mqtt_mock):
|
|||
device = registry.async_get_device({("mqtt", "helloworld")})
|
||||
assert device is not None
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) >= 1
|
||||
assert {"topic": "sensor/#", "messages": []} in debug_info_data["entities"][0][
|
||||
"subscriptions"
|
||||
|
@ -1979,7 +1981,7 @@ async def test_debug_info_qos_retain(hass, mqtt_mock):
|
|||
async_fire_mqtt_message(hass, "sensor/abc", "123", qos=1, retain=True)
|
||||
async_fire_mqtt_message(hass, "sensor/abc", "123", qos=2, retain=False)
|
||||
|
||||
debug_info_data = await debug_info.info_for_device(hass, device.id)
|
||||
debug_info_data = debug_info.info_for_device(hass, device.id)
|
||||
assert len(debug_info_data["entities"][0]["subscriptions"]) == 1
|
||||
assert {
|
||||
"payload": "123",
|
||||
|
|
|
@ -747,14 +747,14 @@ async def test_entity_debug_info_message(hass, mqtt_mock):
|
|||
vacuum.DOMAIN: {
|
||||
"platform": "mqtt",
|
||||
"name": "test",
|
||||
"battery_level_topic": "test-topic",
|
||||
"battery_level_topic": "state-topic",
|
||||
"battery_level_template": "{{ value_json.battery_level }}",
|
||||
"command_topic": "command-topic",
|
||||
"availability_topic": "avty-topic",
|
||||
"payload_turn_on": "ON",
|
||||
}
|
||||
}
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, vacuum.DOMAIN, config, "test-topic"
|
||||
hass, mqtt_mock, vacuum.DOMAIN, config, vacuum.SERVICE_TURN_ON
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -3343,7 +3343,7 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, light.DOMAIN, DEFAULT_CONFIG
|
||||
hass, mqtt_mock, light.DOMAIN, DEFAULT_CONFIG, light.SERVICE_TURN_ON
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -1894,7 +1894,13 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, light.DOMAIN, DEFAULT_CONFIG, payload='{"state":"ON"}'
|
||||
hass,
|
||||
mqtt_mock,
|
||||
light.DOMAIN,
|
||||
DEFAULT_CONFIG,
|
||||
light.SERVICE_TURN_ON,
|
||||
command_payload='{"state": "ON"}',
|
||||
state_payload='{"state":"ON"}',
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -1082,12 +1082,14 @@ async def test_entity_debug_info_message(hass, mqtt_mock):
|
|||
"schema": "template",
|
||||
"name": "test",
|
||||
"command_topic": "test-topic",
|
||||
"command_on_template": "on,{{ transition }}",
|
||||
"command_on_template": "ON",
|
||||
"command_off_template": "off,{{ transition|d }}",
|
||||
"state_template": '{{ value.split(",")[0] }}',
|
||||
}
|
||||
}
|
||||
await help_test_entity_debug_info_message(hass, mqtt_mock, light.DOMAIN, config)
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, light.DOMAIN, config, light.SERVICE_TURN_ON
|
||||
)
|
||||
|
||||
|
||||
async def test_max_mireds(hass, mqtt_mock):
|
||||
|
|
|
@ -590,7 +590,12 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, LOCK_DOMAIN, DEFAULT_CONFIG
|
||||
hass,
|
||||
mqtt_mock,
|
||||
LOCK_DOMAIN,
|
||||
DEFAULT_CONFIG,
|
||||
SERVICE_LOCK,
|
||||
command_payload="LOCK",
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -541,7 +541,14 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, number.DOMAIN, DEFAULT_CONFIG, payload="1"
|
||||
hass,
|
||||
mqtt_mock,
|
||||
number.DOMAIN,
|
||||
DEFAULT_CONFIG,
|
||||
SERVICE_SET_VALUE,
|
||||
service_parameters={ATTR_VALUE: 45},
|
||||
command_payload="45",
|
||||
state_payload="1",
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -475,7 +475,14 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, select.DOMAIN, DEFAULT_CONFIG, payload="milk"
|
||||
hass,
|
||||
mqtt_mock,
|
||||
select.DOMAIN,
|
||||
DEFAULT_CONFIG,
|
||||
select.SERVICE_SELECT_OPTION,
|
||||
service_parameters={ATTR_OPTION: "beer"},
|
||||
command_payload="beer",
|
||||
state_payload="milk",
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -906,7 +906,7 @@ async def test_entity_debug_info_max_messages(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, sensor.DOMAIN, DEFAULT_CONFIG
|
||||
hass, mqtt_mock, sensor.DOMAIN, DEFAULT_CONFIG, None
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -802,7 +802,12 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, siren.DOMAIN, DEFAULT_CONFIG
|
||||
hass,
|
||||
mqtt_mock,
|
||||
siren.DOMAIN,
|
||||
DEFAULT_CONFIG,
|
||||
siren.SERVICE_TURN_ON,
|
||||
command_payload='{"state": "ON"}',
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -510,7 +510,13 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, vacuum.DOMAIN, DEFAULT_CONFIG_2, payload="{}"
|
||||
hass,
|
||||
mqtt_mock,
|
||||
vacuum.DOMAIN,
|
||||
DEFAULT_CONFIG_2,
|
||||
vacuum.SERVICE_START,
|
||||
command_payload="start",
|
||||
state_payload="{}",
|
||||
)
|
||||
|
||||
|
||||
|
|
|
@ -499,7 +499,7 @@ async def test_entity_id_update_discovery_update(hass, mqtt_mock):
|
|||
async def test_entity_debug_info_message(hass, mqtt_mock):
|
||||
"""Test MQTT debug info."""
|
||||
await help_test_entity_debug_info_message(
|
||||
hass, mqtt_mock, switch.DOMAIN, DEFAULT_CONFIG
|
||||
hass, mqtt_mock, switch.DOMAIN, DEFAULT_CONFIG, switch.SERVICE_TURN_ON
|
||||
)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue