| Topic | SensorType    | CodeGen Part 1                                                                          | CodeGen Part 2                                                                                                                                    |
| ----- | ------------- | ---------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| 0     | binary_sensor | id(top0).publish_state(getBoolState(getBit7and8(bytes[4])));                       | \- platform: template<br>id: top0<br>name: "Heatpump State"<br>lambda: "return {};"                                                          |
| 1     | sensor        | id(top1).publish_state(getPumpFlow(bytes[169], bytes[170]));                       | \- platform: template<br>id: top1<br>name: "Pump Flow"<br>unit_of_measurement: l/min<br>lambda: "return {};"                                 |
| 2     | binary_sensor | id(top2).publish_state(getBoolState(getBit1and2(bytes[4])));                       | \- platform: template<br>id: top2<br>name: "Force DHW State"<br>lambda: "return {};"                                                         |
| 3     | binary_sensor | id(top3).publish_state(getBoolState(getBit1and2(bytes[7])));                       | \- platform: template<br>id: top3<br>name: "Quiet Mode Schedule"<br>lambda: "return {};"                                                     |
| 4     | text_sensor   | id(top4).publish_state(getTextState(OpModeDesc, getOpMode(bytes[6])));             | \- platform: template<br>id: top4<br>name: "Operating Mode State"<br>lambda: "return {};"                                                    |
| 5     | sensor        | id(top5).publish_state(getIntMinus128(bytes[143]) + getFractional(bytes[118], 0)); | \- platform: template<br>id: top5<br>name: "Main Inlet Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                              |
| 6     | sensor        | id(top6).publish_state(getIntMinus128(bytes[144]) + getFractional(bytes[118], 3)); | \- platform: template<br>id: top6<br>name: "Main Outlet Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                             |
| 7     | sensor        | id(top7).publish_state(getIntMinus128(bytes[153]));                                | \- platform: template<br>id: top7<br>name: "Main Target Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                             |
| 8     | sensor        | id(top8).publish_state(getIntMinus1(bytes[166]));                                  | \- platform: template<br>id: top8<br>name: "Compressor Freq"<br>unit_of_measurement: Hz<br>lambda: "return {};"                              |
| 9     | sensor        | id(top9).publish_state(getIntMinus128(bytes[42]));                                 | \- platform: template<br>id: top9<br>name: "DHW Target Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                              |
| 10    | sensor        | id(top10).publish_state(getIntMinus128(bytes[141]));                               | \- platform: template<br>id: top10<br>name: "DHW Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                                    |
| 11    | sensor        | id(top11).publish_state(getWord(bytes[182], bytes[183]));                          | \- platform: template<br>id: top11<br>name: "Operations Hours"<br>unit_of_measurement: h<br>lambda: "return {};"                             |
| 12    | sensor        | id(top12).publish_state(getWord(bytes[179], bytes[180]));                          | \- platform: template<br>id: top12<br>name: "Operations Counter"<br>lambda: "return {};"                                                     |
| 13    | binary_sensor | id(top13).publish_state(getBoolState(getBit1and2(bytes[5])));                      | \- platform: template<br>id: top13<br>name: "Main Schedule State"<br>lambda: "return {};"                                                    |
| 14    | sensor        | id(top14).publish_state(getIntMinus128(bytes[142]));                               | \- platform: template<br>id: top14<br>name: "Outside Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                                |
| 15    | sensor        | id(top15).publish_state(getPower(bytes[194]));                                     | \- platform: template<br>id: top15<br>name: "Heat Power Production"<br>unit_of_measurement: W<br>lambda: "return {};"                        |
| 16    | sensor        | id(top16).publish_state(getPower(bytes[193]));                                     | \- platform: template<br>id: top16<br>name: "Heat Power Consumption"<br>unit_of_measurement: W<br>lambda: "return {};"                       |
| 17    | text_sensor   | id(top17).publish_state(getTextState(Powerfulmode, getRight3bits(bytes[7])));      | \- platform: template<br>id: top17<br>name: "Powerful Mode Time"<br>lambda: "return {};"                                                     |
| 18    | text_sensor   | id(top18).publish_state(getTextState(Quietmode, getBit3and4and5(bytes[7])));       | \- platform: template<br>id: top18<br>name: "Quiet Mode Level"<br>lambda: "return {};"                                                       |
| 19    | text_sensor   | id(top19).publish_state(getTextState(HolidayState, getBit3and4(bytes[5])));        | \- platform: template<br>id: top19<br>name: "Holiday Mode State"<br>lambda: "return {};"                                                     |
| 20    | text_sensor   | id(top20).publish_state(getTextState(Valve, getBit7and8(bytes[111])));             | \- platform: template<br>id: top20<br>name: "ThreeWay Valve State"<br>lambda: "return {};"                                                   |
| 21    | sensor        | id(top21).publish_state(getIntMinus128(bytes[158]));                               | \- platform: template<br>id: top21<br>name: "Outside Pipe Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                           |
| 22    | sensor        | id(top22).publish_state(getIntMinus128(bytes[99]));                                | \- platform: template<br>id: top22<br>name: "DHW Heat Delta"<br>unit_of_measurement: K<br>lambda: "return {};"                               |
| 23    | sensor        | id(top23).publish_state(getIntMinus128(bytes[84]));                                | \- platform: template<br>id: top23<br>name: "Heat Delta"<br>unit_of_measurement: K<br>lambda: "return {};"                                   |
| 24    | sensor        | id(top24).publish_state(getIntMinus128(bytes[94]));                                | \- platform: template<br>id: top24<br>name: "Cool Delta"<br>unit_of_measurement: K<br>lambda: "return {};"                                   |
| 25    | sensor        | id(top25).publish_state(getIntMinus128(bytes[44]));                                | \- platform: template<br>id: top25<br>name: "DHW Holiday Shift Temp"<br>unit_of_measurement: K<br>lambda: "return {};"                       |
| 26    | binary_sensor | id(top26).publish_state(getBoolState(getBit5and6(bytes[111])));                    | \- platform: template<br>id: top26<br>name: "Defrosting State"<br>lambda: "return {};"                                                       |
| 27    | sensor        | id(top27).publish_state(getIntMinus128(bytes[38]));                                | \- platform: template<br>id: top27<br>name: "Z1 Heat Request Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                        |
| 28    | sensor        | id(top28).publish_state(getIntMinus128(bytes[39]));                                | \- platform: template<br>id: top28<br>name: "Z1 Cool Request Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                        |
| 29    | sensor        | id(top29).publish_state(getIntMinus128(bytes[75]));                                | \- platform: template<br>id: top29<br>name: "Z1 Heat Curve Target High Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"              |
| 30    | sensor        | id(top30).publish_state(getIntMinus128(bytes[76]));                                | \- platform: template<br>id: top30<br>name: "Z1 Heat Curve Target Low Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"               |
| 31    | sensor        | id(top31).publish_state(getIntMinus128(bytes[78]));                                | \- platform: template<br>id: top31<br>name: "Z1 Heat Curve Outside High Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"             |
| 32    | sensor        | id(top32).publish_state(getIntMinus128(bytes[77]));                                | \- platform: template<br>id: top32<br>name: "Z1 Heat Curve Outside Low Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"              |
| 33    | sensor        | id(top33).publish_state(getIntMinus128(bytes[156]));                               | \- platform: template<br>id: top33<br>name: "Room Thermostat Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                        |
| 34    | sensor        | id(top34).publish_state(getIntMinus128(bytes[40]));                                | \- platform: template<br>id: top34<br>name: "Z2 Heat Request Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                        |
| 35    | sensor        | id(top35).publish_state(getIntMinus128(bytes[41]));                                | \- platform: template<br>id: top35<br>name: "Z2 Cool Request Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                        |
| 36    | sensor        | id(top36).publish_state(getIntMinus128(bytes[145]));                               | \- platform: template<br>id: top36<br>name: "Z1 Water Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                               |
| 37    | sensor        | id(top37).publish_state(getIntMinus128(bytes[146]));                               | \- platform: template<br>id: top37<br>name: "Z2 Water Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                               |
| 38    | sensor        | id(top38).publish_state(getPower(bytes[196]));                                     | \- platform: template<br>id: top38<br>name: "Cool Power Production"<br>unit_of_measurement: W<br>lambda: "return {};"                        |
| 39    | sensor        | id(top39).publish_state(getPower(bytes[195]));                                     | \- platform: template<br>id: top39<br>name: "Cool Power Consumption"<br>unit_of_measurement: W<br>lambda: "return {};"                       |
| 40    | sensor        | id(top40).publish_state(getPower(bytes[198]));                                     | \- platform: template<br>id: top40<br>name: "DHW Power Production"<br>unit_of_measurement: W<br>lambda: "return {};"                         |
| 41    | sensor        | id(top41).publish_state(getPower(bytes[197]));                                     | \- platform: template<br>id: top41<br>name: "DHW Power Consumption"<br>unit_of_measurement: W<br>lambda: "return {};"                        |
| 42    | sensor        | id(top42).publish_state(getIntMinus128(bytes[147]));                               | \- platform: template<br>id: top42<br>name: "Z1 Water Target Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                        |
| 43    | sensor        | id(top43).publish_state(getIntMinus128(bytes[148]));                               | \- platform: template<br>id: top43<br>name: "Z2 Water Target Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                        |
| 44    | text_sensor   | id(top44).publish_state(getErrorInfo(bytes[113], bytes[114]));                     | \- platform: template<br>id: top44<br>name: "Error"<br>lambda: "return {};"                                                                  |
| 45    | sensor        | id(top45).publish_state(getIntMinus128(bytes[43]));                                | \- platform: template<br>id: top45<br>name: "Room Holiday Shift Temp"<br>unit_of_measurement: K<br>lambda: "return {};"                      |
| 46    | sensor        | id(top46).publish_state(getIntMinus128(bytes[149]));                               | \- platform: template<br>id: top46<br>name: "Buffer Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                                 |
| 47    | sensor        | id(top47).publish_state(getIntMinus128(bytes[150]));                               | \- platform: template<br>id: top47<br>name: "Solar Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                                  |
| 48    | sensor        | id(top48).publish_state(getIntMinus128(bytes[151]));                               | \- platform: template<br>id: top48<br>name: "Pool Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                                   |
| 49    | sensor        | id(top49).publish_state(getIntMinus128(bytes[154]));                               | \- platform: template<br>id: top49<br>name: "Main Hex Outlet Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                        |
| 50    | sensor        | id(top50).publish_state(getIntMinus128(bytes[155]));                               | \- platform: template<br>id: top50<br>name: "Discharge Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                              |
| 51    | sensor        | id(top51).publish_state(getIntMinus128(bytes[157]));                               | \- platform: template<br>id: top51<br>name: "Inside Pipe Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                            |
| 52    | sensor        | id(top52).publish_state(getIntMinus128(bytes[159]));                               | \- platform: template<br>id: top52<br>name: "Defrost Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                                |
| 53    | sensor        | id(top53).publish_state(getIntMinus128(bytes[160]));                               | \- platform: template<br>id: top53<br>name: "Eva Outlet Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                             |
| 54    | sensor        | id(top54).publish_state(getIntMinus128(bytes[161]));                               | \- platform: template<br>id: top54<br>name: "Bypass Outlet Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                          |
| 55    | sensor        | id(top55).publish_state(getIntMinus128(bytes[162]));                               | \- platform: template<br>id: top55<br>name: "Ipm Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                                    |
| 56    | sensor        | id(top56).publish_state(getIntMinus128(bytes[139]));                               | \- platform: template<br>id: top56<br>name: "Z1 Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                                     |
| 57    | sensor        | id(top57).publish_state(getIntMinus128(bytes[140]));                               | \- platform: template<br>id: top57<br>name: "Z2 Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                                     |
| 58    | text_sensor   | id(top58).publish_state(getTextState(BlockedFree, getBit5and6(bytes[9])));         | \- platform: template<br>id: top58<br>name: "DHW Heater State"<br>lambda: "return {};"                                                       |
| 59    | text_sensor   | id(top59).publish_state(getTextState(BlockedFree, getBit7and8(bytes[9])));         | \- platform: template<br>id: top59<br>name: "Room Heater State"<br>lambda: "return {};"                                                      |
| 60    | binary_sensor | id(top60).publish_state(getBoolState(getBit7and8(bytes[112])));                    | \- platform: template<br>id: top60<br>name: "Internal Heater State"<br>lambda: "return {};"                                                  |
| 61    | binary_sensor | id(top61).publish_state(getBoolState(getBit5and6(bytes[112])));                    | \- platform: template<br>id: top61<br>name: "External Heater State"<br>lambda: "return {};"                                                  |
| 62    | sensor        | id(top62).publish_state(getIntMinus1Times10(bytes[173]));                          | \- platform: template<br>id: top62<br>name: "Fan1 Motor Speed"<br>unit_of_measurement: r/min<br>lambda: "return {};"                         |
| 63    | sensor        | id(top63).publish_state(getIntMinus1Times10(bytes[174]));                          | \- platform: template<br>id: top63<br>name: "Fan2 Motor Speed"<br>unit_of_measurement: r/min<br>lambda: "return {};"                         |
| 64    | sensor        | id(top64).publish_state(getIntMinus1Div5(bytes[163]));                             | \- platform: template<br>id: top64<br>name: "High Pressure"<br>unit_of_measurement: kgf/cm²<br>lambda: "return {};"                          |
| 65    | sensor        | id(top65).publish_state(getIntMinus1Times50(bytes[171]));                          | \- platform: template<br>id: top65<br>name: "Pump Speed"<br>unit_of_measurement: r/min<br>lambda: "return {};"                               |
| 66    | sensor        | id(top66).publish_state(getIntMinus1Times50(bytes[164]));                          | \- platform: template<br>id: top66<br>name: "Low Pressure"<br>unit_of_measurement: kgf/cm²<br>lambda: "return {};"                           |
| 67    | sensor        | id(top67).publish_state(getIntMinus1Div5(bytes[165]));                             | \- platform: template<br>id: top67<br>name: "Compressor Current"<br>unit_of_measurement: A<br>lambda: "return {};"                           |
| 68    | binary_sensor | id(top68).publish_state(getBoolState(getBit5and6(bytes[5])));                      | \- platform: template<br>id: top68<br>name: "Force Heater State"<br>lambda: "return {};"                                                     |
| 69    | binary_sensor | id(top69).publish_state(getBoolState(getBit5and6(bytes[117])));                    | \- platform: template<br>id: top69<br>name: "Sterilization State"<br>lambda: "return {};"                                                    |
| 70    | sensor        | id(top70).publish_state(getIntMinus128(bytes[100]));                               | \- platform: template<br>id: top70<br>name: "Sterilization Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                          |
| 71    | sensor        | id(top71).publish_state(getIntMinus1(bytes[101]));                                 | \- platform: template<br>id: top71<br>name: "Sterilization Max Time"<br>unit_of_measurement: min<br>lambda: "return {};"                     |
| 72    | sensor        | id(top72).publish_state(getIntMinus128(bytes[86]));                                | \- platform: template<br>id: top72<br>name: "Z1 Cool Curve Target High Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"              |
| 73    | sensor        | id(top73).publish_state(getIntMinus128(bytes[87]));                                | \- platform: template<br>id: top73<br>name: "Z1 Cool Curve Target Low Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"               |
| 74    | sensor        | id(top74).publish_state(getIntMinus128(bytes[89]));                                | \- platform: template<br>id: top74<br>name: "Z1 Cool Curve Outside High Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"             |
| 75    | sensor        | id(top75).publish_state(getIntMinus128(bytes[88]));                                | \- platform: template<br>id: top75<br>name: "Z1 Cool Curve Outside Low Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"              |
| 76    | text_sensor   | id(top76).publish_state(getTextState(HeatCoolModeDesc, getBit7and8(bytes[28])));   | \- platform: template<br>id: top76<br>name: "Heating Mode"<br>lambda: "return {};"                                                           |
| 77    | sensor        | id(top77).publish_state(getIntMinus128(bytes[83]));                                | \- platform: template<br>id: top77<br>name: "Heating Off Outdoor Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                    |
| 78    | sensor        | id(top78).publish_state(getIntMinus128(bytes[85]));                                | \- platform: template<br>id: top78<br>name: "Heater On Outdoor Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                      |
| 79    | sensor        | id(top79).publish_state(getIntMinus128(bytes[95]));                                | \- platform: template<br>id: top79<br>name: "Heat To Cool Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                           |
| 80    | sensor        | id(top80).publish_state(getIntMinus128(bytes[96]));                                | \- platform: template<br>id: top80<br>name: "Cool To Heat Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                           |
| 81    | text_sensor   | id(top81).publish_state(getTextState(HeatCoolModeDesc, getBit5and6(bytes[28])));   | \- platform: template<br>id: top81<br>name: "Cooling Mode"<br>lambda: "return {};"                                                           |
| 82    | sensor        | id(top82).publish_state(getIntMinus128(bytes[79]));                                | \- platform: template<br>id: top82<br>name: "Z2 Heat Curve Target High Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"              |
| 83    | sensor        | id(top83).publish_state(getIntMinus128(bytes[80]));                                | \- platform: template<br>id: top83<br>name: "Z2 Heat Curve Target Low Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"               |
| 84    | sensor        | id(top84).publish_state(getIntMinus128(bytes[82]));                                | \- platform: template<br>id: top84<br>name: "Z2 Heat Curve Outside High Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"             |
| 85    | sensor        | id(top85).publish_state(getIntMinus128(bytes[81]));                                | \- platform: template<br>id: top85<br>name: "Z2 Heat Curve Outside Low Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"              |
| 86    | sensor        | id(top86).publish_state(getIntMinus128(bytes[90]));                                | \- platform: template<br>id: top86<br>name: "Z2 Cool Curve Target High Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"              |
| 87    | sensor        | id(top87).publish_state(getIntMinus128(bytes[91]));                                | \- platform: template<br>id: top87<br>name: "Z2 Cool Curve Target Low Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"               |
| 88    | sensor        | id(top88).publish_state(getIntMinus128(bytes[93]));                                | \- platform: template<br>id: top88<br>name: "Z2 Cool Curve Outside High Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"             |
| 89    | sensor        | id(top89).publish_state(getIntMinus128(bytes[92]));                                | \- platform: template<br>id: top89<br>name: "Z2 Cool Curve Outside Low Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"              |
| 90    | sensor        | id(top90).publish_state(getWord(bytes[185], bytes[186]));                          | \- platform: template<br>id: top90<br>name: "Room Heater Operations Hours"<br>unit_of_measurement: h<br>lambda: "return {};"                 |
| 91    | sensor        | id(top91).publish_state(getWord(bytes[188], bytes[189]));                          | \- platform: template<br>id: top91<br>name: "DHW Heater Operations Hours"<br>unit_of_measurement: h<br>lambda: "return {};"                  |
| 92    | text_sensor   | id(top92).publish_state(getTextState(ModelNames, getModel(bytes, 129)));           | \- platform: template<br>id: top92<br>name: "Heat Pump Model"<br>lambda: "return {};"                                                        |
| 93    | sensor        | id(top93).publish_state(getIntMinus1(bytes[172]));                                 | \- platform: template<br>id: top93<br>name: "Pump Duty"<br>lambda: "return {};"                                                              |
| 94    | text_sensor   | id(top94).publish_state(getTextState(ZonesState, getBit1and2(bytes[6])));          | \- platform: template<br>id: top94<br>name: "Zones State"<br>lambda: "return {};"                                                            |
| 95    | sensor        | id(top95).publish_state(getIntMinus1(bytes[45]));                                  | \- platform: template<br>id: top95<br>name: "Max Pump Duty"<br>lambda: "return {};"                                                          |
| 96    | sensor        | id(top96).publish_state(getIntMinus1(bytes[104]));                                 | \- platform: template<br>id: top96<br>name: "Heater Delay Time"<br>unit_of_measurement: min<br>lambda: "return {};"                          |
| 97    | sensor        | id(top97).publish_state(getIntMinus128(bytes[105]));                               | \- platform: template<br>id: top97<br>name: "Heater Start Delta"<br>unit_of_measurement: K<br>lambda: "return {};"                           |
| 98    | sensor        | id(top98).publish_state(getIntMinus128(bytes[106]));                               | \- platform: template<br>id: top98<br>name: "Heater Stop Delta"<br>unit_of_measurement: K<br>lambda: "return {};"                            |
| 99    | binary_sensor | id(top99).publish_state(getBoolState(getBit5and6(bytes[24])));                     | \- platform: template<br>id: top99<br>name: "Buffer Installed"<br>lambda: "return {};"                                                       |
| 100   | binary_sensor | id(top100).publish_state(getBoolState(getBit7and8(bytes[24])));                    | \- platform: template<br>id: top100<br>name: "DHW Installed"<br>lambda: "return {};"                                                         |
| 101   | text_sensor   | id(top101).publish_state(getTextState(SolarModeDesc, getBit3and4(bytes[24])));     | \- platform: template<br>id: top101<br>name: "Solar Mode"<br>lambda: "return {};"                                                            |
| 102   | sensor        | id(top102).publish_state(getIntMinus128(bytes[61]));                               | \- platform: template<br>id: top102<br>name: "Solar On Delta"<br>unit_of_measurement: K<br>lambda: "return {};"                              |
| 103   | sensor        | id(top103).publish_state(getIntMinus128(bytes[62]));                               | \- platform: template<br>id: top103<br>name: "Solar Off Delta"<br>unit_of_measurement: K<br>lambda: "return {};"                             |
| 104   | sensor        | id(top104).publish_state(getIntMinus128(bytes[63]));                               | \- platform: template<br>id: top104<br>name: "Solar Frost Protection"<br>unit_of_measurement: °C<br>lambda: "return {};"                     |
| 105   | sensor        | id(top105).publish_state(getIntMinus128(bytes[64]));                               | \- platform: template<br>id: top105<br>name: "Solar High Limit"<br>unit_of_measurement: °C<br>lambda: "return {};"                           |
| 106   | text_sensor   | id(top106).publish_state(getTextState(PumpFlowRateMode, getBit3and4(bytes[29])));  | \- platform: template<br>id: top106<br>name: "Pump Flowrate Mode"<br>lambda: "return {};"                                                    |
| 107   | text_sensor   | id(top107).publish_state(getTextState(LiquidType, getBit1(bytes[20])));            | \- platform: template<br>id: top107<br>name: "Liquid Type"<br>lambda: "return {};"                                                           |
| 108   | binary_sensor | id(top108).publish_state(getBoolState(getBit3and4(bytes[20])));                    | \- platform: template<br>id: top108<br>name: "Alt External Sensor"<br>lambda: "return {};"                                                   |
| 109   | binary_sensor | id(top109).publish_state(getBoolState(getBit5and6(bytes[20])));                    | \- platform: template<br>id: top109<br>name: "Anti Freeze Mode"<br>lambda: "return {};"                                                      |
| 110   | binary_sensor | id(top110).publish_state(getBoolState(getBit7and8(bytes[20])));                    | \- platform: template<br>id: top110<br>name: "Optional PCB"<br>lambda: "return {};"                                                          |
| 111   | text_sensor   | id(top111).publish_state(getTextState(ZonesSensorType, getSecondByte(bytes[22]))); | \- platform: template<br>id: top111<br>name: "Z1 Sensor Settings"<br>lambda: "return {};"                                                    |
| 112   | text_sensor   | id(top112).publish_state(getTextState(ZonesSensorType, getFirstByte(bytes[22])));  | \- platform: template<br>id: top112<br>name: "Z2 Sensor Settings"<br>lambda: "return {};"                                                    |
| 113   | sensor        | id(top113).publish_state(getIntMinus128(bytes[59]));                               | \- platform: template<br>id: top113<br>name: "Buffer Tank Delta"<br>unit_of_measurement: K<br>lambda: "return {};"                           |
| 114   | text_sensor   | id(top114).publish_state(getTextState(ExtPadHeaterType, getBit3and4(bytes[25])));  | \- platform: template<br>id: top114<br>name: "External Pad Heater"<br>lambda: "return {};"                                                   |
| 115   | sensor        | id(top115).publish_state(getIntMinus1Div50(bytes[125]));                           | \- platform: template<br>id: top115<br>name: "Water Pressure"<br>unit_of_measurement: bar<br>lambda: "return {};"                            |
| 116   | sensor        | id(top116).publish_state(getIntMinus128(bytes[126]));                              | \- platform: template<br>id: top116<br>name: "Second Inlet Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                          |
| 117   | sensor        | id(top117).publish_state(getIntMinus128(bytes[127]));                              | \- platform: template<br>id: top117<br>name: "Economizer Outlet Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                     |
| 118   | sensor        | id(top118).publish_state(getIntMinus128(bytes[128]));                              | \- platform: template<br>id: top118<br>name: "Second Room Thermostat Temp"<br>unit_of_measurement: °C<br>lambda: "return {};"                |
| 119   | sensor        | id(top119).publish_state(getIntMinus128(bytes[65]));                               | \- platform: template<br>id: top119<br>name: "Bivalent Heating Start Temperature"<br>unit_of_measurement: °C<br>lambda: "return {};"         |
| 120   | sensor        | id(top120).publish_state(getIntMinus128(bytes[66]));                               | \- platform: template<br>id: top120<br>name: "Bivalent Heating Parallel Adv Starttemp"<br>unit_of_measurement: °C<br>lambda: "return {};"    |
| 121   | sensor        | id(top121).publish_state(getIntMinus128(bytes[68]));                               | \- platform: template<br>id: top121<br>name: "Bivalent Heating Parallel Adv Stoptemp"<br>unit_of_measurement: °C<br>lambda: "return {};"     |
| 122   | sensor        | id(top122).publish_state(getIntMinus1(bytes[67]));                                 | \- platform: template<br>id: top122<br>name: "Bivalent Heating Parallel Adv Start Delay"<br>unit_of_measurement: min<br>lambda: "return {};" |
| 123   | sensor        | id(top123).publish_state(getIntMinus1(bytes[69]));                                 | \- platform: template<br>id: top123<br>name: "Bivalent Heating Parallel Adv Stop Delay"<br>unit_of_measurement: min<br>lambda: "return {};"  |
| 124   | text_sensor   | id(top124).publish_state(getTextState(Bivalent, getBivalent(bytes[26])));          | \- platform: template<br>id: top124<br>name: "Bivalent Heating Setting"<br>lambda: "return {};"                                              |
| 125   | sensor        | id(top125).publish_state(getIntMinus1(bytes[177]));                                | \- platform: template<br>id: top125<br>name: "2 Zone mixing valve 1 opening"<br>lambda: "return {};"                                         |
| 126   | sensor        | id(top126).publish_state(getIntMinus1(bytes[178]));                                | \- platform: template<br>id: top126<br>name: "2 Zone mixing valve 2 opening"<br>lambda: "return {};"                                         |
