arjenhiemstra / ithowifi

Itho wifi add-on module (ESP32 wifi to itho I2C protocol)
GNU General Public License v3.0
185 stars 32 forks source link

Information HRU250 and HRU300 devices #97

Open dennisvbussel opened 2 years ago

dennisvbussel commented 2 years ago

Hi,

Since Version 2.4.0-alpha8 support for HRU250 and HRU 300 devices has been added. What are the details for this?

In my home setup I have a HRU ECO 300 installed and I'm interested in integrating this into Home Assistant. If needed I can help with testing.

EdwinGH commented 2 years ago

I filtered the Tweakers posts in the forum Itho Daalderop ventilatie - wifi control add-on module on author Onl1ne1373: https://gathering.tweakers.net/forum/find/poster/865609/messages, which by reading from bottom to top seems quite instructive. I just ordered the Itho HRU/DemandFlow/QualityFlow wifi module with the CC1101 to receive the CO2 meter commands, so ready to start when I get them.

dennisvbussel commented 2 years ago

Thanks for pointing me to information @EdwinGH,

I bought the same pci-express extension cable, soldered a network cable to it and it works perfectly. 3024-4032-max

I made the following panel in Home Assistant: WTW

EdwinGH commented 2 years ago

Looks nice! I did a full sensor replacement (under warranty, old sensors were very poorly designed) yesterday, so will start the servicetool today to see if my issues are gone. Then I will also start my project, hopefully it will look as clean as yours :-)

EdwinGH commented 2 years ago

I have the system up and running (just moved to firmware 2.4.0), great work @arjenhiemstra. I notice that not all system values are being updated on the HRU300: I created a python script to monitor the values, see https://github.com/EdwinGH/IthoWiFi_HRU_datacollector . Is this the same for all HRUs? Or is are the system values a superset of all the models? Note that with the sensor replacement kit I had to replace one sensor with a dummy, and I had the impression that some old sensors measured more than temperature, but I can't check this. So this may impact the system values as well. Also so far I did not manage to change the fan speed via the Itho WiFi module; not from the main webpage, and neither by adding a virtual remote. Did anyone successfully send commands to the HRU300? (today my fan speed is controlled from a RFT-CO2, and to be honest I think it accepts too high CO2 values before kicking in).

arjenhiemstra commented 2 years ago

Thanks :) I'm not sure what should get updated or not. The status info differs per device and firmware version. There are 9 firmware versions for the HRU250-300, but in this case only version 1 status labels seems to be different from version 2-9, the mapping of the status labels is here in the source code: https://github.com/arjenhiemstra/ithowifi/blob/master/software/NRG_itho_wifi/src/devices/hru250_300.h#L1-L2

About the virtual remote; I do not have experience with the HRU300 and I'm not sure wether remotes are handled differently on these devices. It could be the case (but I haven't seen it up until now).

You need to follow the join proces for the HRU300 (like it was a normal physical remote) but I expect you already done this.

What might also be a possibility is to use the firmware of rustyx, this firmware is more basic and far more low level but contains a really nice I2C sniffer option with which you can monitor internal communications when pressing a remote button joined to you HRU. This will reveal the commands needed for a remote to be correctly emulated. His github repo is here: https://github.com/rustyx/itho-esp

The non-cve version of the add-on is pin compatible with his firmware. You can use the USB interface of the add-on to flash a new firmware (and also to restore the original firmware)

bokkoman commented 1 year ago

I am new to this, so pardon me. But is it working on HRU300 now? Since i have that one. Together with a C02 sensor remote in the living and a 4-button (timer) remote in the bathroom. But I kind of want to implement this in Home Assistant to automate fan speed with humidity sensors.

arjenhiemstra commented 1 year ago

No problem, so officially it is not supported because the connector on the add-on is not compatible but unofficially; the interface is electrically compatible and the add-on has support for the HRU300 in its firmware. There might be a special version in the future for the HRU300, for now you can use the cable example mentioned earlier in this issue.

bokkoman commented 1 year ago

No problem, so officially it is not supported because the connector on the add-on is not compatible but unofficially; the interface is electrically compatible and the add-on has support for the HRU300 in its firmware. There might be a special version in the future for the HRU300, for now you can use the cable example mentioned earlier in this issue.

What exactly does that mean? When i buy the non cve board, and such a pci cable, it more or less works?

arjenhiemstra commented 1 year ago

well, it is just as functional as any other itho device supported by the add-on. But you will have to make the cable yourself indeed.

arjenhiemstra commented 1 year ago

@dennisvbussel If the add-on would contain the connector on the left, it would work with a standard pce-i power splitter cable like on this image correct? image

bokkoman commented 1 year ago

