Itho ecofan 3 interfacing

Ik heb geen ecofan3, maar wel een Itho warmtepomp WPU-5i waarvan ik verwacht dat hetzelfde I2C (en mogelijk protocol) wordt gebruikt op de RJ45 aansluiting.

Waar ik aan denk is om een Bus Pirate te gebruiken om USB naar RJ45/I2C te brengen en via een laptop de service tool te kunnen gebruiken. Vervolgens zou ik dit moeten kunnen sniffen om het protocol te onderzoeken.

Ik heb geen ervaring met I2C of Bus Pirate, maar klinkt het als een geldig plan of zijn er andere suggesties?

Op 18 april 2019 22:16:44 schreef forkboy:
Waar ik aan denk is om een Bus Pirate te gebruiken om USB naar RJ45/I2C te brengen en via een laptop de service tool te kunnen gebruiken. Vervolgens zou ik dit moeten kunnen sniffen om het protocol te onderzoeken.

Ik heb geen ervaring met I2C of Bus Pirate, maar klinkt het als een geldig plan of zijn er andere suggesties?

BusPirate is een sniffer en een master, maar helaas geen slave. Er moet wel een I2C slave op de bus zitten om de antwoorden te kunnen ontvangen. Zonder een ACK op 0x80 wordt er niks teruggestuurd.

Een atmega328p (arduino nano) kan als een simpele I2C slave geprogrammeerd worden. Zelf gebruik ik ESP32 devkit (+logic level shifter want ESP is een 3,3V apparaat), zo is die gelijk aan WiFi gekoppeld. Als ik de tijd heb dan post ik mijn code op github (moet eerst schoongemaakt worden). Ik kon daar zelfs de sniff functionaliteit implementeren en heb de buspirate nu niet meer nodig.

Pas op de bedrading op die RJ45 poort - er zit ergens +15V tussen.

Volgens mij zat het er zo uit:
2 - SCL
3 - GND
4 - GND
5 - +15V
7 - SDA

Succes met de warmtepomp. Die heeft heeeeeeel veel log data.
Mijn complimenten voor het gereverse engineren rustyx.
Maar pas op. Ga zeker bij de warmtepomp niks aanpassen, want gegarandeerd dat je ieta omzeep helpt

Inmiddels ben ik wat onderzoek verder. Ik heb de servicetool voor warmtepompen gedownload en deze is eenvoudig te reversen. Het is een in VB.NET geschreven tool.

Hieruit krijg ik vervolgens een schat aan informatie over het protocol. Ik kan ook communicatie simuleren en zo de servicetool gebruiken zonder dat die echt verbonden is. Wel zie ik in de code de communicatie zoals geschreven vanuit de PC en daar zit nog die omvormer van USB naar I2C tussen.

@rustyx. Nu snap ik dit nog niet helemaal. Ik zou denken dat de USB/I2C omvormer (Itho noemt hem zelf SVM-USB) een master is op de I2C bus en de ecofan of warmtepomp hier de slave. Dit omdat de communicatie vanuit I2C alleen vanuit een master gestart kan worden en vanuit de PC worden de opdrachten verstuurd (zoals ping, maar ook ophalen Node identificatie, settings, log enzovoort)

Ik zou dan toch de buspirate rechtstreeks op de WPU kunnen aansluiten en dan commando's versturen ala hoe dat anders vanuit de SVM-USB gebeurd? @rustix: Jij lijkt anders te zeggen omdat er een slave op adres 0x80 moet zitten. De WPU/HCU is 0x82.

@Stijnos. Ik zie inderdaad een hele berg instellingen en log gegevens. Mijn intentie is om niets aan te passen, maar ik moet dan natuurlijk wel het protocol goed begrijpen... Eerst maar eens beginnen met de Autotemp. Die gebruikt dezelfde aansluiting.

@Rustyx, Na een buspirate sessie denk ik dat ik het inmiddels al begrijp. De bus is een multi-master en multi-slave. Het protocol zorgt voor de adressering en de dongle (SVM-USB) reageert op de 0x80 packets. Ik kan de door jou genoemde berichten ook vinden in de servicetool code.

Byte 3 en 4 noemen ze de messageclass en byte 5 is de messagetype. Hierna komt het laatste 6e byte van de header en dat is de data lengte van de variabele. Hierna variabele data met aan het einde de checksum.

Ik ga aan de slag met een slave maken; ik heb nog een raspberry Pi die ik kan gebruiken.

