Publish data to MQTT broker.
(topic, payload, retain, json=False)
| 1581 | |
| 1582 | |
| 1583 | def mqtt_publish(topic, payload, retain, json=False): |
| 1584 | """Publish data to MQTT broker.""" |
| 1585 | if json: |
| 1586 | payload_str = str(payload).replace("'", '"').replace("^", '\\"') |
| 1587 | else: |
| 1588 | payload_str = str(payload).replace("'", '"').replace("^", "'") |
| 1589 | service_data = { |
| 1590 | "topic": topic, |
| 1591 | "payload": payload_str, |
| 1592 | "retain": retain, |
| 1593 | "qos": 0, |
| 1594 | } |
| 1595 | logger.debug(service_data) # noqa: F821 |
| 1596 | logger.debug("Sending to MQTT broker: %s %s", topic, payload_str) # noqa: F821 |
| 1597 | hass.services.call("mqtt", "publish", service_data, False) # noqa: F821 |
| 1598 | |
| 1599 | |
| 1600 | expire_after = None |