It would be nice if I wouldn't have to cut any cables. But just put another cable in between the cable coming out HRU and the little screen.

bokkoman commented 1 year ago

I noticed that there is a service-port on the front of the screen. Can't this be used instead? There are also 2 connection ports (rj11?) on the side, have no idea what these are used for.

Onl1ne1373 commented 1 year ago

@EdwinGH, For the status string I made this:

- name: Itho WTW Status String
  state_topic: "itho-wtw/ithostatus"
  value_template: >
    {% set st = value_json.Status| int %}
    {% if st == 4 %}
    Warmte terugwinning
    {% elif st == 8 %}
    Koelte terugwinning
    {% elif st == 9 %}
    Zomer bypass
    {% endif %}
  availability_template: >
    {% set st = value_json.Status| int %}
    {% if st in [4,8,9] %}
    True
    {% endif %}
  unique_id: "itho_wpu_status_string"

@arjenhiemstra I think you are correct on the cable.

@bokkoman The front micro usb service port can be used with the Itho ServiceTool software. I tried to connect a Raspberry Pi, but the i2c driver of the Pi kernel did not support the right addressing mode.

EdwinGH commented 1 year ago

@Onl1ne1373 Thank you for trying to parse the status value; so far I have not looked into this. I will take a look in my logs to see if your script would generate the correct string. I think I remember my (HRU300) status is mostly 5, so I hope it does not depend on model or firmware...

@bokkoman I used the micro USB on the screen for connecting a Windows laptop running the Itho service tool (to read out system values before I used Itho WiFi, and upgrading firmware).

Onl1ne1373 commented 1 year ago

@EdwinGH I got these string status values by using the ServiceTool to check. I’m interested in other values. I haven’t seen 5 yet.

EdwinGH commented 1 year ago

Hi @Onl1ne1373, in the ServiceTool I only see status numbers myself... I see some examples online where text strings like 'Cold Recovery' are shown, but not with my device. I also see the online screenshots show HRU300 firmware version 9; mine only updated up to version 6 (though IthoWiFi reports 7), so I may have an older hardware revision. In the ServiceTool screenshots I took I see status numbers of 4, 8, and 9, but since I log with the IthoWiFi software I only encountered status 5, 8, and 9. Full Itho status system value list of my HRU300 with IthoWiFi firmware version: 2.4.3 / Hardware revision NON-CVE 1: image

desertspider commented 1 year ago

Looks nice! I did a full sensor replacement (under warranty, old sensors were very poorly designed) yesterday, so will start the servicetool today to see if my issues are gone. Then I will also start my project, hopefully it will look as clean as yours :-)

Maybe een little off-topic, but what kind of issues your where having that needed a sensor replacement? I have one of the first units. I want to make sure I won't get problems in the future.

EdwinGH commented 1 year ago

Hi @desertspider , my first observation was that the ventilation unit never scaled up the fan (I have it connected to the RTF CO2 sensor). Then I opened the unit and noticed the poor status of the temperature sensors, and decided to connect the service tool to see if any values we off. And indeed, most of the temperature sensors gave high negative values. Then I contacted Itho Daalderop that I thought my unit was not working correctly (did not tell I opened the unit nor that I connected the service tool) and they told me they were aware of the problem and could send new sensors with wires to my installer. They did and we installed the new sensors together. Now sensors are fine, but the fan has become much louder over time, and I have regular freezes of the HMI unit (which I can monitor with Itho WiFi and do power cycles until it works)...

desertspider commented 1 year ago

Thank you for your reply. I will receive the Wifi board today, and will test if my HRU300 is ok or not.

UpBlueio commented 1 year ago

The non-CVE wifi module works good with the HRU300. Only i dont get the virtual remote to work. It wont join, so i cannot control the module. I my assumption correct that for the vitrualremote to work, i dont need the CC1101 RF Module since it will communicate by I2C?

@EdwinGH lucky my temperature readings seems ok.

Hi @Onl1ne1373, in the ServiceTool I only see status numbers myself... I see some examples online where text strings like 'Cold Recovery' are shown, but not with my device. I also see the online screenshots show HRU300 firmware version 9; mine only updated up to version 6 (though IthoWiFi reports 7), so I may have an older hardware revision. In the ServiceTool screenshots I took I see status numbers of 4, 8, and 9, but since I log with the IthoWiFi software I only encountered status 5, 8, and 9. Full Itho status system value list of my HRU300 with IthoWiFi firmware version: 2.4.3 / Hardware revision NON-CVE 1: image

With a "Absolute speed of the fan" of 52% i get a "The mass flow of the air leaving the house (kg/h)" of 150. How do you get 362 with 3.5% fan speed?

dennisvbussel commented 1 year ago

@dennisvbussel If the add-on would contain the connector on the left, it would work with a standard pce-i power splitter cable like on this image correct? image

