Homewizard intergration

Got some more info about the heaters! i digged in ssl mitm proxy and got the homewizard android app mapped out.

So now i have a highly experimental HomewizardToMQTT bridge, readonly for now.
We still need the homewizard cloud because we are emulating the android app.

MQTT Examples:
homewiz/heater/3c39e7217cc0/state/power_on true
homewiz/heater/3c39e7217cc0/state/target_temperature 16
homewiz/heater/3c39e7217cc0/state/current_temperature 15
homewiz/heater/3c39e7217cc0/state/mode low
homewiz/heater/3c39e7217cc0/state/lock True
homewiz/heater/3c39e7217cc0/state/timer 0
homewiz/heater/3c39e7217cc0/state/current_temperature 16
homewiz/heater/3c39e7217cc0/state/current_temperature 15
homewiz/heater/3c39e7217cc0/state/current_temperature 16

homewiz

I need to add some more stuff to the code before i make it public and i want to integrate it with the HVAC MQTT Climate control in HA.

i am by no means a good coder, just a system engineer with some basic knowledge. So any dev with python websocket, mqtt and asyncio experience > contact me.

edit:
Now i can also control the heater in HA:
homewiz

todo: HVAC MQTT climate and a lot nicer code

That was easy!
homewiz

#################################################################################

EDIT! Hey @viertel97 @M3ntalBadg3r , Its a lot easier than expected, iv got full offline control! ill keep you posted…

I am also interested in this @a1ad. We are talking about the homewizard climate app, right ?

Wow that’s great work!

Unfortunately my heater broke so I had to send it back and ended up just using a smart plug, convector heater, RPi Zero with DHT22 for temperature and the Generic Thermostat in HA. However I know someone else who has one so I’ll point them this way!

@spobo: my first attempt was to emulate the climate app indeed. But now i don’t need the app or the cloud.

Full local mqtt control!

Hi @a1ad, I’m also interested on how you’ve solved it! Thx

@maxrc @spobo @M3ntalBadg3r @viertel97 i created a new topic:

Trying to get my solar values from Homewizard Energylink to HA but need some help with the value_template. This is my output from HW:

{“status”: “ok”, “version”: “3.403”, “request”: {“route”: “/get-sensors” }, “response”: {“preset”:0,“time”:“2021-05-16 12:28”,“switches”:[],“uvmeters”:[],“windmeters”:[],“rainmeters”:[],“thermometers”:[],“weatherdisplays”:[], “energymeters”: [], “energylinks”: [{“id”:0,“favorite”:“no”,“name”:“EnergyLink”,“code”:“563206”,“t1”:“solar”,“c1”:800,“t2”:“none”,“c2”:0,“tariff”:1,“s1”:{“po”:2102,“dayTotal”:7.03,“po+”:5067,“po+t”:“11:49”,“po-”:5,“po-t”:“00:01”},“s2”:null,“aggregate”:{“po”:-501,“dayTotal”:-0.41,“po+”:1992,“po+t”:“06:58”,“po-”:-4777,“po-t”:“12:14”},“used”:{“po”:1601,“dayTotal”:6.69,“po+”:3790,“po+t”:“12:07”,“po-”:0,“po-t”:“10:46”},“gas”:{“lastHour”:0.16,“dayTotal”:0.39},“kwhindex”:0.00,“wp”:0}], “heatlinks”: [], “hues”: [], “scenes”: [], “kakusensors”: [], “cameras”: []}}

Anybody could help me with the command to get HA sensors with:
po
daytotal
etc.

Just need the format to get them to work, tried this:
value_template: ‘{{ value_json.response.energylinks[0] }}’

value_template: '{{ value_json.response.energylinks[0].s1.po }}'
value_template: '{{ value_json.response.energylinks[0].s1.dayTotal }}'
1 Like

IThis is interesting, I also have a home wizard, everything has now been converted to Home Assistant with Zigbee, only the Home wizard energy Link still not wants to read out. I just can’t get this to work. I use this command but get a red exclamation mark, at the value_template.

platform: rest
    command_state: curl "http://xxx.xxx.xxx.xxx:80/xxxx/get-status"
    name: homewizard
    value_template: '{{ value_json.response.energylinks[0].s1.po }}'
    value_template: '{{ value_json.response.energylinks[0].s1.dayTotal }}'

Thanks for the help.

Try using this in your configuration.yaml

rest:
  - resource: http://xxx.xxx.xxx.xxx:80/xxxx/get-status
    sensor:
      - name: consumption
        value_template: '{{ value_json.response.energylinks[0].s1.po }}'
        unit_of_measurement: 'kWh'
      - name: daytotal
        value_template: '{{ value_json.response.energylinks[0].s1.dayTotal }}'
        unit_of_measurement: 'kWh'

You must check where the values are in your json.
Sometimes they are under s1… in my case they are listed under agrregate.

1 Like

Thanks for your help, I really appreciate this, I can now see the entities: consumption and daytotal. But I get the message, “This entity (“sensor.consumption”) does not have a unique ID”.
So i can’t get any futher of reading the status. How did you fix this.

solved, there is no need to be a unique id, just add it to the dashboard and you’re done. thanks.

Hello everybody.

can someone tell me how to make a sensor out of this.
these are the meter readings from the energy link. I’ve tried all of the above, just filled in differently. but don’t get it done.

I would like to get a sensor from used and produced

http://192.168../password/el/get/0/readings

{“status”: “ok”, “version”: “3.403”, “request”: {“route”: “/el” }, “response”: [{“type”:“electricity”,“tariff”:1,“consumed”:19010.228,“produced”:4363.093},{“type”:“electricity”,“tariff”:2,“consumed”:17700.484,“produced”:10661.473},{“type”:“gas”,“consumed”:8646.620,“timestamp”:1630713600}]}

rest:
  - resource: http://192.0.0.168/password/el/get/0/readings
    sensor:
      - name: usedfirst
        value_template: '{{ value_json.response[0].consumed }}'
        unit_of_measurement: 'kWh'
      - name: producedfirst
        value_template: '{{ value_json.response[0].produced }}'
        unit_of_measurement: 'kWh'
      - name: usedsecond
        value_template: '{{ value_json.response[1].consumed }}'
        unit_of_measurement: 'kWh'
      - name: producedsecond
        value_template: '{{ value_json.response[1].produced }}'
        unit_of_measurement: 'kWh'

Thx this works

Do you know how to get te second value first produced en first used are T1
but the second used and second produced what should be T2 are the same as T1

i have tried this but that doesnt work. value_template: '{{ value_json.response.“tariff”:2,“[0].produced }}

found it, I changed the 0 to 1 and for gas meter reading to 2 and that works thanks a lot for the help

Sorry… I copy/pasted the code and forgot to edit the 0 in 1 :grimacing:

I have changed it in my reply.

Can’t someone make this ha current version compatible and make it work. Seems to be a good starting point. Lack ini and manifest in the structure to work

2 Likes

Hello!
From where do it get the mentioned password above???