MQTT discovery (#5724)
* Change implementation * Re-write * Remove unused consts * Update discovery.py * Add tests * fix other tests * Fix check_config script test * Lint * Lint
This commit is contained in:
parent
45507cd9d1
commit
c7fd28c10f
7 changed files with 213 additions and 11 deletions
|
@ -26,6 +26,7 @@ from homeassistant.components import sun, mqtt
|
|||
from homeassistant.components.http.auth import auth_middleware
|
||||
from homeassistant.components.http.const import (
|
||||
KEY_USE_X_FORWARDED_FOR, KEY_BANS_ENABLED, KEY_TRUSTED_NETWORKS)
|
||||
from homeassistant.util.async import run_callback_threadsafe
|
||||
|
||||
_TEST_INSTANCE_PORT = SERVER_PORT
|
||||
_LOGGER = logging.getLogger(__name__)
|
||||
|
@ -147,15 +148,22 @@ def mock_service(hass, domain, service):
|
|||
return calls
|
||||
|
||||
|
||||
def fire_mqtt_message(hass, topic, payload, qos=0):
|
||||
@ha.callback
|
||||
def async_fire_mqtt_message(hass, topic, payload, qos=0):
|
||||
"""Fire the MQTT message."""
|
||||
hass.bus.fire(mqtt.EVENT_MQTT_MESSAGE_RECEIVED, {
|
||||
hass.bus.async_fire(mqtt.EVENT_MQTT_MESSAGE_RECEIVED, {
|
||||
mqtt.ATTR_TOPIC: topic,
|
||||
mqtt.ATTR_PAYLOAD: payload,
|
||||
mqtt.ATTR_QOS: qos,
|
||||
})
|
||||
|
||||
|
||||
def fire_mqtt_message(hass, topic, payload, qos=0):
|
||||
"""Fire the MQTT message."""
|
||||
run_callback_threadsafe(
|
||||
hass.loop, async_fire_mqtt_message, hass, topic, payload, qos).result()
|
||||
|
||||
|
||||
def fire_time_changed(hass, time):
|
||||
"""Fire a time changes event."""
|
||||
hass.bus.fire(EVENT_TIME_CHANGED, {'now': time})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue