Srfb bugs (#807)
* Correct buffer processing was missing an instruction due to a previous refactoring * Correct duplicate condition * Avoid publishing \n into the raw value * Merge extract_char and value_from_service_data functions
This commit is contained in:
1 parent
fd2d25bf31
commit
b2c05156b2
4 files changed
+51
-73
No files matched your search
+5
-13
@@ -104,26 +104,18 @@ void _rfbDecode() {
|
||||
Log.trace(F("Creating SRFB buffer" CR));
|
||||
StaticJsonBuffer<JSON_MSG_BUFFER> jsonBuffer;
|
||||
JsonObject& SRFBdata = jsonBuffer.createObject();
|
||||
SRFBdata.set("raw", (char*)buffer);
|
||||
SRFBdata.set("raw", String(buffer).substring(0, 18));
|
||||
|
||||
char Tsyn[4] = {0};
|
||||
extract_char(buffer, Tsyn, 0, 4, false, true);
|
||||
int val_Tsyn = (int)strtol(Tsyn, NULL, 10);
|
||||
int val_Tsyn = (int)(int)value_from_hex_data(buffer, 0, 4, false, false);
|
||||
SRFBdata.set("delay", (int)val_Tsyn);
|
||||
|
||||
char Tlow[4] = {0};
|
||||
extract_char(buffer, Tlow, 4, 4, false, true);
|
||||
int val_Tlow = (int)strtol(Tlow, NULL, 10);
|
||||
int val_Tlow = (int)value_from_hex_data(buffer, 4, 4, false, false);
|
||||
SRFBdata.set("val_Tlow", (int)val_Tlow);
|
||||
|
||||
char Thigh[4] = {0};
|
||||
extract_char(buffer, Thigh, 8, 4, false, true);
|
||||
int val_Thigh = (int)strtol(Thigh, NULL, 10);
|
||||
int val_Thigh = (int)value_from_hex_data(buffer, 8, 4, false, false);
|
||||
SRFBdata.set("val_Thigh", (int)val_Thigh);
|
||||
|
||||
char val[8] = {0};
|
||||
extract_char(buffer, val, 12, 8, false, true);
|
||||
unsigned long MQTTvalue = (unsigned long)strtoul(val, NULL, 10);
|
||||
unsigned long MQTTvalue = (unsigned long)value_from_hex_data(buffer, 12, 8, false, false);
|
||||
SRFBdata.set("value", (unsigned long)MQTTvalue);
|
||||
|
||||
if (!isAduplicateSignal(MQTTvalue) && MQTTvalue != 0) { // conditions to avoid duplications of RF -->MQTT
|
||||
|
||||
Reference in new issue
Block a user