I totally missed this one, Yes it would work. One male connector connects to the HRU and the other male connector should connect to the ithowifi addon. The female connector would connect to the HMI.

dennisvbussel commented 1 year ago

The non-CVE wifi module works good with the HRU300. Only i dont get the virtual remote to work. It wont join, so i cannot control the module. I my assumption correct that for the vitrualremote to work, i dont need the CC1101 RF Module since it will communicate by I2C?

@EdwinGH lucky my temperature readings seems ok.

Hi @Onl1ne1373, in the ServiceTool I only see status numbers myself... I see some examples online where text strings like 'Cold Recovery' are shown, but not with my device. I also see the online screenshots show HRU300 firmware version 9; mine only updated up to version 6 (though IthoWiFi reports 7), so I may have an older hardware revision. In the ServiceTool screenshots I took I see status numbers of 4, 8, and 9, but since I log with the IthoWiFi software I only encountered status 5, 8, and 9. Full Itho status system value list of my HRU300 with IthoWiFi firmware version: 2.4.3 / Hardware revision NON-CVE 1: image

With a "Absolute speed of the fan" of 52% i get a "The mass flow of the air leaving the house (kg/h)" of 150. How do you get 362 with 3.5% fan speed?

What software version do you run?

Sometimes my HRU seems to lock-up due to the fact that in this configuration the I2C bus has two masters. When the HRU is locked up, i'm unable to change the ventilation mode (even by the official Itho remotes). This is fixed after a power on reset by unplugging the HRU for a couple of seconds.

desertspider commented 1 year ago

What software version do you run?

Itho device type: HRU 250-300 Itho fw version: 8

Arrrowman commented 1 year ago

@dennisvbussel Do you have specs for the utp cable you soldered to de pci cable. I have hru eco 300 myself and cannot connect the non- cve now. As i understand now i can buy the splitter pci cable and connect one to the hmi female cable. The other should go to an UTP tot connect to the module. Is there a schematic you used so i know which cables tot connect to the utp or are the female pci to utp cables tot can buy?

I am new to this tinkering myself so want to prevent making mistakes you already encountered in your learning curve

Arrrowman commented 1 year ago

I have the same issues i have 2x co2 sensors and 5x spiders connected to the wtw unit. I had tot reset so often that i added a Shelly plug to reset the wtw by app tot prevent running to the attic every time i could not change the ventilation mode. Must say its going well for some weeks now...

dennisvbussel commented 1 year ago

@dennisvbussel Do you have specs for the utp cable you soldered to de pci cable. I have hru eco 300 myself and cannot connect the non- cve now. As i understand now i can buy the splitter pci cable and connect one to the hmi female cable. The other should go to an UTP tot connect to the module. Is there a schematic you used so i know which cables tot connect to the utp or are the female pci to utp cables tot can buy?

I am new to this tinkering myself so want to prevent making mistakes you already encountered in your learning curve

Let's put it this way. If I would re-do my wiring I would go for the PCI extension/splitter cable to expose the HRU I2C wiring. Then I would cut of the female PCI connector and a ethernet cable with some wires attached so I can solder them together.

I will make a quick drawing in the weekend.

EdwinGH commented 1 year ago

I documented for myself the following; maybe that will help: PCIe wire with connectors: image Pinout (as if looking into male plug on the right, ignore the use of the wires on the right side of this table): image So according to this official pinout:

Looking at the Itho board schematics: image And the official UTP network cable pinout: image So according to this:

Hope this helps!

desertspider commented 1 year ago

I documented for myself the following; maybe that will help: PCIe connector pinout (looking into male plug, ignore the color codes and use on the right side): image So according to this official pinout:

* PCIe PIN 1 (Square shape, Yellow wire)  - Itho SCL

* PCIe PIN 2 (Half-Diamond shape, Yellow wire)  - Itho 12V

* PCIe PIN 3 (Half-Diamond shape, Yellow wire)  - (not used)

* PCIe PIN 4 (Half-Diamond shape, Black wire)  - Itho SDA

* PCIe PIN 5 (Half-Diamond shape, Black wire)  - Itho GND

* PCIe PIN 6 (Square shape, Black wire)  - (not used).

Official UTP network cable pinout: image So according to this pinout :

* GND is blue (wire 4)

* SCL is orange ( wire 2)

* SDA is half brown (wire 7)

* 12V is half blue ( wire 3)

Hope this helps!

Thank you for the pinout. A important note: the pinout is true when looking at the back of the Male connector, not the front. I made this mistake myself when using this pinout in the Tweakers topic. I had to resolder two wires :). Also the text/legend in the pictures does not match the true pinout.

EdwinGH commented 1 year ago

