|  | @@ -103,6 +103,7 @@ const char *MegaTecCMD[] = {
 | 
	
		
			
				|  |  |      "QFLAG\r",
 | 
	
		
			
				|  |  |      "PEL\r",
 | 
	
		
			
				|  |  |      "BT\r",
 | 
	
		
			
				|  |  | +    "QTPR\r",
 | 
	
		
			
				|  |  |  };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  extern bool flUpdateLog;
 | 
	
	
		
			
				|  | @@ -283,6 +284,14 @@ void ups_status_response(char *data)
 | 
	
		
			
				|  |  |  #endif
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      if (flUpdateLog) {
 | 
	
		
			
				|  |  | +        if(sSettings.UPS_Setting.type_ups == ups_voltronic) {
 | 
	
		
			
				|  |  | +            char temperature_str[5];
 | 
	
		
			
				|  |  | +            sprintf(temperature_str, "%3.1f", UPS.Temp);
 | 
	
		
			
				|  |  | +            for(uint8_t k = 0; k < 4; k++){
 | 
	
		
			
				|  |  | +                data[33 + k] = temperature_str[k];
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +            
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          flUpdateLog = false;
 | 
	
		
			
				|  |  |          log_add(data);
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -343,7 +352,9 @@ void ups_status_response(char *data)
 | 
	
		
			
				|  |  |      len = get_ups_param(data, " ", value);
 | 
	
		
			
				|  |  |      data += (len + 1);
 | 
	
		
			
				|  |  |      if (len > 0) {
 | 
	
		
			
				|  |  | -        UPS.Temp = atof(value);
 | 
	
		
			
				|  |  | +        if(sSettings.UPS_Setting.type_ups != ups_voltronic) { 
 | 
	
		
			
				|  |  | +            UPS.Temp = atof(value);
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      len = get_ups_param(data, "\r", value);
 | 
	
	
		
			
				|  | @@ -962,6 +973,28 @@ void ups_kstar_status_response(char *data)
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +void ups_temperature_response(char *data)
 | 
	
		
			
				|  |  | +{
 | 
	
		
			
				|  |  | +    char value[20];
 | 
	
		
			
				|  |  | +    uint8_t len = 0;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    if (data[0] != '(') {
 | 
	
		
			
				|  |  | +        return;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    UPS.Present = UPS_CONNECTED;
 | 
	
		
			
				|  |  | +    UPS.Flag_Present = true;
 | 
	
		
			
				|  |  | +    UPS.cnt_err_ups = 0;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    data += 13;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    len = get_ups_param(data, " ", value);
 | 
	
		
			
				|  |  | +    data += (len + 1);
 | 
	
		
			
				|  |  | +    if (len > 0) {
 | 
	
		
			
				|  |  | +        UPS.Temp = atof(value);
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    
 | 
	
		
			
				|  |  | +}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  void ups_megatec_process_pdu(cmdMegaTecEnums_t command)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |      switch (command) {
 | 
	
	
		
			
				|  | @@ -1017,6 +1050,9 @@ void ups_megatec_process_pdu(cmdMegaTecEnums_t command)
 | 
	
		
			
				|  |  |          case ups_kstar_status:
 | 
	
		
			
				|  |  |              ups_kstar_status_response(ups_pdu.data);
 | 
	
		
			
				|  |  |              break;
 | 
	
		
			
				|  |  | +        case ups_temperature:
 | 
	
		
			
				|  |  | +            ups_temperature_response(ups_pdu.data);
 | 
	
		
			
				|  |  | +            break;
 | 
	
		
			
				|  |  |          default:
 | 
	
		
			
				|  |  |              break;
 | 
	
		
			
				|  |  |      }
 | 
	
	
		
			
				|  | @@ -1141,7 +1177,7 @@ void kstar_mode(void)
 | 
	
		
			
				|  |  |  void request_task(void *params)
 | 
	
		
			
				|  |  |  {
 | 
	
		
			
				|  |  |      uint8_t kestar_req[4] = { ups_status_req, ups_remain_time_reg, ups_info, ups_kstar_status};
 | 
	
		
			
				|  |  | -    uint8_t voltronic_req[8] = {ups_status_req, ups_akb_info, ups_model_req, ups_mode_req, ups_version_req, ups_version2_req, ups_serial_req, ups_warning_status};//
 | 
	
		
			
				|  |  | +    uint8_t voltronic_req[9] = {ups_temperature, ups_status_req, ups_akb_info, ups_model_req, ups_mode_req, ups_version_req, ups_version2_req, ups_serial_req, ups_warning_status};//
 | 
	
		
			
				|  |  |      uint8_t num_req = 0;
 | 
	
		
			
				|  |  |      uint8_t *req;
 | 
	
		
			
				|  |  |      bool flag_init_ups = false;
 |