Integration with Haier HoN app

Are you sure you are inside the right “config” folder ? Is the “configuration.yaml” present?

1 Like

Unfortunately no, I’ve implemented only Climate today

Can you explain how to implement different devices? Then maybe the community can take this great integration a few steps further…

Yes. Everything was fine from the beginning. After two hours of frustration the integration “automagically” appeared in the list. Thanks for your help!

Good te hear!
I hope you can figure out the automations.
I still have problems with it but nobody seems to try it or something?

For now I have had only little time to try out basics. I don’t use Home Assistant automations at all - all I have in my Home Assistant is handled by Node Red. And as an experiment I created a flow to turn on and turn of one of the AC’s with the long-press of one of the light switch on the wall - it works perfectly.

Thank you very much for your hard work @gvigroux, do you know if we can add support for a fridge (i.e.- HFW7819EWMP)?

Thanks in advance! :slight_smile:

Services work fine now, even though I have no idea on how to add them to the thermostat and have to call them manually instead.

Still, DRY mode is nowhere to be seen, and using it with the AC’s remote makes it appear as if it’s OFF on HA. I think this is an integration issue.

Any chance to add swing specific position, like in the app? The fixed value?

I got the integration working. Awesome! The log file shows my wine cooler HWS42GDAU1 but I don’t have any sensors in HA yet. Is it possible to add this wine cooler? My goal is to automatically switch the wine cooler lights on. Thanks in advance!

1 Like

I’ve just added:

  • DRY support for climate (activated for all because I don’t know the criteria)
  • External temperature sensor (for climate)
  • Washing machine support (thanks James)
1 Like

Do you know if there is standard service to machine this in HA?

@nash16 , @paulf I can try but I don’t have such device so I cannot test.
I need:

  1. the warning log with all info on the device
  2. sensor needed (state, temperature, timing…)
  3. action needed (on/off, other…)

@nash16

Great! This is what I can find in the logfile.

Logger: custom_components.hon
Source: custom_components/hon/init.py:60
Integration: hOn
First occurred: 20:45:55 (1 occurrences)
Last logged: 20:45:55