@Rustyx, ik heb wel interesse in de broncode die je hebt gebruikt. Dit ondanks dat het een andere controller is die je gebruikt en van mij hoeft de code niet opgeschoond te zijn...

Ik kom met mijn eerste versie van een slave niet echt verder. Ik vermoed dat het komt omdat de slave geen communicatie kan openen. Ik kom dan ook in een setup met autotemp (master), buspirate als sniffer en raspberry pi (slave) niet de data tegen die ik vanuit de raspberry pi probeer te versturen. Ik zie wel data op de I2C bus vanaf adressen 0x82 en 0x60.

Mijn code (niet de fraaiste) heb ik hier neergezet: https://github.com/ootjersb/pislave

Ik blijf maar spammen, maar het is me nu gelukt om wel verder te komen. Ik draai nu een I2C slave op 0x80 en stuur separaat via een I2C master commando's. De responses worden dan netjes door de slave geACKt.

@Rustyx ik heb nog even gekeken naar jou vraag aangaande het antwoord op het A401 bericht. Hier vroeg je je af hoe je de data moet interpreteren.

Nu wordt dit geregeld door het bericht A400. Dit bericht wordt verzonden als:
[0x82 0x80 0xA4 0x00 0x04 0x00 0x56]

Op dit bericht komt voor iedere waarde een byte terug die het datatype aangeeft. In jouw geval gaat het om de allereerste waarde als ik het goed begrijp. Byte 7 van het response bericht A400 geeft dan het type aan.
Bij mijn warmtepomp kwam ik deze typen tegen:
0x00 of 0x0C: Byte (1 byte)
0x92 Signed int (2 bytes)
0x12 Decimaal getal Unsigned int / 100 (2 bytes)
0x10 Unsigned int (2 bytes)

De temperaturen worden doorgaans als 0x12 doorgegeven. Als je een ander type tegenkomt kan ik die wel opzoeken hoe de codering werkt (type 0x11 zou jouw suggestie ofwel unsigned int / 10 zijn).

Hi
The link for the service tool doesn't work
Please anyone can send me a link
Thanks a lot

hi all,

Searching for information about by ITHO Daalderop Qualityflow ventilation system I came across this thread. Thanks for all information already! I have downloaded the servicetool, the (very obvious) open issue is now the dongle to connect pc with the unit. I saw already question earlier if a 'standard' USB/I2C converter will do the trick. I believe this is still not clear yet. Does someone have some more information?

My first objective is to be able to read, understand and adapt the settings via the service tool.
Second objective is connection with my domotica system, e.g. to adapt ventilation based on presence.

a standard usb/i2c tool does not work in combination with the servicetool software of Itho Daalderop.
This tool has internal a micro which has some translation from uart to the used I2C protocol.
This is the module you'll need
https://www.wasco.nl/artikel/id-service-interface-kabel-545-62900/8580…

but honestly I doubt if the information of the quality flow or a heatpump is very usefull for you.

Thanks for the link! I'll try to get one. I want to do some changes to the default settings of my system.

what do you want to change?
Be carefull you don't make it worse.

I know :). Most simple one: I have one room which is used as office but connected to the washing room input. This means it's always doing 5 m3/h. I want to change this input to a normal room.

On the wish list:
1) 'merging' living room 1 & 2 as 1. Now most of the time 1 of the 2 is much more open as the other which makes more noise that necessary. Alternative is to connect both ducts to both valves (in the room) as they are close to each other;
2) default ventilation is set at 1200 ppm, comfort to 1000 ppm. If you select comfort all wet rooms are going default to 10 m3/h instead of 5 m3/h. In my opinion this is not necessary;
3) in sleeping rooms the CO2 level is higher than desired, I like to get standard/comfort CO2 level to 800/1000 ppm for sleeping rooms.

Hi All,

I have the I2C/USB dongle/module now and I do get contact with the service tool as provided in the link. It seems this version is outdated, my demandflow is V21 where the parameter file (which is a ms access database, protected with a password) contains up to V17.

Does someone have a newer version of the service tool software?

Op 27 oktober 2019 02:17:35 schreef blb:
Hi All,

I have the I2C/USB dongle/module now and I do get contact with the service tool as provided in the link. It seems this version is outdated, my demandflow is V21 where the parameter file (which is a ms access database, protected with a password) contains up to V17.

Does someone have a newer version of the service tool software?

Hello BLB,

Did you find a newer version of the Servicetool? I'am considering buying a I2C/USB dongle as well so I can do some tests with a HRU 3 and Klimax 2 'ketel'. I did not find the Klimax 2 in the access database 'parameters_ketel.par' btw.

Regards, Paul

Really??
Have you tried the link in Nic013 post?

TonHek

The fastest way to succeed is to double your failure rate.

Hello TonHek,

Yes I did download that version. It's a rather old version. It's from 2013.

Until now I have not find a newer version :(.

Hoi,

Ben je nog verder gekomen? Ik zag nog updates op github.

W

Op 30 mei 2019 22:19:32 schreef forkboy:
Ik blijf maar spammen, maar het is me nu gelukt om wel verder te komen. Ik draai nu een I2C slave op 0x80 en stuur separaat via een I2C master commando's. De responses worden dan netjes door de slave geACKt.

@Rustyx ik heb nog even gekeken naar jou vraag aangaande het antwoord op het A401 bericht. Hier vroeg je je af hoe je de data moet interpreteren.

Nu wordt dit geregeld door het bericht A400. Dit bericht wordt verzonden als:
[0x82 0x80 0xA4 0x00 0x04 0x00 0x56]

Op dit bericht komt voor iedere waarde een byte terug die het datatype aangeeft. In jouw geval gaat het om de allereerste waarde als ik het goed begrijp. Byte 7 van het response bericht A400 geeft dan het type aan.
Bij mijn warmtepomp kwam ik deze typen tegen:
0x00 of 0x0C: Byte (1 byte)
0x92 Signed int (2 bytes)
0x12 Decimaal getal Unsigned int / 100 (2 bytes)
0x10 Unsigned int (2 bytes)

De temperaturen worden doorgaans als 0x12 doorgegeven. Als je een ander type tegenkomt kan ik die wel opzoeken hoe de codering werkt (type 0x11 zou jouw suggestie ofwel unsigned int / 10 zijn).

Ben erg benieuwd of hiervoor ontwikkeling in zit. Zou het erg mooi vinden wanneer de WPU warmtepomp is uit te lezen.

Op 13 januari 2020 19:12:13 schreef demanditho:
Hoi,

Ben je nog verder gekomen? Ik zag nog updates op github.

W

[...]

Excuses voor het niet eerder reageren. Ik heb kennelijk de notificatie gemist.

Ik ben zeker verder gekomen en heb nu iedere minuut monitoring via een cronjob die de waarden vervolgens naar Domoticz post. Dit draait op een raspberry pi. Het is wat overkill, maar ik was ooit nog van plan er meer op te draaien.

De code is allemaal hardcoded, dus niet erg flexibel, maar ik kom er simpelweg niet aan toe dit netter te maken. De code staat op het eerder genoemde github adres. Ik heb alleen nog geen net schemaatje, van hoe het aangesloten is, maar was dat van plan te gaan maken. Ik heb een tweede raspberry pi binnen om nu ook permanent de autotemp te gaan monitoren. Ik denk dat ik dan wat meer ga doen met een configuratiefile zodat ik dezelfde software kan gebruiken voor WPU en Autotemp.

Door dit topic ben ik erachter wat het kastje is wat ik ooit gekregen heb van iemand. Ik kon er niks over vinden, ik had eerst het idee dat het voor een verwarmingsketel was maar niet dus.

Een SVM service module dus, nou die dingen zijn dus best wel prijzig. Mooi om nu te weten waar ik het ding voor kan gebruiken.

-edit-
Er zit in: ATMEGA169PV (TQFP64), MAX232E (SO16), 78M05 (DPAK), XTAL 18.432MHz, nog een SOT23-6 SMD code ES15, melf diode en nog een handje vol kippevoer.
En natuurlijk een SUBD9F en RJ45 plug.

1-st law of Henri: De wet van behoud van ellende. 2-nd law of Henri: Ellende komt nooit alleen.

Hoi,

Het service tool is nu weer online te verkrijgen:
https://www.ithodaalderop.nl/nl-NL/professional/servicetool

Ik heb een Demandflow met HRU350 en een SVM V5/H02, maar bij mij blijft het knop om instellingen op te halen en te versturen hopeloos inactief. Ik ben niet zeker dat deze versie van de tool is echt af (of misschien werkt het in windows 10 niet goed): er staan een paar knoppen met "button" als label...