Skip to content

Commit

Permalink
Merge branch 'master' into merge-with-egyras
Browse files Browse the repository at this point in the history
  • Loading branch information
IgorYbema authored Aug 10, 2024
2 parents c71fda8 + eeea578 commit 24677ab
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 17 deletions.
6 changes: 5 additions & 1 deletion HeatPumpType.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,11 @@ Assuming that bytes from #129 to #138 are unique for each model of Aquarea heat
|37 | E2 D5 0B 08 95 02 D6 0E 66 95 | WH-SDC0309K3E5 | WH-UDZ05KE5 | KIT-WC05K3E5 | 5 | 1ph | HP - split K-series |
|38 | E2 D5 0B 34 99 83 92 0C 29 98 | WH-SDC0509L3E5 | WH-WDG09LE5 | KIT-WC09L3E5 | 9 | 1 ph | HP - split L-series 3kW elec heating |
|39 | E2 CF 0C 89 05 12 D0 0C 98 05 | WH-SDC12H9E8 | WH-UD12HE8 | KIT-WC12H9E8 | 12 | 3ph | HP |

|40 | E2 D5 0B 08 95 02 D6 0E 67 95 | WH-SDC0309K3E5 | WH-UDZ07KE5 | KIT-WC07K3E5 | 7 | 1ph | HP - split K-series |
|41 | E2 CF 0C 74 09 12 D0 0C 96 05 | WH-ADC0916H9E8 | WH-UX16HE8 | KIT-AXC16HE8 | 16 | 3ph | T-CAP - All-In-One |
|42 | E2 CF 0C 74 09 12 D0 0E 95 05 | WH-ADC0912H9E8 | WH-UX12HE8 | KIT-AXC12HE8 | 12 | 3ph | T-CAP - All-In-One |
|43 | 32 D4 0B 89 84 73 90 0C 86 84 | Monoblock | WH-MXC16J9E8 | Monoblock | 16 | 3ph | T-CAP |
|44 | 32 D4 0B 00 78 62 90 0B 02 78 | Monoblock | WH-MXC12J6E5 | Monoblock | 12 | 1ph | T-CAP |

All bytes are used for Heat Pump model identification in the code.

Expand Down
24 changes: 17 additions & 7 deletions HeishaMon/decode.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ String getUintt16(char * data, byte input);
static const char _unknown[] PROGMEM = "unknown";

