You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Response:** Device status is updated; subscribe with ``subscribe_device_status()`` to see changes
535
+
438
536
set_dhw_mode()
439
537
''''''''''''''
440
538
@@ -456,6 +554,8 @@ Set DHW (Domestic Hot Water) operation mode. This sets the ``dhwOperationSetting
456
554
* ``4``: High Demand (faster recovery - Hybrid: Boost)
457
555
* ``5``: Vacation (suspend heating for 0-99 days)
458
556
557
+
**Response:** Device status is updated; subscribe with ``subscribe_device_status()`` to see changes
558
+
459
559
**Important:** Setting the mode updates ``dhwOperationSetting`` but does not immediately change ``operationMode``. The ``operationMode`` field reflects the device's current operational state and changes automatically when the device starts/stops heating. See :doc:`DEVICE_STATUS_FIELDS` for details on the relationship between these fields.
Set DHW target temperature using the **DISPLAY value** (what you see on device/app). This is a convenience method that automatically converts display temperature to message value.
593
+
594
+
**Parameters:**
595
+
596
+
- ``display_temperature``: Target temperature as shown on display/app (Fahrenheit)
597
+
598
+
**Response:** Device status is updated; subscribe with ``subscribe_device_status()`` to see changes
599
+
600
+
**Example:**
601
+
602
+
.. code:: python
603
+
604
+
# Set display temperature to 140°F (sends 120°F in message)
Subscribe to device status messages with automatic parsing into ``DeviceStatus`` objects. Use this after calling ``request_device_status()`` or any control commands to receive updates.
632
+
633
+
**Emits Events:**
634
+
635
+
- ``status_received``: Every status update (DeviceStatus)
636
+
- ``temperature_changed``: Temperature changed (old_temp, new_temp)
Subscribe to device feature/info messages with automatic parsing into ``DeviceFeature`` objects. Use this after calling ``request_device_info()`` to receive device capabilities and firmware info.
655
+
656
+
**Emits Events:**
657
+
658
+
- ``feature_received``: Feature/info received (DeviceFeature)
659
+
660
+
subscribe_energy_usage()
661
+
........................
662
+
663
+
.. code:: python
664
+
665
+
await mqtt_client.subscribe_energy_usage(
666
+
device: Device,
667
+
callback: Callable[[EnergyUsageResponse], None]
668
+
) ->int
669
+
670
+
Subscribe to energy usage query responses with automatic parsing into ``EnergyUsageResponse`` objects. Use this after calling ``request_energy_usage()`` to receive historical energy data.
671
+
672
+
subscribe_device()
673
+
..................
674
+
675
+
.. code:: python
676
+
677
+
await mqtt_client.subscribe_device(
678
+
device: Device,
679
+
callback: Callable[[str, dict], None]
680
+
) ->int
681
+
682
+
Subscribe to all messages from a device (no parsing). Receives all message types as raw dictionaries. Use the specific subscription methods above for automatic parsing.
683
+
684
+
subscribe()
685
+
...........
686
+
687
+
.. code:: python
688
+
689
+
await mqtt_client.subscribe(
690
+
topic: str,
691
+
callback: Callable[[str, dict], None],
692
+
qos: mqtt.QoS = mqtt.QoS.AT_LEAST_ONCE
693
+
) ->int
694
+
695
+
Subscribe to any MQTT topic. Supports wildcards (``#``, ``+``). Receives raw dictionary messages.
0 commit comments