HeatPump
HeatPump copied to clipboard
Init packet can differ between different units
I spent some time banging my head against the wall, before I figured this out, almost gave up... Tried with pullups, without, rechecked wires, changed boards.... :D
Turns out, not all CN105 are same as I though... They can have different connect packets...
This repo uses 0xfc, 0x5a, 0x01, 0x30, 0x02, 0xca, 0x01, 0xa8
, but apparently my Ecodan ERST20C heat pump totally ignores this.
Luckily I tried also https://github.com/m000c400/Mitsubishi-CN105-Protocol-Decode which uses 0xfc, 0x5a, 0x02, 0x7a, 0x02, 0xca, 0x01, 0x5d
and it worked... In code it actually has 5 different Init sequences defined https://github.com/m000c400/Mitsubishi-CN105-Protocol-Decode/blob/5d11f087dab622532904c4976a84d3dd5978772c/Ecodan.cpp#L27-L31 but only this one used...
Code in this repo already has retry logic on connect for 2 different baud rates, I suggest also trying different connect sequences. There are 2 possible things after successful connection, if rest of protocol is different:
- Go forward with communication and all works
- Second option easier to implement for time being, "Throw exception" saying you should use different library for this heat pump.