static const char *Model[] PROGMEM = {
"40", //string representation of number of known models (last model number + 1)
"45", //string representation of number of known models (last model number + 1)
"WH-MDC05H3E5", //0
"WH-MDC07H3E5", //1
"IDU:WH-SXC09H3E5, ODU:WH-UX09HE5", //2
Expand All @@ -58,18 +58,18 @@ static const char *Model[] PROGMEM = {
"IDU:WH-ADC0309H3E5, ODU:WH-UD09HE5", //16
"IDU:WH-ADC0309J3E5, ODU: WH-UD05JE5", //17
"IDU: WH-SDC0709J3E5, ODU: WH-UD07JE5", //18
"IDU: WH-SDC07H3E5-1 ODU: WH-UD07HE5-1", //19
"IDU: WH-SDC07H3E5-1, ODU: WH-UD07HE5-1", //19
"WH-MDC07J3E5", //20
"WH-MDC09J3E5", //21
"IDU: WH-SDC0305J3E5 ODU: WH-UD05JE5", //22
"IDU: WH-SDC0305J3E5, ODU: WH-UD05JE5", //22
"WH-MXC09J3E8", //23
"WH-MXC12J9E8", //24
"IDU: WH-ADC1216H6E5 ODU: WH-UD12HE5", //25
"IDU: WH-ADC0309J3E5C ODU: WH-UD07JE5", //26
"IDU: WH-ADC1216H6E5, ODU: WH-UD12HE5", //25
"IDU: WH-ADC0309J3E5C, ODU: WH-UD07JE5", //26
"WH-MDC07J3E5", //27
"WH-MDC05J3E5", //28
"IDU: WH-UQ12HE8 ODU: WH-SQC12H9E8", //29
"IDU: WH-SXC12H6E5 ODU: WH-UX12HE5", //30
"IDU: WH-UQ12HE8, ODU: WH-SQC12H9E8", //29
"IDU: WH-SXC12H6E5, ODU: WH-UX12HE5", //30
"WH-MDC09J3E5", //31
"WH-MXC09J3E5", //32
"IDU: WH-ADC1216H6E5C ODU: WH-UD12HE5", //33
Expand All @@ -79,6 +79,11 @@ static const char *Model[] PROGMEM = {
"IDU: WH-SDC0309K3E5 ODU: WH-UDZ05KE5", //37
"IDU: WH-SDC0509L3E5 ODU: WH-WDG09LE5", //38
"IDU: WH-SDC12H9E8 ODU: WH-UDZ05KE5", //39
"IDU: WH-SDC0309K3E5, ODU: WH-UDZ07KE5", //40
"IDU: WH-ADC0916H9E8, ODU: WH-UX16HE8", //41
"IDU: WH-ADC0912H9E8, ODU: WH-UX12HE8", //42
"WH-MXC16J9E8", //44
"WH-MXC12J6E5", //44
};

static const byte knownModels[sizeof(Model) / sizeof(Model[0])][10] PROGMEM = { //stores the bytes #129 to #138 of known models in the same order as the const above
Expand Down Expand Up @@ -122,6 +127,11 @@ static const byte knownModels[sizeof(Model) / sizeof(Model[0])][10] PROGMEM = {
0xE2, 0xD5, 0x0B, 0x08, 0x95, 0x02, 0xD6, 0x0E, 0x66, 0x95, //37
0xE2, 0xD5, 0x0B, 0x34, 0x99, 0x83, 0x92, 0x0C, 0x29, 0x98, //38
0xE2, 0xCF, 0x0C, 0x89, 0x05, 0x12, 0xD0, 0x0C, 0x98, 0x05, //39
0xE2, 0xD5, 0x0B, 0x08, 0x95, 0x02, 0xD6, 0x0E, 0x67, 0x95, //40
0xE2, 0xCF, 0x0C, 0x74, 0x09, 0x12, 0xD0, 0x0C, 0x96, 0x05, //41
0xE2, 0xCF, 0x0C, 0x74, 0x09, 0x12, 0xD0, 0x0E, 0x95, 0x05, //42
0x32, 0xD4, 0x0B, 0x89, 0x84, 0x73, 0x90, 0x0C, 0x86, 0x84, //43
0x32, 0xD4, 0x0B, 0x00, 0x78, 0x62, 0x90, 0x0B, 0x02, 0x78, //44
};

#define NUMBER_OF_TOPICS 119 //last topic number + 1
Expand Down
2 changes: 1 addition & 1 deletion MQTT-Topics.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ TOP102 | main/Solar_On_Delta | Solar heating delta on
TOP103 | main/Solar_Off_Delta | solar heating delta off
TOP104 | main/Solar_Frost_Protection | Solar frost protection temp
TOP105 | main/Solar_High_Limit | Solar max temp limit
TOP106 | main/Pump_Flowrate_mode | Settings for pump flow rate (0=DeltaT, 1=Maximum flow, J-series only)
TOP106 | main/Pump_Flowrate_Mode | Settings for pump flow rate (0=DeltaT, 1=Maximum flow, J-series only)
TOP107 | main/Liquid_Type | Type of liquid in settings (Water / Glycol)
TOP108 | main/Alt_External_Sensor | If external outdoor sensor is selected
TOP109 | main/Anti_Freeze_Mode | Is anti freeze mode enabled or disabled
Expand Down
10 changes: 5 additions & 5 deletions ProtocolByteDecrypt.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,15 +106,15 @@
| TOP71 | 101 | 0b | Convert to DEC 11 - 1 = 10 | Sterilization max operation time [min] |
| TOP | 102 | 00 | | 0 byte |
| TOP | 103 | 00 | | 0 byte |
| TOP | 104 | 00 | Convert to DEC X-1 | ? Delay timer to start internal heater on J series |
| TOP | 105 | 00 | Convert to DEC-128 | ? Delta to start internal heater for room heating on J series |
| TOP | 106 | 00 | Convert to DEC-128 | ? Delta to stop internal heater for room heating on J series |
| TOP96 | 104 | 00 | Convert to DEC X-1 | Delay timer to start internal heater (J/K/L series) |
| TOP97 | 105 | 00 | Convert to DEC-128 | Delta to start internal heater for room heating (J/K/L series) |
| TOP98 | 106 | 00 | Convert to DEC-128 | Delta to stop internal heater for room heating (J/K/L series) |
| TOP | 107 | 00 | | 0 byte |
| TOP | 108 | 00 | | 0 byte |
| TOP | 109 | 00 | | 0 byte |
| TOP | 110 | 55 | | ? |
| TOP | 110 | 55 | 1st & 2nd bit - Quiet mode <br/> 3rd&4th bit - Powerful <br/> 5th & 6th bit - Heat-Cool SW b10 - Cool <br/> 7th & 8th bit - External SW b10-Open | Actual/Real states of <br/> Quiet <br/> Powerful <br/> Heat-Cool SW <br/> External SW |
| TOP20+TOP26 | 111 | 56 | right 2 bits: 0b10=DHW 0b01=Room 3-Way Valve. Next 2 bits (from right) is defrosting state (0b01 = defrosting not active, 0b10 = defrosting active) | 3 way valve + Defrost status |
| TOP60+TOP61 | 112 | 55 | Hex 59 - external active, 55 - external and internal not active, 56 - internal active (room or DHW) | Heater status |
| TOP60+TOP61 | 112 | 55 | 1st & 2nd bit - Boiler Contact <br/> 5th & 6th bit - External Heater <br/> 7th & 8th bit - Internal Heater (room or DHW) <br/> ( b01 - OFF, b10 - ON )| Real status of Bivalent Boiler contact and Heaters relays (Line under icons) |
| TOP44 | 113 | 21 | Hex B1 - F type error, A1 - H type error. After H error reset value 21, F error reset 31 | Error code type |
| TOP44 | 114 | 53 | F45 error in HEX 56, calulation 45 treat as HEX and convert to DEC 69 + 17 = 86 (Hex 56) | Error code number |
| TOP | 115 | 15 | | ? |
Expand Down
4 changes: 1 addition & 3 deletions binaries/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,5 @@ The LittleFS versions will, after updating to this version, reset your HeishaMon
From version 1.0 some topics are changed so you need to update your automation for this.
The sensors are now in /main/ (before /sdc/) and the commands are expected in /commands/ (before in root topic). Check MQTT-Topics.md for the overview of all topics

The latest production release is v3.1. If you decide to try out a later development version, you should be able to restore the firmware using a USB-TTL cable as sometimes upgrading to a development versions seems to fail and brick the heishamon pcb.

The beta version 3.2-beta-1 and higher are to fix Listen Only mode (parallel mode with CZ-TAW) on K and L series heatpumps
The latest production release is v3.2.3. If you decide to try out a later development version, you should be able to restore the firmware using a USB-TTL cable as sometimes upgrading to a development versions seems to fail and brick the heishamon pcb. Version v3.2 can cause, in combination with the real optional pcb installed, the heatpump to stop responding to heishamon. If you have this, please update to v3.2.3 and power cycle the heatpump.

0 comments on commit 24677ab

Please sign in to comment.