Dette stemmer ikke, kommunikasjon mellom panel og aggregatet er modbus. Det skal absolutt være mulig å gjøre akkurat samme jobben som adapteret med egen hardware. Jeg kjøpte selv CI66, og la det sporet ligge på hylla for ei stund tilbake. En PC med RS485 kan enkelt erstatte adapteret, men den må stå å svare på meldinger fra aggregatet kontinuerlig. Den beste løsningen hadde nok vært en arduino med RS485 adapter.
Jeg har nettopp tatt en offisiell fork av home-assitant med støtte for Flexit/CI66, tilgjengelig her: GitHub Planen er å legge inn en PR snart.
Et ekstremt irriterende problem med CI66, som man helt sikkert kan komme rundt med egen løsning, er at varmeelementet skrus av/på med en dip-switch i kontrollpanelet (CI60) og kan derfor ikke styres via CI66. Jeg vurderer derfor å se på en løsning uten CI66.
Før jeg visste om CI66, probet jeg en del på kommunikasjon mellom styringspanel (jeg har CI60 / UNi2), jeg husker ikke detaljene, men jeg har noen notater:
- Aggregatet er master
- Master sender write_holding_register 0x00BE-0x0113 som broadcast (skriver til alle slaver) flere ganger i sekundet, disse registrene inneholder status
- Master poller "coils" 0x0000-0x0160 fra slaver. Om noen av slavene sier at en coil er True, prøver master å lese holding register med samme offset fra slaven (coil 0x0005 = 1, les holding register 0x0005). Disse registrene vil da være feks viftehastighet 0-4.
Master leser "coils" fra 1-3 forskjellige slaveadresser, jeg husker ikke detaljene, men jeg tror dette har noe med det faktum at man kan ha flere paneler per aggregat (0-1 CI600, samt 0-2 CI60 paneler).
Da jeg skrev disse notatene hadde jeg ikke registerbeskrivelsen til CI66, heller ikke muligheten til å sammenlikne registrene aggregatet sender som broadcast med registrene som er tilgjengelige via CI66, jeg tror nok dette blir enklere nå. Jeg fant eksempelvis ut dette i sin tid: Coils:
0x0000 ( 0): Fan speed
0x0003 ( 3): Fan speed Supply
0x0008 ( 8): Fan speed Exhaust
0x000C ( 12): Setpoint temperature
0x008C (140): Heater on/off
Holding registers (Changed by the slaves, pulled by the master when coil changed)
0x0000 ( 0): Setpoint Fan speed 1,2,3
...
0x0003 ( 3): Setpoint Fan Speed Supply 0-100
...
0x0008 ( 8): Setpoint Fan Speed Exhaust 0-100
...
0x0012 ( 18): Setpoint Temperature x-30
...
0x0140 (320): Heater On/Off 0,1
Broadcasted Holding Registers:
0x00BE (190): Setpoint Supply Air Temperature
0x00BF (191): Fan speed [1,2,3]
Det eneste som mangler nå er å finne korrelasjon mellom "holding" register i CI66, "coils" og "holding" i CI60/600. Om noen er interessert i dette kan jeg hjelpe med mapping.