Homewizard climate local MQTT control!

Thanks! I’ve done this and I am able to add the integration using my email and password, but I don’t have any devices load into the integration. I currently use the dehumidifier, which works fine through the Homewizard Climate app.

Device info:
Software: 1.07
Dehumidifier HWCdhmG1

@mhjansen79 I should’ve mentioned that it currently only supports one type of device (HeaterFan). Main reason is I only had access to that one device. I might have a way to find out other device types’ websocket payloads, but I’m not sure yet. You are welcome to open a PR in the underlying library if you know what payloads are sent for your device type. Otherwise, I might have more supported devices in about a month or so.

2 Likes

Is there a way to find out those websocket payloads? I’m using the same infrared heater( ‘Princess 01.343350.01.001 Smart Infrared Panel Heater 350 | Princess’) as MaxiMIlliaz mentioned above.

I have a Princess Glass Smart Panel Heater, 2000 W, and I’d like to help find other device types and contribute to finding them and getting my heater in HA. Any suggestions @mepla?

2 Likes

Hi @mepla! Thanks for your work.

I have tried this component, but I get an authentication error. “invalid_auth”.
What could be the error?

Many thanks in advance!

So…long journey. I don’t know how I found them initially, but I think I was looking at who forked @mepla’s library and came across Dennis.

He helped me figure out my device type. I did this by:

  1. Installing python and pip on an old Linux PC I had.
  2. running the debug script found here.
  3. It said at the end of the script, ValueError: 'heater' is not a valid HomeWizardClimateDeviceType
  4. That is the device type, so I added HEATER = "heater" to homewizard_climate_websocket/model/climate_device.py

I’m still working on getting that into the custom component integration.

1 Like

Update: got it working by using this.

Someone asked me for a more detailed instruction on how I got my heater into HA. Here’s what I sent them:

Do you know how to use command line? If not, here’s a youtube video on that for windows. Install this:

Once you have python installed download this and go into the command line at the location of the extracted files you downloaded. In it is a debug.sh command which can log the devices that exist on your homewizard climate account. You just run it by typing: ./debug.sh

When I did it, this was the message I received:

This tells you what your device type is. “heater” is mine. Download this, but go into this file locally and edit it, putting in the device type you got above. Save the file.

Then install the component the same way @mepla suggests here. Once you’ve done that reboot your HA instance and then go into integrations and it should be there to add.

If you need any help, let me know.

1 Like

With the help of Profile - MartiAbernathey - Home Assistant Community I also managed to get my infraredheater into HA. Thanks for all your great work.

Thanks. Btw, you can now add the integration via HACs by adding this repository

Successfully installed homewizard-climate-websocket-0.0.8
DEBUG:homewizard_climate_websocket.api.api:Logging in to https://api.homewizardeasyonline.com/v1/auth/login with username [email protected]
DEBUG:urllib3.connectionpool:Starting new HTTPS connection (1): api.homewizardeasyonline.com:443
DEBUG:urllib3.connectionpool:https://api.homewizardeasyonline.com:443 "GET /v1/auth/login HTTP/1.1" 200 696
DEBUG:homewizard_climate_websocket.api.api:Login ([email protected]) status code: 200
ERROR:homewizard_climate_websocket.api.api:Login failed for username [email protected], response was: <Response [200]>
Traceback (most recent call last):
  File "/home/atarian/Downloads/homewizard-climate-websocket-feature-debug-devices/homewizard_climate_websocket/debug.py", line 28, in <module>
    main()
  File "/home/atarian/Downloads/homewizard-climate-websocket-feature-debug-devices/homewizard_climate_websocket/debug.py", line 15, in main
    api.login()
  File "/home/atarian/.local/lib/python3.10/site-packages/homewizard_climate_websocket/api/api.py", line 52, in login
    raise InvalidHomewizardAuth()
homewizard_climate_websocket.api.api.InvalidHomewizardAuth

I try to add our HomeWizard compatible Dehumidifier. My login email and password are working 100% (for login to account on the website), however if I add these to debug.sh and run the script, I get a response 200.

Is this because the dehumidifier is not a climate type device or could I be doing something wrong?

btw, I exchanged my real email to [email protected] in the output above :slight_smile:

The api module expects content-type “application/json” but it receives “application/json; charset=utf-8”.
Let me create a PR if I can find the lib

It was already done 4 days ago Change content-type check · mepla/homewizard-climate-websocket@db59a72 · GitHub
Use version 0.0.10

It works great, thanks :smiley:

Only one thing when I click on the heat icon the cool icon lits
and it displays cooling instead of heating.

Just a reminder, there are two versions @mepla version which only has “heaterfan” but Dennis’ version (fork) includes heater, infrared heater, heaterfan, and fan.

1 Like

The version from dennis1804 is indeed further developed. There’s an open PR made by Dennis for some initial changes into the @mepla repository, but this hasn’t been merged in yet, so that repo seems stale… I think at this point Dennis decided to maintain this component in his own repository (combined with a corresponding homewizard-climate-ws Python package instead of the original homewizard-climate-websocket package).

Note that recently I added support for ECO / BOOST preset mode for the heater type devices, this PR has been approved and released by Dennis, indicating his repository is actually maintained.

Yesterday I also did a bugfix for an initialization issue for these heater type devices into the related websocket repo. I expect this PR to also be approved and merged in short notice…

Has anyone managed to get this working with the Princess Smart Dehumidifier (that works with HomeWizard)? I am pretty new to HASS to any help is hugely appreciated. Thanks

dennis1804 has added dehumidifiers to his version. No need to do all the above, just install it using HACS and your good to go. It doesnt have all functions yet but it’s being worked on.

1 Like

The integration works with my Princess 343700 IR Panel Heater. Thanks!

Does anyone knows what this log messages mean:

2024-02-08 19:28:14.610 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class ‘custom_components.homewizard_climate.climate.HomeWizardClimateEntity’>) does not set ClimateEntityFeature.TURN_OFF but implements the turn_off method. Please report it to the author of the ‘homewizard_climate’ custom integration
2024-02-08 19:28:14.610 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class ‘custom_components.homewizard_climate.climate.HomeWizardClimateEntity’>) does not set ClimateEntityFeature.TURN_ON but implements the turn_on method. Please report it to the author of the ‘homewizard_climate’ custom integration
2024-02-08 19:28:14.610 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class ‘custom_components.homewizard_climate.climate.HomeWizardClimateEntity’>) implements HVACMode(s): heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please report it to the author of the ‘homewizard_climate’ custom integration