mirror of
https://github.com/lumapu/ahoy.git
synced 2025-05-10 15:36:38 +02:00
Implement state class for mqtt discovery.
This commit is contained in:
parent
6e34b4adf9
commit
3b7eb9c58b
3 changed files with 32 additions and 14 deletions
|
@ -30,24 +30,28 @@ const char* const fields[] = {"U_DC", "I_DC", "P_DC", "YieldDay", "YieldWeek", "
|
|||
// mqtt discovery device classes
|
||||
enum {DEVICE_CLS_NONE = 0, DEVICE_CLS_CURRENT, DEVICE_CLS_ENERGY, DEVICE_CLS_PWR, DEVICE_CLS_VOLTAGE, DEVICE_CLS_FREQ, DEVICE_CLS_TEMP};
|
||||
const char* const deviceClasses[] = {0, "current", "energy", "power", "voltage", "frequency", "temperature"};
|
||||
enum {STATE_CLS_NONE = 0, STATE_CLS_MEASUREMENT, STATE_CLS_TOTAL_INCREASING};
|
||||
const char* const stateClasses[] = {0, "measurement", "total_increasing"};
|
||||
typedef struct {
|
||||
uint8_t fieldId; // field id
|
||||
uint8_t fieldId; // field id
|
||||
uint8_t deviceClsId; // device class
|
||||
uint8_t stateClsId; // state class
|
||||
} byteAssign_fieldDeviceClass;
|
||||
const byteAssign_fieldDeviceClass deviceFieldAssignment[] = {
|
||||
{FLD_UDC, DEVICE_CLS_VOLTAGE},
|
||||
{FLD_IDC, DEVICE_CLS_CURRENT},
|
||||
{FLD_PDC, DEVICE_CLS_PWR},
|
||||
{FLD_YD, DEVICE_CLS_ENERGY},
|
||||
{FLD_YW, DEVICE_CLS_ENERGY},
|
||||
{FLD_YT, DEVICE_CLS_ENERGY},
|
||||
{FLD_UAC, DEVICE_CLS_VOLTAGE},
|
||||
{FLD_IAC, DEVICE_CLS_CURRENT},
|
||||
{FLD_PAC, DEVICE_CLS_PWR},
|
||||
{FLD_F, DEVICE_CLS_FREQ},
|
||||
{FLD_T, DEVICE_CLS_TEMP},
|
||||
{FLD_EFF, DEVICE_CLS_NONE},
|
||||
{FLD_IRR, DEVICE_CLS_NONE}
|
||||
{FLD_UDC, DEVICE_CLS_VOLTAGE, STATE_CLS_MEASUREMENT},
|
||||
{FLD_IDC, DEVICE_CLS_CURRENT, STATE_CLS_MEASUREMENT},
|
||||
{FLD_PDC, DEVICE_CLS_PWR, STATE_CLS_MEASUREMENT},
|
||||
{FLD_YD, DEVICE_CLS_ENERGY, STATE_CLS_TOTAL_INCREASING},
|
||||
{FLD_YW, DEVICE_CLS_ENERGY, STATE_CLS_TOTAL_INCREASING},
|
||||
{FLD_YT, DEVICE_CLS_ENERGY, STATE_CLS_TOTAL_INCREASING},
|
||||
{FLD_UAC, DEVICE_CLS_VOLTAGE, STATE_CLS_MEASUREMENT},
|
||||
{FLD_IAC, DEVICE_CLS_CURRENT, STATE_CLS_MEASUREMENT},
|
||||
{FLD_PAC, DEVICE_CLS_PWR, STATE_CLS_MEASUREMENT},
|
||||
{FLD_F, DEVICE_CLS_FREQ, STATE_CLS_NONE},
|
||||
{FLD_T, DEVICE_CLS_TEMP, STATE_CLS_MEASUREMENT},
|
||||
{FLD_PCT, DEVICE_CLS_NONE, STATE_CLS_NONE},
|
||||
{FLD_EFF, DEVICE_CLS_NONE, STATE_CLS_NONE},
|
||||
{FLD_IRR, DEVICE_CLS_NONE, STATE_CLS_NONE}
|
||||
};
|
||||
#define DEVICE_CLS_ASSIGN_LIST_LEN (sizeof(deviceFieldAssignment) / sizeof(byteAssign_fieldDeviceClass))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue