Itho ecofan 3 interfacing

Op 21 mei 2020 10:43:23 schreef Ulbac:
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...

Dank voor de download; zeker handig. De knoppen worden actief met het juiste wachtwoordniveau. Als je een lager niveau invoert dan ziet de tool er waarschijnlijk wat slechter (onaf) uit; althans in vorige versies was dit zo.

Dat had ik dus nog niet door. Maar ik begrijp niet helemaal wat de password doet en hoe het werkt. Ik zie inderdaad het niveau 0, maar weet niet wat voor password ik zou moeten typen. Heeft dat met I2C te doen? Is er een password in de regelaar?

Het is wel grappig dat de versie nummer in de nieuwe link is 1.2.6 waar het oude link 1.3.5 was...

Op 21 mei 2020 14:06:27 schreef Ulbac:
Dat had ik dus nog niet door. Maar ik begrijp niet helemaal wat de password doet en hoe het werkt. Ik zie inderdaad het niveau 0, maar weet niet wat voor password ik zou moeten typen. Heeft dat met I2C te doen? Is er een password in de regelaar?

Het is wel grappig dat de versie nummer in de nieuwe link is 1.2.6 waar het oude link 1.3.5 was...

Ja die versies snap ik ook niet helemaal. Ik had inderdaad ook een versie 1.3, maar die kon alleen mijn Autotemp aan en niet de warmtepomp. Met deze versie lijk ik beide te kunnen draaien.

Het is een password van de tool zelf. In de directory waar de tool is geinstlleerd is ook een subdirectory "Informatie" nu. Daar staat een bestand Servicetool info.docx die uitleg over de tool geeft. Daar zie je dat knopje 4 gebruikt kan worden om een password in te voeren. Als je mij een mailtje stuurt op Hotmail (mijn volledige naam met een liggende streep ertussen) dan kan ik je denk ik wel verder helpen hieraan.

ik heb de itho servicetool interface module en draai de service tool software.
nu gaat het uitlezen van de warmtepomp prima, echter we hebben ook een zonneboiler van itho.
Nu ben ik benieuwd of iemand ervaring heeft met 2 producten aansluiten op de interface tool (via switch), werkt dit?

Stijnos

Golden Member

nee dat werkt niet.
Het is geen ethernet, maar I2C op een RJ45 connector.
Niet zomaar aan elkaar knopen dus!
De tool is voor service, niet voor continu monitoring.

In de kerstvakantie wil ik aan de gang om de parameters van mijn ITHO WTW installatie uit te lezen. Na wat zoeken kwam ik bij deze oplossing en ben daar al erg blij mee. Ik was in de veronderstelling dat ik eigen sensors in moest gaan bouwen om te monitoren maar via de utp-aansluiting is natuurlijk veel netter.

Ik heb een HRU350 Ventilator-unit en een demandflow/qualityflow regelaar 0300051. Beiden hebben een utp-aansluiting.

In de code zie ik dat de slave nu kijkt naar de codes voor een WPU en Autotemp. Ik neem aan dat als ik de juiste labels/codes heb de code daarop aan zou moeten kunnen passen. Klopt dit? Weet iemand waar ik die labels/codes zou kunnen vinden?

Stijnos

Golden Member

je redenatie klopt.
Die producten praten allemaal volgens hetzelfde protocol. Wat de data betekend zul je zelf uit moeten vogelen.

Heb eindelijk mijn project op GitHub kunnen zetten:
https://github.com/rustyx/itho-esp

Daar heb ik ook de beschrijving van sommige data elementen in `Itho Data Labels.xlsx` verzameld, en de commando's in `Specs.md`.

De verzameling is incompleet, dus pull requests zijn welkom!

Dank Rusty, wat een hoeveelheid informatie.

Ik heb ondertussen de hwu350 en demandflow gesnift maar ik zie meerdere adressen terug. Op de bus bij de hwu krijg ik 0x30 en 0x41 terug. Bij de demandflow zelfde adressen en daarbij ook nog een 0x31.

Iemand zicht op welk adres relevant is?

Als je een beetje handig bent met .Net kun je zo alle berichten boven water krijgen.

Voor de WPU zijn er twee bronnen("Source"): 32 en 130. Vervolgens wordt er naar de "MsgClass" gekeken.

c code:


    public struct I2C_MSG
    {
      public byte Destination;
      public byte Source;
      public short MsgClass;
      public byte Messagetype;
      public byte Data_length;
      public byte[] data;
      public byte ComPort;
      public byte RSSI;
      public int ResponseTijd;
    }

Op 21 mei 2020 13:48:13 schreef forkboy:
[...]

Dank voor de download; zeker handig. De knoppen worden actief met het juiste wachtwoordniveau. Als je een lager niveau invoert dan ziet de tool er waarschijnlijk wat slechter (onaf) uit; althans in vorige versies was dit zo.

Dit is inderdaad nog steeds zo. Heb de tool nu ook gedownload en heb een aantal onduidelijke / niet volledige menu's.

Ook krijg ik regelmatig foutmeldingen zoals bijlage. Heeft iemand enig idee hoe deze te verhelpen zijn?

Inmiddels de tool goed draaiend. Zonder password toch bij de instellingen. Stuur me een PM als je daar info over wil.

Bijna alle door mij gewenste wijzigingen kunnen maken.
Zou aardig zijn om diverse waarden via MQTT te kunnen publiceren en controle individuele ruimtes te kunnen regelen.

Euhh, PM werkt geloof ik niet, doe maar een email.

Stijnos

Golden Member

Op 22 januari 2021 23:50:42 schreef blb:
Inmiddels de tool goed draaiend. Zonder password toch bij de instellingen. Stuur me een PM als je daar info over wil.

Bijna alle door mij gewenste wijzigingen kunnen maken.
Zou aardig zijn om diverse waarden via MQTT te kunnen publiceren en controle individuele ruimtes te kunnen regelen.

moet je wel je profiel instellen dat je een PM kan versturen :)

Hallo allemaal, na in mid-2020 veel hulp gehad te hebben van forkboy om op gang te komen heb ik een python implementatie gemaakt voor de Raspberry Pi. Alle Itho Daaldrop WPU versies zouden moeten werken omdat de tool gebruikt maakt van de WPU database uit de servicetool.

https://github.com/pommi/python-itho-wpu

Voor de Itho HRU ECO geinteresseerden: hierbij de I2C berichten waarmee je de unit traploos kunt bedienen. Ook de bypassklep en de vorstklep zijn traploos in te stellen, een leuke verrassing. De motoren zijn regelbaar van stilstand tot 3500 RPM, ongeacht de ingestelde waarden middels de potmeters. In de manuele stand werkt de afstandsbediening overigens niet, dus het is alleen handig als de bediening volledig via de home automation (in mijn geval HomeAssistant) verloopt.

Handbediening aan:

code:

82 80 A4 10 06 13 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 2C 00 04

Handbediening uit:

code:

82 80 A4 10 06 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2C 00 05

Aanvoerventilator 1000 RPM:

code:

82 80 A4 10 06 13 00 00 03 E8 00 00 00 00 00 00 00 00 00 00 00 00 00 2D 00 19

Afvoerventilator 1000 RPM:

code:

82 80 A4 10 06 13 00 00 03 E8 00 00 00 00 00 00 00 00 00 00 00 00 00 2E 00 18

Beide kleppen sluiten (servo in stand 0):

code:

82 80 A4 10 06 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 02

Vorstklep volledig openen (servo in stand -800):

code:

82 80 A4 10 06 13 00 00 FC E0 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 26

Bypass volledig openen (servo in stand +800):

code:

82 80 A4 10 06 13 00 00 03 20 00 00 00 00 00 00 00 00 00 00 00 00 00 2F 00 DF

Het is handig om de toerentallen in te stellen vóórdat je naar de handbediening gaat, anders schiet hij meteen omhoog naar de standaardwaarde (deze ligt ergens rond de 3000 toeren). Wanneer de unit van de stroom is geweest gaat de handbediening weer uit en worden alle bovenstaande parameters gereset naar de standaard waarden. Mocht je de berichten zelf willen aanpassen, de waarden zitten op bytes 8 en 9 (vanaf 0 geteld). De checksum is de laatste byte. Ik ben er inmiddels achter hoe ik alle mogelijke berichten kan genereren en parsen, ben van plan daarvoor een eenvoudige library te posten op GitHub.

Stijnos

Golden Member

deze commands werken niet zonder meer voor alle sw versies

Op 17 mei 2021 08:53:10 schreef Stijnos:
deze commands werken niet zonder meer voor alle sw versies

Ah ik zie het inderdaad. Bovenstaande commando's werken alleen voor nieuwere versies (v7 en nieuwer). Ze zijn ook aanwezig op oudere versies maar het commandonummer is anders (iets lager meen ik).

I wrote a generic Python library for I2C communications with Itho devices, currently capable of building I2C packets. More to come (package parsing and support for more device types/versions).

https://github.com/philipkocanda/ithopy

Example code:

code:

from ithopy.hru_device import HruDevice

hru = HruDevice(HruDevice.ESP32_ADDR, HruDevice.HRU_ADDR)
msg = hru.set_supply_fan_rpm(0)

print(str(msg))
# => "82 80 A4 10 06 13 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2D 00 04"

Ik ben al een tijdje bezig met een projectje voor itho CVE's. Recent heb ik dit uitgebreid naar de HRU, DemandFlow/QualityFlow. De hardware en software is open source, wellicht zit er wat interessants en bruikbaars tussen.
Alle nodige I2C commando's zitten er in:
- PWM control van de fan (alleen voor CVE units)
- Ophalen en veranderen van settings (2410 message) (incl. de mapping naar tekst labels voor verschillende versies)
- Remote commands
- Opvragen device info (90E0 message)
- Ophalen van status format (2400 message) en en parsen status message (2401 message)
- Ophalen/parsen 31DA status message
- Ophalen/parsen 31D9 status message

hier op github te vinden:
https://github.com/arjenhiemstra/ithowifi

Meeste I2C code zit in "IthoSystem.cpp" alle labels en mapping in "IthoSystemConsts.h"

Er zitten ook PCB ontwerpjes bij:

Stijnos

Golden Member

respect hoe jullie dit gereverse engineered hebben :)
Ik heb aan de firmware van de producten gewerkt, dus zit het met veel plezier te volgen.
Let wel op met de CVE! Die I2C bus is niet veilig om iets externs mee te verbinden, er is namelijk geen gescheiden voeding aanwezig, hang die dus aub niet via usb aan je pc als wireless node kan wel

Op 25 oktober 2021 11:11:04 schreef Stijnos:
respect hoe jullie dit gereverse engineered hebben :)
Ik heb aan de firmware van de producten gewerkt, dus zit het met veel plezier te volgen.
Let wel op met de CVE! Die I2C bus is niet veilig om iets externs mee te verbinden, er is namelijk geen gescheiden voeding aanwezig, hang die dus aub niet via usb aan je pc als wireless node kan wel

Thanks! Found that out the hard way helaas, programming en I2C logic analyser om die reden via een laptop, ging prima. Totdat, druk druk, nog dat ene dingetje. Even snel opnieuw programmeren en ik prik zonder nadenken de USB in mijn PC. Poef, alles donker en itho + randapparatuur overleden.... "trap for young players" hoorde ik een zekere aussie youtuber later zeggen :P