mirror of
https://github.com/arendst/Tasmota.git
synced 2025-07-28 13:16:32 +00:00
obis second () option
This commit is contained in:
parent
5284d5f4f7
commit
a545ec67d5
@ -4,7 +4,7 @@
|
|||||||
Created by Gerhard Mutz on 07.10.11.
|
Created by Gerhard Mutz on 07.10.11.
|
||||||
adapted for Tasmota
|
adapted for Tasmota
|
||||||
|
|
||||||
Copyright (C) 2021 Gerhard Mutz and Theo Arends
|
Copyright (C) 2020 Gerhard Mutz and Theo Arends
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -1539,16 +1539,16 @@ void SML_Decode(uint8_t index) {
|
|||||||
#ifdef ED300L
|
#ifdef ED300L
|
||||||
g_mindex=mindex;
|
g_mindex=mindex;
|
||||||
#endif
|
#endif
|
||||||
if (*mp=='#') {
|
if (*mp == '#') {
|
||||||
// get string value
|
// get string value
|
||||||
mp++;
|
mp++;
|
||||||
if (meter_desc_p[mindex].type=='o') {
|
if (meter_desc_p[mindex].type == 'o') {
|
||||||
for (uint8_t p=0;p<METER_ID_SIZE;p++) {
|
for (uint8_t p=0; p<METER_ID_SIZE; p++) {
|
||||||
if (*cp==*mp) {
|
if (*cp == *mp) {
|
||||||
meter_id[mindex][p]=0;
|
meter_id[mindex][p] = 0;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
meter_id[mindex][p]=*cp++;
|
meter_id[mindex][p] = *cp++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
sml_getvalue(cp,mindex);
|
sml_getvalue(cp,mindex);
|
||||||
@ -1558,9 +1558,19 @@ void SML_Decode(uint8_t index) {
|
|||||||
if (meter_desc_p[mindex].type!='e' && meter_desc_p[mindex].type!='r' && meter_desc_p[mindex].type!='m' && meter_desc_p[mindex].type!='M' && meter_desc_p[mindex].type!='p') {
|
if (meter_desc_p[mindex].type!='e' && meter_desc_p[mindex].type!='r' && meter_desc_p[mindex].type!='m' && meter_desc_p[mindex].type!='M' && meter_desc_p[mindex].type!='p') {
|
||||||
// get numeric values
|
// get numeric values
|
||||||
if (meter_desc_p[mindex].type=='o' || meter_desc_p[mindex].type=='c') {
|
if (meter_desc_p[mindex].type=='o' || meter_desc_p[mindex].type=='c') {
|
||||||
dval=CharToDouble((char*)cp);
|
if (*mp == '(') {
|
||||||
|
mp++;
|
||||||
|
// skip this bracket
|
||||||
|
char *bp = strchr((char*)cp, '(');
|
||||||
|
if (bp) {
|
||||||
|
cp = (uint8_t*) (bp + 1);
|
||||||
|
}
|
||||||
|
dval=CharToDouble((char*)cp);
|
||||||
|
} else {
|
||||||
|
dval=CharToDouble((char*)cp);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
dval=sml_getvalue(cp,mindex);
|
dval = sml_getvalue(cp,mindex);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// ebus pzem or mbus or raw
|
// ebus pzem or mbus or raw
|
||||||
|
Loading…
x
Reference in New Issue
Block a user