Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2024.7.0b1 #4035

Merged
merged 40 commits into from
Jul 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
1f3faed
Bump version to 2024.7.0-dev
jesserockz Jun 12, 2024
f5a4c3d
Merge branch 'beta' into next
jesserockz Jun 12, 2024
02b6e0f
Added documentation for new option step_delay for X9C Digital Potenti…
oliverhihn Jun 12, 2024
7843df8
Merge branch 'current' into next
jesserockz Jun 12, 2024
ae079c6
Merge branch 'beta' into next
jesserockz Jun 12, 2024
40757fe
Update ``json::parse_json`` examples (#3949)
jesserockz Jun 13, 2024
03156a3
Merge branch 'current' into next
jesserockz Jun 17, 2024
9eaeb92
Merge branch 'beta' into next
jesserockz Jun 17, 2024
18173c3
Update a couple docs for esphome/esphome#6922 (#3962)
kbx81 Jun 18, 2024
cf32a0e
Merge branch 'beta' into next
jesserockz Jun 18, 2024
8668cd3
[ft5x06] Add interrupt pin (#3902)
jesserockz Jun 18, 2024
62eaa4b
Merge branch 'current' into next
jesserockz Jun 19, 2024
cb1a278
Merge branch 'beta' into next
jesserockz Jun 19, 2024
91ceffc
Merge branch 'current' into next
jesserockz Jun 19, 2024
978c4a0
Merge branch 'current' into next
jesserockz Jun 20, 2024
c29b97c
Merge branch 'current' into next
jesserockz Jun 20, 2024
9868438
Merge branch 'current' into next
jesserockz Jun 24, 2024
1b75cc2
Merge branch 'current' into next
jesserockz Jun 25, 2024
6ddd865
Merge branch 'current' into next
jesserockz Jun 25, 2024
db399bf
Bump HeatpumpIR and IRremoteESP8266 (#3975)
nagyrobi Jun 25, 2024
0b56f63
Merge branch 'current' into next
jesserockz Jun 26, 2024
4b7ab5b
Merge branch 'current' into next
jesserockz Jun 26, 2024
e81014a
[modbus_text_sensor] new default ANSI encoding type (#3994)
dudanov Jun 27, 2024
48ab291
Merge branch 'current' into next
jesserockz Jun 27, 2024
0dbe9a9
Merge branch 'current' into next
jesserockz Jun 27, 2024
fc5d338
[uptime] Add sensor types (#4014)
kbx81 Jul 2, 2024
f3c28ea
Merge branch 'current' into next
jesserockz Jul 3, 2024
2d2ed8a
Merge branch 'current' into next
jesserockz Jul 3, 2024
94fb0a3
Merge branch 'current' into next
jesserockz Jul 3, 2024
e0072ee
Update of Haier component documentation to support new features and s…
paveldn Jul 6, 2024
163ead2
Update api.rst (#4023)
bennop Jul 6, 2024
bea5dd4
Bump actions/upload-artifact from 4.3.3 to 4.3.4 (#4027)
dependabot[bot] Jul 8, 2024
74c578b
Update sgp30.rst (#4021)
denproc Jul 8, 2024
b25d6c0
[M4E] Requirements tweak (#4031)
kbx81 Jul 10, 2024
8452a82
[micro_wake_word] Version 2 Documentation (#4015)
kahrendt Jul 11, 2024
082146d
Information about UART component in host platform added (#4004)
paveldn Jul 11, 2024
a0c9f26
Merge branch 'current' into next
jesserockz Jul 11, 2024
d54f89a
Bump version to 2024.7.0b1
jesserockz Jul 11, 2024
11aeb12
Update changelog for 2024.7.0b1
jesserockz Jul 11, 2024
82d41c4
Update supporters for 2024.7.0b1
jesserockz Jul 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/component-image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ jobs:
component: ${{ needs.prepare.outputs.name }}

- name: Upload
uses: actions/upload-artifact@v4.3.3
uses: actions/upload-artifact@v4.3.4
id: upload-artifact
with:
name: ${{ needs.prepare.outputs.name }}
Expand Down
2 changes: 1 addition & 1 deletion Doxygen
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ PROJECT_NAME = "ESPHome"
# could be handy for archiving the generated documentation or if some version
# control system is used.

PROJECT_NUMBER = 2024.6.6
PROJECT_NUMBER = 2024.7.0b1

# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ESPHOME_PATH = ../esphome
ESPHOME_REF = 2024.6.6
ESPHOME_REF = 2024.7.0b1
PAGEFIND_VERSION=1.1.0
PAGEFIND=pagefind
NET_PAGEFIND=../pagefindbin/pagefind
Expand Down
2 changes: 1 addition & 1 deletion _static/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2024.6.6
2024.7.0b1
138 changes: 138 additions & 0 deletions changelog/2024.7.0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
ESPHome 2024.7.0 - 17th July 2024
=================================

.. seo::
:description: Changelog for ESPHome 2024.7.0.
:author: Jesse Hills
:author_twitter: @jesserockz


Full list of changes
--------------------

New Features
^^^^^^^^^^^^

- [uptime] Add new timestamp type for uptime sensor :esphomepr:`7029` by :ghuser:`jesserockz` (new-feature)

Breaking Changes
^^^^^^^^^^^^^^^^

- [dooya] Flip bit timings :esphomepr:`6947` by :ghuser:`jesserockz` (breaking-change)
- [modbus_text_sensor] new default ANSI encoding type :esphomepr:`6975` by :ghuser:`dudanov` (breaking-change)
- [micro_wake_word] Version 2 :esphomepr:`7032` by :ghuser:`kahrendt` (breaking-change)

All changes
^^^^^^^^^^^

- [CI] Update device class sync script for update entities :esphomepr:`6895` by :ghuser:`jesserockz`
- X9c operation speed :esphomepr:`6898` by :ghuser:`oliverhihn`
- Bump actions/checkout from 4.1.6 to 4.1.7 :esphomepr:`6900` by :ghuser:`dependabot[bot]`
- [CI] Allow clang-tidy to see IDF components :esphomepr:`6903` by :ghuser:`kbx81`
- [esp32_camera] Use newer library version (for #6802) :esphomepr:`6809` by :ghuser:`kbx81`
- [micro_wake_word] Pin to esp-tflite-micro v1.3.1 :esphomepr:`6906` by :ghuser:`kbx81`
- VEML7700 Fix GCC build warnings :esphomepr:`6881` by :ghuser:`latonita`
- IDF 5 fixes for #6802 :esphomepr:`6911` by :ghuser:`kbx81`
- [CI-ethernet] Add/fix/organize/clean up ethernet component tests :esphomepr:`6916` by :ghuser:`kbx81`
- [CI-a01nyub] Consolidate test files :esphomepr:`6917` by :ghuser:`kbx81`
- [CI-api] Test fix for IDF 5+ :esphomepr:`6918` by :ghuser:`kbx81`
- [CI-http_request] Test fix for IDF 5+ :esphomepr:`6919` by :ghuser:`kbx81`
- [CI-wireguard] Test file consolidation :esphomepr:`6920` by :ghuser:`kbx81`
- [CI-esp32_hall] Remove IDF test :esphomepr:`6921` by :ghuser:`kbx81`
- [CI] Introduce testing for IDF 5 (and other arbitrary framework versions) :esphomepr:`6802` by :ghuser:`kbx81`
- uart: allow setting the UART id in final_validate_device_schema :esphomepr:`6923` by :ghuser:`paravoid`
- Bump peter-evans/create-pull-request from 6.0.5 to 6.1.0 :esphomepr:`6935` by :ghuser:`dependabot[bot]`
- Fix garbled graphics on LILYGO T4-S3 display :esphomepr:`6910` by :ghuser:`manuelkasper`
- Update cover.h for open() and close() compiler warnings :esphomepr:`6936` by :ghuser:`peter--s`
- [CI] Add debug component test for LibreTiny :esphomepr:`6945` by :ghuser:`kbx81`
- [dooya] Flip bit timings :esphomepr:`6947` by :ghuser:`jesserockz` (breaking-change)
- [qspi_amoled] Fix display remaining blank after update() before setup completion :esphomepr:`6958` by :ghuser:`manuelkasper`
- Bump docker/build-push-action from 6.0.1 to 6.1.0 in /.github/actions/build-image :esphomepr:`6962` by :ghuser:`dependabot[bot]`
- Synchronise Device Classes from Home Assistant :esphomepr:`6966` by :ghuser:`esphomebot`
- [qspi_amoled] Fix clear/fill with rotation :esphomepr:`6960` by :ghuser:`manuelkasper`
- [script] allow template parameters :esphomepr:`6972` by :ghuser:`ssieb`
- [haier] climate ID auto generation :esphomepr:`6949` by :ghuser:`dudanov`
- [core] Add script to extract actions, conditions, and pin_providers :esphomepr:`6929` by :ghuser:`jesserockz`
- [external_files] Move common ``download_content`` function to ``external_files.py`` :esphomepr:`6982` by :ghuser:`jesserockz`
- Do not build mDNS when mDNS is disabled via yaml :esphomepr:`6979` by :ghuser:`Links2004`
- Bump HeatpumpIR and IRremoteESP8266 :esphomepr:`6948` by :ghuser:`nagyrobi`
- [CI] Add more mdns and safe_mode tests :esphomepr:`6990` by :ghuser:`kbx81`
- [CI] Remove old test yamls from CI runs :esphomepr:`6991` by :ghuser:`kbx81`
- [CI] Update tests to run against IDF 5.1 :esphomepr:`6992` by :ghuser:`kbx81`
- Bump docker/build-push-action from 6.1.0 to 6.2.0 in /.github/actions/build-image :esphomepr:`6999` by :ghuser:`dependabot[bot]`
- [tuya] implement command 0x22 - datapoint-async :esphomepr:`6980` by :ghuser:`christiaanderidder`
- Allow wireguard to bind to PPP interface :esphomepr:`6989` by :ghuser:`droscy`
- [modbus_text_sensor] new default ANSI encoding type :esphomepr:`6975` by :ghuser:`dudanov` (breaking-change)
- [CI] Remove old test yaml files :esphomepr:`7002` by :ghuser:`kbx81`
- Revert "[CI] Update tests to run against IDF 5.1" :esphomepr:`7003` by :ghuser:`jesserockz`
- Enable devcontainer linters :esphomepr:`7019` by :ghuser:`orland0m`
- 'uart' and 'improv_serial' need to understand non-UART logger configurations :esphomepr:`6998` by :ghuser:`kpfleming`
- Make crc8 const-correct :esphomepr:`7027` by :ghuser:`nattgris`
- [CI] Run all tests when a base test changes :esphomepr:`7010` by :ghuser:`kbx81`
- [CI] Update tests to run against IDF 5.1 :esphomepr:`7011` by :ghuser:`kbx81`
- [uptime] Add new timestamp type for uptime sensor :esphomepr:`7029` by :ghuser:`jesserockz` (new-feature)
- Fix compile errors on ESP32-C6 with W5500 SPI ethernet :esphomepr:`7030` by :ghuser:`LeeHanYeong`
- Bump docker/setup-buildx-action from 3.3.0 to 3.4.0 :esphomepr:`7043` by :ghuser:`dependabot[bot]`
- Bump docker/build-push-action from 6.2.0 to 6.3.0 in /.github/actions/build-image :esphomepr:`7038` by :ghuser:`dependabot[bot]`
- Bump docker/setup-qemu-action from 3.0.0 to 3.1.0 :esphomepr:`7039` by :ghuser:`dependabot[bot]`
- Bump actions/upload-artifact from 4.3.3 to 4.3.4 :esphomepr:`7047` by :ghuser:`dependabot[bot]`
- Bump actions/download-artifact from 4.1.7 to 4.1.8 :esphomepr:`7046` by :ghuser:`dependabot[bot]`
- Fix display of update state in webinterfae :esphomepr:`7045` by :ghuser:`leejoow`
- Haier component update to support more protocol variations :esphomepr:`7040` by :ghuser:`paveldn`
- Don't test for IPv6 addresses when min_ipv6_addr_count is 0 :esphomepr:`7037` by :ghuser:`colmbuckley`
- [CI] Allow running specific target test(s) only :esphomepr:`7051` by :ghuser:`tomaszduda23`
- Bump actions/setup-python from 5.1.0 to 5.1.1 in /.github/actions/restore-python :esphomepr:`7071` by :ghuser:`dependabot[bot]`
- Fix RC Switch protocol not transmitting correctly via IR :esphomepr:`5411` by :ghuser:`michd`
- [micro_wake_word] Version 2 :esphomepr:`7032` by :ghuser:`kahrendt` (breaking-change)
- UART component support added for host platform :esphomepr:`6912` by :ghuser:`paveldn`
- Configure ap ip for RP2040 :esphomepr:`7065` by :ghuser:`HeMan`

Past Changelogs
---------------

- :doc:`2024.6.0`
- :doc:`2024.5.0`
- :doc:`2024.4.0`
- :doc:`2024.3.0`
- :doc:`2024.2.0`
- :doc:`2023.12.0`
- :doc:`2023.11.0`
- :doc:`2023.10.0`
- :doc:`2023.9.0`
- :doc:`2023.8.0`
- :doc:`2023.7.0`
- :doc:`2023.6.0`
- :doc:`2023.5.0`
- :doc:`2023.4.0`
- :doc:`2023.3.0`
- :doc:`2023.2.0`
- :doc:`2022.12.0`
- :doc:`2022.11.0`
- :doc:`2022.10.0`
- :doc:`2022.9.0`
- :doc:`2022.8.0`
- :doc:`2022.6.0`
- :doc:`2022.5.0`
- :doc:`2022.4.0`
- :doc:`2022.3.0`
- :doc:`2022.2.0`
- :doc:`2022.1.0`
- :doc:`2021.12.0`
- :doc:`2021.11.0`
- :doc:`2021.10.0`
- :doc:`2021.9.0`
- :doc:`2021.8.0`
- :doc:`v1.20.0`
- :doc:`v1.19.0`
- :doc:`v1.18.0`
- :doc:`v1.17.0`
- :doc:`v1.16.0`
- :doc:`v1.15.0`
- :doc:`v1.14.0`
- :doc:`v1.13.0`
- :doc:`v1.12.0`
- :doc:`v1.11.0`
- :doc:`v1.10.0`
- :doc:`v1.9.0`
- :doc:`v1.8.0`
- :doc:`v1.7.0`
2 changes: 1 addition & 1 deletion components/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ Open the ESPHome integration page on your Home Assistant instance:

Then:

#. Fnd your device in the device list
#. Find your device in the device list
#. Click the "configure" button next to it
#. Check the "Allow the device to make Home Assistant service calls" box
#. Then click "submit".
Expand Down
15 changes: 12 additions & 3 deletions components/climate/climate_ir.rst
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,18 @@ This platform utilises the library's generic one-size-fits-all API, which might

Additional configuration must be specified for this platform:

- **protocol** (**Required**, string): Choose one of Arduino-HeatpumpIR's supported protcols: ``aux``, ``ballu``, ``carrier_mca``, ``carrier_nqv``, ``daikin_arc417``, ``daikin_arc480``, ``daikin``, ``electroluxyal``, ``fuego``, ``fujitsu_awyz``, ``gree``, ``greeya``, ``greeyac``, ``greeyan``, ``greeyt``, ``hisense_aud``, ``hitachi``, ``hyundai``, ``ivt``, ``midea``, ``mitsubishi_fa``, ``mitsubishi_fd``, ``mitsubishi_fe``, ``mitsubishi_heavy_fdtc``, ``mitsubishi_heavy_zj``, ``mitsubishi_heavy_zm``, ``mitsubishi_heavy_zmp``, ``mitsubishi_heavy_kj``, ``mitsubishi_msc``, ``mitsubishi_msy``, ``mitsubishi_sez``, ``panasonic_ckp``, ``panasonic_dke``, ``panasonic_jke``, ``panasonic_lke``, ``panasonic_nke``, ``samsung_aqv``, ``samsung_fjm``, ``sharp``, ``toshiba_daiseikai``, ``toshiba``, ``zhlt01``
- **horizontal_default** (**Required**, string): What to default to when the AC unit's horizontal direction is *not* set to swing. Options are: ``left``, ``mleft``, ``middle``, ``mright``, ``right``, ``auto``
- **vertical_default** (**Required**, string): What to default to when the AC unit's vertical direction is *not* set to swing. Options are: ``down``, ``mdown``, ``middle``, ``mup``, ``up``, ``auto``
- **protocol** (**Required**, string): Choose one of Arduino-HeatpumpIR's supported protcols:
``aux``, ``ballu``, ``carrier_mca``, ``carrier_nqv``, ``carrier_qlima_1``, ``carrier_qlima_1``, ``daikin``, ``daikin_arc417``,
``daikin_arc480``, ``electroluxyal``, ``fuego``, ``fujitsu_awyz``, ``gree``, ``greeyaa``, ``greeyac``, ``greeyan``, ``greeyap``,
``greeyt``, ``hisense_aud``, ``hitachi``, ``hyundai``, ``ivt``, ``midea``, ``mitsubishi_fa``, ``mitsubishi_fd``,
``mitsubishi_fe``, ``mitsubishi_heavy_fdtc``, ``mitsubishi_heavy_zj``, ``mitsubishi_heavy_zm``, ``mitsubishi_heavy_zmp``,
``mitsubishi_kj``, ``mitsubishi_msc``, ``mitsubishi_msy``, ``mitsubishi_sez``, ``nibe``, ``panasonic_ckp``, ``panasonic_dke``,
``panasonic_jke``, ``panasonic_lke``, ``panasonic_nke``, ``samsung_aqv``, ``samsung_aqv12msan``,
``samsung_fjm``, ``sharp``, ``toshiba``, ``toshiba_daiseikai``, ``zhjg01``, ``zhlt01``.


- **horizontal_default** (**Required**, string): What to default to when the AC unit's horizontal direction is *not* set to swing. Options are: ``left``, ``mleft``, ``middle``, ``mright``, ``right``, ``auto``.
- **vertical_default** (**Required**, string): What to default to when the AC unit's vertical direction is *not* set to swing. Options are: ``down``, ``mdown``, ``middle``, ``mup``, ``up``, ``auto``.
- **max_temperature** (**Required**, float): The maximum temperature that the AC unit supports being set to.
- **min_temperature** (**Required**, float): The minimum temperature that the AC unit supports being set to.
- **sensor** (*Optional*, :ref:`config-id`): The sensor that is used to measure the ambient temperature.
Expand Down
36 changes: 32 additions & 4 deletions components/climate/haier.rst
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,12 @@ This component requires a :ref:`uart` to be setup.
level: INFO
format: "Alarm deactivated. Code: %d. Message: \"%s\""
args: [ code, message]
on_status_message:
then:
- logger.log:
level: INFO
format: "New status message received, size=%d, subcmd=%02X%02X"
args: [ 'data_size', 'data[0]', 'data[1]' ]


Configuration variables:
Expand All @@ -112,7 +118,9 @@ Configuration variables:
- **wifi_signal** (*Optional*, boolean): If true - send wifi signal level to AC.
- **answer_timeout** (*Optional*, :ref:`config-time`): Responce timeout. The default value is 200ms.
- **alternative_swing_control** (*Optional*, boolean): (supported by smartAir2 only) If true - use alternative values to control swing mode. Use only if the original control method is not working for your AC.
- **status_message_header_size** (*Optional*, int): (supported only by hOn) Define the header size of the status message. Can be used to handle some protocol variations. Use only if you are sure what you are doing. The default value: 0.
- **control_packet_size** (*Optional*, int): (supported only by hOn) Define the size of the control packet. Can help with some newer models of ACs that use bigger packets. The default value: 10.
- **sensors_packet_size** (*Optional*, int): (supported only by hOn) Define the size of the sensor packet of the status message. Can help with some models of ACs that have bigger sensor packet. The default value: 22, minimum value: 18.
- **control_method** (*Optional*, list): (supported only by hOn) Defines control method (should be supported by AC). Supported values: MONITOR_ONLY - no control, just monitor status, SET_GROUP_PARAMETERS - set all AC parameters with one command (default method), SET_SINGLE_PARAMETER - set each parameter individually (this method is supported by some new ceiling ACs like AD71S2SM3FA)
- **display** (*Optional*, boolean): Can be used to set the AC display off.
- **beeper** (*Optional*, boolean): Can be used to disable beeping on commands from AC. Supported only by hOn protocol.
Expand All @@ -121,6 +129,7 @@ Configuration variables:
- **supported_presets** (*Optional*, list): Can be used to disable some presets. Possible values for smartair2 are: AWAY, BOOST, COMFORT. Possible values for hOn are: AWAY, ECO, BOOST, SLEEP. AWAY preset can be enabled only in HEAT mode, it is disabled by default
- **on_alarm_start** (*Optional*, :ref:`Automation <automation>`): (supported only by hOn) Automation to perform when AC activates a new alarm. See :ref:`haier-on_alarm_start`
- **on_alarm_end** (*Optional*, :ref:`Automation <automation>`): (supported only by hOn) Automation to perform when AC deactivates a new alarm. See :ref:`haier-on_alarm_end`
- **on_status_message** (*Optional*, :ref:`Automation <automation>`): Automation to perform when status message received from AC. See :ref:`haier-on_status_message`
- All other options from :ref:`Climate <config-climate>`.

Automations
Expand All @@ -131,7 +140,7 @@ Automations
``on_alarm_start`` Trigger
**************************

This automation will be triggered when a new alarm is activated by AC. The error code of the alarm will be given in the variable "code" (type uint8_t), error message in the variable "message" (type char*). Those variables can be used in :ref:`lambdas <config-lambda>`
This automation will be triggered when a new alarm is activated by AC. The error code of the alarm will be given in the variable ``code`` (``uint8_t``), error message in the variable ``message`` (``const char *``). Those variables can be used in :ref:`lambdas <config-lambda>`

.. code-block:: yaml

Expand All @@ -142,14 +151,14 @@ This automation will be triggered when a new alarm is activated by AC. The error
- logger.log:
level: WARN
format: "Alarm activated. Code: %d. Message: \"%s\""
args: [ code, message]
args: [ 'code', 'message' ]

.. _haier-on_alarm_end:

``on_alarm_end`` Trigger
************************

This automation will be triggered when a previously activated alarm is deactivated by AC. The error code of the alarm will be given in the variable "code" (type uint8_t), error message in the variable "message" (type char*). Those variables can be used in :ref:`lambdas <config-lambda>`
This automation will be triggered when a previously activated alarm is deactivated by AC. The error code of the alarm will be given in the variable ``code`` (``uint8_t``), error message in the variable ``message`` (``const char *``). Those variables can be used in :ref:`lambdas <config-lambda>`

.. code-block:: yaml

Expand All @@ -160,7 +169,26 @@ This automation will be triggered when a previously activated alarm is deactivat
- logger.log:
level: INFO
format: "Alarm deactivated. Code: %d. Message: \"%s\""
args: [ code, message]
args: [ 'code', 'message' ]

.. _haier-on_status_message:

``on_status_message`` Trigger
*****************************

This automation will be triggered when component receives new status packet from AC. Raw message binary (without header and checksum) will be provided in the variable ``data`` (``const char *``), message length in the variable ``data_size`` (``uint8_t``). Those variables can be used in :ref:`lambdas <config-lambda>`
This trigger can be used to support some features that unique for the model and not supported by others.

.. code-block:: yaml

climate:
- protocol: hOn
on_status_message:
then:
- logger.log:
level: INFO
format: "New status message received, size=%d, subcmd=%02X%02X"
args: [ 'data_size', 'data[0]', 'data[1]' ]

``climate.haier.power_on`` Action
*********************************
Expand Down
Loading