mirror of
https://github.com/emsesp/EMS-ESP32.git
synced 2025-12-06 07:49:52 +03:00
special char for servicecode
This commit is contained in:
@@ -414,6 +414,10 @@ char * Helpers::render_string(char * result, const char * c, const uint8_t len)
|
|||||||
*p = 0xC3;
|
*p = 0xC3;
|
||||||
*(++p) = 0xBC;
|
*(++p) = 0xBC;
|
||||||
break;
|
break;
|
||||||
|
case 0xF0: // greek capital Xi, used for boiler servicecode dhw+heat
|
||||||
|
*p = 0xCE;
|
||||||
|
*(++p) = 0x9E;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
*p = (*c & 0x80) ? '?' : *c;
|
*p = (*c & 0x80) ? '?' : *c;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1308,7 +1308,8 @@ void Boiler::process_UBAMonitorFast(std::shared_ptr<const Telegram> telegram) {
|
|||||||
if ((telegram->message_length > 18) && (telegram->offset == 0)) {
|
if ((telegram->message_length > 18) && (telegram->offset == 0)) {
|
||||||
char serviceCode[4];
|
char serviceCode[4];
|
||||||
telegram->read_value(serviceCode[0], 18);
|
telegram->read_value(serviceCode[0], 18);
|
||||||
serviceCode[0] = (serviceCode[0] == (char)0xF0) ? '~' : serviceCode[0];
|
// 0xF0 for 3 stacked horizontal lines like greek capital Xi
|
||||||
|
// serviceCode[0] = (serviceCode[0] == (char)0xF0) ? '~' : serviceCode[0];
|
||||||
telegram->read_value(serviceCode[1], 19);
|
telegram->read_value(serviceCode[1], 19);
|
||||||
serviceCode[2] = '\0'; // null terminate string
|
serviceCode[2] = '\0'; // null terminate string
|
||||||
has_update(serviceCode_, serviceCode, sizeof(serviceCode_));
|
has_update(serviceCode_, serviceCode, sizeof(serviceCode_));
|
||||||
@@ -1474,9 +1475,9 @@ void Boiler::process_UBAMonitorFastPlus(std::shared_ptr<const Telegram> telegram
|
|||||||
if ((telegram->message_length > 3) && (telegram->offset == 0)) {
|
if ((telegram->message_length > 3) && (telegram->offset == 0)) {
|
||||||
char serviceCode[4] = {0};
|
char serviceCode[4] = {0};
|
||||||
telegram->read_value(serviceCode[0], 1);
|
telegram->read_value(serviceCode[0], 1);
|
||||||
serviceCode[0] = (serviceCode[0] == (char)0xF0) ? '~' : serviceCode[0];
|
// serviceCode[0] = (serviceCode[0] == (char)0xF0) ? '~' : serviceCode[0];
|
||||||
telegram->read_value(serviceCode[1], 2);
|
telegram->read_value(serviceCode[1], 2);
|
||||||
serviceCode[1] = (serviceCode[1] == (char)0xF0) ? '~' : serviceCode[1];
|
// serviceCode[1] = (serviceCode[1] == (char)0xF0) ? '~' : serviceCode[1];
|
||||||
telegram->read_value(serviceCode[2], 3);
|
telegram->read_value(serviceCode[2], 3);
|
||||||
serviceCode[3] = '\0';
|
serviceCode[3] = '\0';
|
||||||
has_update(serviceCode_, serviceCode, sizeof(serviceCode_));
|
has_update(serviceCode_, serviceCode, sizeof(serviceCode_));
|
||||||
|
|||||||
Reference in New Issue
Block a user