(I added a picture of the PCIe cable for clarification of the pinout; I also struggled with this)

Arrrowman commented 1 year ago

Thanks guys for the quick responses. By reading the answer i got confused. 12V is it on half blue or on wire 3 which is half green? Wanna make sure i don't connect that one wrong...

EdwinGH commented 1 year ago

Oops my mistake: It is position 3 so half green. Correction: 12V is position 5 so half blue I corrected the original post.

desertspider commented 1 year ago

Strange, I used the colors from This post and it works. I am 100% sure I used the half blue wire for 12v.

EdwinGH commented 1 year ago

Let me check my actual cable before making any other update. Sorry for the confusion!

Arrrowman commented 1 year ago

Thanks i got these from Arjan before maybe it can help sort this out. PastedGraphic-2.pdf PastedGraphic-1.pdf

bokkoman commented 1 year ago

I managed to install the noncve board today. Hooked it up to my HRU 300 and turns on and all.

Now my question is, how do I join the board to the unit, so I can send speed control commands (low/med/high/auto). I have the cc1101 addon on my board, installed by Arjen himself. I have tried different kind of settings. Also tried the join command after a power cycle of the unit within 2 minutes. Tried it with the LEARN section in the HMI menu. For the love of god, I can't get the virtual remote to work.

bokkoman commented 1 year ago

Strange, I used the colors from This post and it works. I am 100% sure I used the half blue wire for 12v.

Did you by chance get a virtual remote to work with your HRU300?

EdwinGH commented 1 year ago

I have not been able to get the virtual remote to work, neither any fan settings from the API or webpages. I am building a basic version to monitor I2C traffic to see what commands are on the HRU300 bus, but this is only progressing slowly from my side...

bokkoman commented 1 year ago

I have not been able to get the virtual remote to work, neither any fan settings from the API or webpages. I am building a basic version to monitor I2C traffic to see what commands are on the HRU300 bus, but this is only progressing slowly from my side...

Hmm that sux, i really hoped i could control the unit. Is there anything i can help with?

bokkoman commented 1 year ago

@arjenhiemstra is there anything we can do to be able to control the unit?

Or maybe it is possible to send commands with the RF module? Instead of sending them through i2c?

bokkoman commented 1 year ago

I found this post about someone who reverse engineered the RF signal.

https://www.progz.nl/blog/2015/05/19/reverse-engineering-remote-itho-cve-eco-rft-part-6/

His GitHub: https://github.com/xs4free/Itho-library

Not sure if it's useful, but perhaps this way we can control the HRU 200/300.

arjenhiemstra commented 1 year ago

I found this post about someone who reverse engineered the RF signal.

https://www.progz.nl/blog/2015/05/19/reverse-engineering-remote-itho-cve-eco-rft-part-6/

Have a look at the last comment on that page ;-)

arjenhiemstra commented 1 year ago

@arjenhiemstra is there anything we can do to be able to control the unit?

Or maybe it is possible to send commands with the RF module? Instead of sending them through i2c?

That last part is certainly possible. All the hardware is there, the sending part as well but currently limited to only one type of remote. Rework is needed to implement it in a proper way. Somebody was working on this back in december, need to check what to current status of that work is.

1ntroduc3 commented 1 year ago

@arjenhiemstra is there anything we can do to be able to control the unit? Or maybe it is possible to send commands with the RF module? Instead of sending them through i2c?

That last part is certainly possible. All the hardware is there, the sending part as well but currently limited to only one type of remote. Rework is needed to implement it in a proper way. Somebody was working on this back in december, need to check what to current status of that work is.

That would be great. I would like to be able to monitor and manage my fan speeds in house.

Tom5990 commented 3 weeks ago

I've been struggling to get the virtualremote to connect as the webinterface buttons seem to do nothing. The following steps worked for me:

  1. Setup virtual remote using the Copy ID function from an existing physical remote.
  2. Use api commands for RF signals, e.g. http://192.168.4.1/api.html?rfremotecmd=high or http://nrg-itho-A1B2.local/api.html?rfremotecmd=high

Although I couldn't pair the remote it still broadcasted the right signal and because it's a copy of the physical remote the unit did respond. I'm using the wifi addon with the Itho HRU ECO 300

@arjenhiemstra is it possible to force the webinterface buttons of the virtual remote to use the rfremotecmd, maybe through a switch in settings?

arjenhiemstra commented 3 weeks ago

There is a important difference between the Virtual Remote (this uses the I2C bus, not supported by the HRU300) and the RF devices section. The latter uses the CC1101 module and this is what you need. All remote actions for the HRU300 should be done under the menu "RF devices" (or through the API, also there be sure to use the RF API commands. See menu API, section "Commands only for devices with CC1101 module"

Hope this helps!