diff --git a/tasmota/xsns_83_neopool.ino b/tasmota/xsns_83_neopool.ino index 395c9c1db..f2956e284 100644 --- a/tasmota/xsns_83_neopool.ino +++ b/tasmota/xsns_83_neopool.ino @@ -599,6 +599,18 @@ enum NeoPoolModbusCode { NEOPOOL_MODBUS_ERROR_DEADLOCK }; +// NeoPool value resolutions +typedef struct { + uint16_t ph : 2; + uint16_t cl : 2; + uint16_t ion : 2; +} NeoPoolResMBitfield; +NeoPoolResMBitfield neopool_resolution { + .ph = 1, + .cl = 1, + .ion = 1 +}; + #define D_NEOPOOL_NAME "NeoPool" @@ -651,11 +663,11 @@ const char kNeoPoolpHAlarms[] PROGMEM = #define D_STR_BIT "Bit" #endif // D_STR_BIT -#define NEOPOOL_FMT_PH "%1_f" -#define NEOPOOL_FMT_RX "%0_f" -#define NEOPOOL_FMT_CL "%1_f" +#define NEOPOOL_FMT_PH "%*_f" +#define NEOPOOL_FMT_RX "%d" +#define NEOPOOL_FMT_CL "%*_f" #define NEOPOOL_FMT_CD "%d" -#define NEOPOOL_FMT_ION "%1_f" +#define NEOPOOL_FMT_ION "%*_f" #define NEOPOOL_FMT_HIDRO "%*_f" #define D_NEOPOOL_UNIT_GPERH "g/h" @@ -697,7 +709,7 @@ const char HTTP_SNS_NEOPOOL_STATUS_ACTIVE[] PROGMEM = "filter:invert(1)"; * any other value of