Unknown device detected [{‘purchaseDate’: ‘2021-01-23T22:00:00.000Z’, ‘fwVersion’: ‘5.3.0’, ‘applianceTypeId’: 6, ‘attributes’: [{‘parValue’: ‘20.05.20’, ‘id’: 9061058, ‘parName’: ‘acuVersion’, ‘status’: 1, ‘lastUpdate’: ‘2021-09-26T16:31:01Z’}, {‘parValue’: ‘1’, ‘id’: 26012713, ‘parName’: ‘chipset’, ‘status’: 1, ‘lastUpdate’: ‘2022-02-25T17:16:41Z’}, {‘parValue’: ‘23’, ‘id’: 52266450, ‘parName’: ‘dictionaryId’, ‘status’: 1, ‘lastUpdate’: ‘2022-08-06T10:43:56Z’}, {‘parValue’: ‘1’, ‘id’: 26013568, ‘parName’: ‘eppParserSet’, ‘status’: 1, ‘lastUpdate’: ‘2022-02-25T17:17:13Z’}, {‘parValue’: ‘it-IT’, ‘id’: 9061056, ‘parName’: ‘lang’, ‘status’: 1, ‘lastUpdate’: ‘2021-09-26T16:31:01Z’}, {‘parValue’: ‘20.05.20’, ‘id’: 26012714, ‘parName’: ‘uiVersion’, ‘status’: 1, ‘lastUpdate’: ‘2022-02-25T17:16:41Z’}], ‘applianceModelId’: 127, ‘series’: ‘series50’, ‘code’: ‘B408E0E4P00’, ‘SK’: ‘app#x0-00-00-00-00-xx’, ‘macAddress’: ‘x0-00-00-00-00-xx’, ‘applianceId’: ‘x0-00-00-00-00-xx#2021-09-26T16:30:44Z’, ‘id’: 127, ‘modelName’: ‘HWS42GDAU1’, ‘applianceTypeName’: ‘WC’, ‘connectivity’: ‘wifi|ble’, ‘serialNumber’: ‘XXXXXXXXXXXXXXXXXXXXX’, ‘nickName’: ‘Wijnkoeler’, ‘enrollmentDate’: ‘2021-09-26T16:30:44.615Z’, ‘brand’: ‘haier’, ‘zone’: ‘2’, ‘lastUpdate’: ‘2022-02-25T17:16:41Z’, ‘applianceCapacity’: ‘42’, ‘eepromId’: 41, ‘applianceStatus’: 1, ‘coords’: {‘lng’: xx.000000, ‘lat’: xx.000000}, ‘PK’: ‘user#eu-west-1:xxxxxx-xxx-xxx-xxx-xxxxxxx’, ‘SK_Secondary’: ‘WC#carbonFilter#2022-03-26’, ‘sections’: {‘chatbot’: True, ‘double_pairing_hidden’: True, ‘epp_enabled’: False}, ‘topics’: {‘publish’: [], ‘subscribe’: [’$aws/events/presence/disconnected/x0-00-00-00-00-xx’, ‘$aws/events/presence/connected/x0-00-00-00-00-xx’, ‘haier/things/x0-00-00-00-00-xx/event/appliancestatus/update’, ‘haier/things/x0-00-00-00-00-xx/event/discovery/update’]}}] with latest status [{‘payload’: {‘resultCode’: ‘0’, ‘shadow’: {‘parameters’: {‘tempSel’: {‘parNewVal’: ‘16.1’, ‘lastUpdate’: ‘2021-11-27T14:31:00Z’}, ‘prCodeZ2’: {‘parNewVal’: ‘2’, ‘lastUpdate’: ‘2021-09-26T16:43:59Z’}, ‘debugEnabled’: {‘parNewVal’: ‘0’, ‘lastUpdate’: ‘2021-09-26T16:32:34Z’}, ‘tempUnit’: {‘parNewVal’: ‘0’, ‘lastUpdate’: ‘2021-09-26T16:32:37Z’}, ‘stdTransRate’: {‘parNewVal’: ‘3600’, ‘lastUpdate’: ‘2021-09-26T16:32:34Z’}, ‘onOffStatus’: {‘parNewVal’: ‘1’, ‘lastUpdate’: ‘2021-09-26T16:56:58Z’}, ‘temp’: {‘parNewVal’: ‘16.1’, ‘lastUpdate’: ‘2022-06-30T12:22:49Z’}, ‘machMode’: {‘parNewVal’: ‘1’, ‘lastUpdate’: ‘2022-06-18T10:12:18Z’}, ‘highTransRate’: {‘parNewVal’: ‘1’, ‘lastUpdate’: ‘2021-09-26T16:32:34Z’}, ‘lightStatus’: {‘parNewVal’: ‘0’, ‘lastUpdate’: ‘2022-08-06T12:54:13Z’}, ‘statusSyncRate’: {‘parNewVal’: ‘1440’, ‘lastUpdate’: ‘2022-02-25T17:17:14Z’}, ‘tempSelZ2’: {‘parNewVal’: ‘10.0’, ‘lastUpdate’: ‘2022-06-18T10:14:14Z’}, ‘transMode’: {‘parNewVal’: ‘0’, ‘lastUpdate’: ‘2022-08-06T10:54:11Z’}, ‘errors’: {‘parNewVal’: ‘00’, ‘lastUpdate’: ‘2022-06-18T10:12:17Z’}, ‘tempZ2’: {‘parNewVal’: ‘10.0’, ‘lastUpdate’: ‘2022-06-30T12:22:49Z’}, ‘humidityZ1’: {‘parNewVal’: ‘49’, ‘lastUpdate’: ‘2022-08-06T17:54:18Z’}, ‘tempEnv’: {‘parNewVal’: ‘26.1’, ‘lastUpdate’: ‘2022-08-06T17:54:18Z’}, ‘prCode’: {‘parNewVal’: ‘1’, ‘lastUpdate’: ‘2021-09-26T16:33:59Z’}, ‘sabbathStatus’: {‘parNewVal’: ‘0’, ‘lastUpdate’: ‘2021-09-26T16:32:37Z’}, ‘humidityZ2’: {‘parNewVal’: ‘72’, ‘lastUpdate’: ‘2022-08-06T16:54:17Z’}}}, ‘activity’: {}, ‘commandHistory’: {‘command’: {‘macAddress’: ‘x0-00-00-00-00-xx’, ‘commandName’: ‘startProgram’, ‘applianceOptions’: {}, ‘ancillaryParameters’: {}, ‘applianceType’: ‘WC’, ‘attributes’: {‘channel’: ‘mobileApp’, ‘origin’: ‘standardProgram’}, ‘device’: {‘appVersion’: ‘1.43.2’, ‘deviceModel’: ‘exynos990’, ‘osVersion’: ‘31’, ‘mobileId’: ‘XXXXXXXXXXXXXXX’, ‘mobileOs’: ‘android’}, ‘parameters’: {‘lightStatus’: ‘1’}, ‘transactionId’: ‘x0-00-00-00-00-xx_2022-08-06T10:36:16.958Z’, ‘timestamp’: ‘2022-08-06T10:36:16.957Z’}, ‘timestampAccepted’: ‘2022-08-06T10:36:18.5Z’, ‘timestampExecuted’: ‘2022-08-06T10:36:19.6Z’}, ‘lastConnEvent’: {‘macAddress’: ‘x0-00-00-00-00-xx’, ‘category’: ‘CONNECTED’, ‘instantTime’: ‘2022-08-04T23:39:50Z’, ‘timestampEvent’: 1659656390465}}, ‘authInfo’: {}}]

Extract
Red Wine = tempSel’: {‘parNewVal’: ‘16.1’
White Wine = tempSelZ2’: {‘parNewVal’: ‘10.0’
Light = lightStatus’: {‘parNewVal’: ‘0’

When light is on:
lightStatus’: {‘parNewVal’: ‘1’

I did some testing and added some code myself. It now works like a charm. :slight_smile:Schermprint

I can share my code if you want.

1 Like

Sure, please share the code, I will integrate it

Hello,
First of all, thank you all for the great work you have done so far.
Based on the code you wrote, I started working on integration for my haier HD80-A3959 dryer. So far I’ve been able to add it to the plugin and get the information about it using what jamesridgway has written so far about Washing Machine. When I set up the sensors I will send you the code to add it.

1 Like

Hello everyone,

Indeed there is at best,
For my part I have a dryer and not a washing machine.
Like @paulf I find this in the log:

Logger: custom_components.hon
Source: custom_components/hon/__init__.py:60
Integration: hOn
First occurred: 10:41:05 (1 occurrences)
Last logged: 10:41:05

Unknown device detected [{'purchaseDate': '2022-06-03T22:00:00.000Z', 'fwVersion': '3.2.5', 'applianceTypeId': 8, 'attributes': [{'parValue': '4.A.0', 'id': 40603006, 'parName': 'acuVersion', 'status': 1, 'lastUpdate': '2022-06-09T12:36:39Z'}, {'parValue': 'ESP32D0WDQ5', 'id': 40603005, 'parName': 'chipset', 'status': 1, 'lastUpdate': '2022-06-09T12:36:39Z'}, {'parValue': '198', 'id': 54422808, 'parName': 'dictionaryId', 'status': 1, 'lastUpdate': '2022-08-17T08:32:53Z'}, {'parValue': 'it-IT', 'id': 40603004, 'parName': 'lang', 'status': 1, 'lastUpdate': '2022-06-09T12:36:39Z'}, {'parValue': '3.C.5', 'id': 40603007, 'parName': 'uiVersion', 'status': 1, 'lastUpdate': '2022-06-09T12:36:39Z'}], 'applianceModelId': 1204, 'series': 'smartPro', 'code': '31102379', 'SK': 'app#34-86-5d-26-22-90', 'macAddress': '34-86-5d-26-22-90', 'eepromName': '70007722', 'applianceId': '34-86-5d-26-22-90#2022-06-09T12:36:25Z', 'id': 1204, 'modelName': 'CSOE C10TREX-47', 'applianceTypeName': 'TD', 'connectivity': 'wifi|ble', 'serialNumber': '3110237922080195', 'nickName': 'Sèche-linge', 'enrollmentDate': '2022-06-09T12:36:25.664Z', 'brand': 'candy', 'lastUpdate': '2022-06-09T12:36:39Z', 'structure': 'thermicCondensed', 'eepromId': 667, 'applianceStatus': 1, 'coords': {'lng': 1.9602631, 'lat': 48.8175289}, 'PK': 'user#eu-west-1:dea80655-ccc1-4b5e-90c2-a570b946cb97', 'sections': {'demo': True, 'chatbot': True, 'inventory': True, 'snap_wash': True}, 'topics': {'publish': [], 'subscribe': ['$aws/events/presence/disconnected/34-86-5d-26-22-90', '$aws/events/presence/connected/34-86-5d-26-22-90', 'haier/things/34-86-5d-26-22-90/event/appliancestatus/update', 'haier/things/34-86-5d-26-22-90/event/discovery/update']}}] with latest status [{'payload': {'resultCode': '0', 'shadow': {'parameters': {'drySynthMax': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'dryLevel': {'parNewVal': '2', 'lastUpdate': '2022-08-17T08:33:57Z'}, 'program21t': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program5t': {'parNewVal': '171', 'lastUpdate': '2022-08-09T17:45:21Z'}, 'program1t': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'dryCotton120': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'tumblingStatus': {'parNewVal': '0', 'lastUpdate': '2022-08-17T08:33:57Z'}, 'drySynthStore': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'machMode': {'parNewVal': '1', 'lastUpdate': '2022-08-17T08:33:57Z'}, 'checkUpStatus': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'errors': {'parNewVal': '00', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'remoteCtrValid': {'parNewVal': '1', 'lastUpdate': '2022-08-17T08:33:57Z'}, 'program13t': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'dryCottonHang': {'parNewVal': '13', 'lastUpdate': '2022-08-15T19:55:45Z'}, 'anticrease': {'parNewVal': '1', 'lastUpdate': '2022-08-15T22:07:21Z'}, 'doorStatus': {'parNewVal': '0', 'lastUpdate': '2022-08-15T22:07:42Z'}, 'program17t': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'hybrid': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'remainingTimeMM': {'parNewVal': '166', 'lastUpdate': '2022-08-17T08:33:57Z'}, 'opt5': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'dryingManager': {'parNewVal': '1', 'lastUpdate': '2022-08-15T22:07:21Z'}, 'bestIroning': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'opt8': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'opt6': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program10t': {'parNewVal': '47', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'opt7': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program4': {'parNewVal': '1', 'lastUpdate': '2022-06-10T19:47:23Z'}, 'program3': {'parNewVal': '17', 'lastUpdate': '2022-08-15T23:47:44Z'}, 'program6t': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program6': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'drySynthHang': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program5': {'parNewVal': '41', 'lastUpdate': '2022-08-09T17:45:21Z'}, 'program8': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program7': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program2t': {'parNewVal': '54', 'lastUpdate': '2022-08-08T09:08:51Z'}, 'program9': {'parNewVal': '5', 'lastUpdate': '2022-08-06T14:07:09Z'}, 'dryCottonStore': {'parNewVal': '8', 'lastUpdate': '2022-08-07T11:05:00Z'}, 'dryCotton60': {'parNewVal': '9', 'lastUpdate': '2022-08-15T21:55:08Z'}, 'drySynth120': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program2': {'parNewVal': '7', 'lastUpdate': '2022-08-08T09:08:51Z'}, 'program1': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'dryCottonMax': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'prCode': {'parNewVal': '0', 'lastUpdate': '2022-08-15T21:11:01Z'}, 'program14t': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program18t': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program19': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'dryCottonBone': {'parNewVal': '52', 'lastUpdate': '2022-08-15T23:47:44Z'}, 'dryCotton180': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program18': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program17': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'prPhase': {'parNewVal': '0', 'lastUpdate': '2022-08-15T23:47:44Z'}, 'program16': {'parNewVal': '5', 'lastUpdate': '2022-08-15T21:11:01Z'}, 'program11t': {'parNewVal': '31', 'lastUpdate': '2022-08-15T21:55:08Z'}, 'dryCottonIron': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program11': {'parNewVal': '5', 'lastUpdate': '2022-08-15T21:55:08Z'}, 'program10': {'parNewVal': '1', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program7t': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program15': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program14': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program13': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'waterTankStatus': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program12': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program3t': {'parNewVal': '99', 'lastUpdate': '2022-08-15T23:47:44Z'}, 'dryFilterStatus': {'parNewVal': '0', 'lastUpdate': '2022-08-17T08:33:57Z'}, 'program8t': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'dryLevelMgmt': {'parNewVal': '3', 'lastUpdate': '2022-08-15T23:12:08Z'}, 'program15t': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program19t': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'delayTime': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'dryTime': {'parNewVal': '0', 'lastUpdate': '2022-08-15T21:11:01Z'}, 'prPosition': {'parNewVal': '1', 'lastUpdate': '2022-08-17T08:33:57Z'}, 'program12t': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program20t': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program4t': {'parNewVal': '171', 'lastUpdate': '2022-06-10T19:47:23Z'}, 'program21': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program20': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'drySynth60': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program9t': {'parNewVal': '69', 'lastUpdate': '2022-08-06T14:07:09Z'}, 'drySynthIron': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'drySynth180': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}, 'program16t': {'parNewVal': '71', 'lastUpdate': '2022-08-15T21:11:01Z'}, 'drySynthBone': {'parNewVal': '0', 'lastUpdate': '2022-06-09T12:36:40Z'}}}, 'activity': {}, 'commandHistory': {'command': {'macAddress': '34-86-5d-26-22-90', 'commandName': 'startProgram', 'applianceOptions': {'opt1': 'anticrease', 'opt2': 'dryingManager', 'opt3': 'bestIroning', 'opt4': 'hybrid'}, 'programName': 'PROGRAMS.TD.MIX_AND_DRY', 'ancillaryParameters': {'remoteActionable': '1', 'functionalId': '7', 'remoteVisible': '1', 'suggestedLoadD': '4', 'energyLabel': '0', 'programFamily': '[hidden]', 'dryTimeMM': '70', 'programRules': {'opt3': {'dryLevel': {'2|3|4': {'fixedValue': '0', 'typology': 'fixed'}}}, 'dryTime': {'dryTimeMM': {'30': {'fixedValue': '1', 'typology': 'fixed'}, '45': {'fixedValue': '2', 'typology': 'fixed'}, '59': {'fixedValue': '3', 'typology': 'fixed'}, '70': {'fixedValue': '4', 'typology': 'fixed'}, '80': {'fixedValue': '5', 'typology': 'fixed'}, '90': {'fixedValue': '6', 'typology': 'fixed'}, '100': {'fixedValue': '7', 'typology': 'fixed'}, '110': {'fixedValue': '8', 'typology': 'fixed'}, '120': {'fixedValue': '9', 'typology': 'fixed'}, '130': {'fixedValue': '10', 'typology': 'fixed'}, '140': {'fixedValue': '11', 'typology': 'fixed'}, '150': {'fixedValue': '12', 'typology': 'fixed'}, '160': {'fixedValue': '13', 'typology': 'fixed'}, '170': {'fixedValue': '14', 'typology': 'fixed'}, '180': {'fixedValue': '15', 'typology': 'fixed'}, '190': {'fixedValue': '16', 'typology': 'fixed'}, '200': {'fixedValue': '17', 'typology': 'fixed'}, '210': {'fixedValue': '18', 'typology': 'fixed'}, '220': {'fixedValue': '19', 'typology': 'fixed'}}}, 'dryLevel': {'opt3': {'1': {'fixedValue': '1', 'typology': 'fixed'}}}}}, 'applianceType': 'TD', 'attributes': {'prStr': 'Mix&Dry', 'channel': 'mobileApp', 'energyLabel': '0', 'origin': 'standardProgram'}, 'device': {'appVersion': '1.44.3', 'deviceModel': 'sdm845', 'osVersion': '30', 'mobileId': '774159cb8e9cc8ee', 'mobileOs': 'android'}, 'parameters': {'dryTime': '4', 'dryingManager': '1', 'hybrid': '0', 'checkUpStatus': '0', 'anticrease': '0', 'delayTime': '0', 'prCode': '17', 'prPosition': '16', 'dryLevel': '3', 'bestIroning': '0', 'onOffStatus': '1'}, 'transactionId': '34-86-5d-26-22-90_2022-08-15T19:58:34.559Z', 'timestamp': '2022-08-15T19:58:34.558Z'}, 'timestampAccepted': '2022-08-15T19:58:36.4Z', 'timestampExecuted': '2022-08-15T19:58:36.4Z'}, 'lastConnEvent': {'macAddress': '34-86-5d-26-22-90', 'category': 'CONNECTED', 'instantTime': '2022-08-17T08:33:49Z', 'timestampEvent': 1660725229641}}, 'authInfo': {}}]

I would like to know if I can modify the washing machine part to have the entities or add a new category?

@paulf I’d love your piece of code :slight_smile: ?

Thank you

1 Like

Hi chikite,
You can try my fork https://github.com/drudgebg/hon in which I have added support for dryer based on my haier HD80-A3959.

1 Like

I tried but I have her 2 notifications that appear when I add the integration:

Logger: homeassistant.setup
Source: setup.py:320
First occurred: 15:42:38 (1 occurrences)
Last logged: 15:42:38

Unable to prepare setup for platform hon.sensor: Platform not found (Exception importing custom_components.hon.sensor).
Logger: homeassistant.loader
Source: loader.py:674
First occurred: 15:42:38 (1 occurrences)
Last logged: 15:42:38

Unexpected exception importing platform custom_components.hon.sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/loader.py", line 657, in get_platform
    cache[full_name] = self._import_platform(platform_name)
  File "/usr/src/homeassistant/homeassistant/loader.py", line 674, in _import_platform
    return importlib.import_module(f"{self.pkg_path}.{platform_name}")
  File "/usr/local/lib/python3.10/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 879, in exec_module
  File "<frozen importlib._bootstrap_external>", line 1017, in get_code
  File "<frozen importlib._bootstrap_external>", line 947, in source_to_code
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/config/custom_components/hon/sensor.py", line 598
    	self._attr_device_class = "tumbledryerprogram"
    ^
TabError: inconsistent use of tabs and spaces in indentation