Navien, ESP32 Navilink interface

NCB 240/110H combi unit installed here, mostly the same protocol, but the starting bytes are f7 06 instead of f7 05. @htumanyan (Likely) CRC checksum calculation and seed remains the same.

I’m trying to figure out the hotbutton serial data to send, but don’t have a navilink to capture the data. It doesn’t respond to the hotbutton press/release commands above starting with 0xf7 0x05. It also doesn’t respond to the hotbutton commands with a 0xf7 0x06 prefix and a recalculated checksum.

Example Incoming Packet:
[15:02:04][I][Navien:211]: f7 06 50 0f 90 2a 45 00 0d 01 0a 06 0e 83 5a 33 2e 4d 46 9e 00 21 00 00 7b 43 00 00 5f 01 70 05 00 00 00 00 25 01 a7 04 9a 06 78 3c a4 50 00 00 36

There are still just two packets.

        switch (serialBuffer[3]){
          case 0x50:
                                          
            PowerState.publish_state(serialBuffer[9]); 
            WaterFlow.publish_state(serialBuffer[18]/10.0*0.2642); // GPM
            SysStatus.publish_state(serialBuffer[24]); 
            break;                        
          case 0x0F:
            ESP_LOGI("Navien", "%s", buffer);
            HTSetpoint.publish_state(serialBuffer[13]/2.0);
            DHWSetpoint.publish_state(serialBuffer[14]/2.0);
            DHWOutlet.publish_state(serialBuffer[15]/2.0); 
            DHWInlet.publish_state(serialBuffer[16]/2.0); 
            HTTempSupply.publish_state(serialBuffer[17]/2.0); 
            HTTempReturn.publish_state(serialBuffer[18]/2.0); 
            gasUsageBytes.b1 = serialBuffer[22]; // low byte
            gasUsageBytes.b2 = serialBuffer[23]; // high byte
            GasUsage.publish_state(gasUsageBytes.us1);
            GasTotal.publish_state(serialBuffer[24]/10.0);
            break;
        }