mirror of
https://github.com/lumapu/ahoy.git
synced 2025-05-09 23:16:38 +02:00
* started to implement POST api
* improved web serial console * added multi inverter total values (published through MQTT) * fixed: after boot there were transferred wrong data because of incorrect assignment (mqtt, visualization) -> not tested with sun
This commit is contained in:
parent
9e1b6be70e
commit
6bd7e01f1a
13 changed files with 404 additions and 379 deletions
|
@ -23,55 +23,50 @@ typedef struct {
|
|||
} packet_t;
|
||||
|
||||
typedef enum {
|
||||
InverterDevInform_Simple = 0, // 0x00
|
||||
InverterDevInform_All = 1, // 0x01
|
||||
GridOnProFilePara = 2, // 0x02
|
||||
HardWareConfig = 3, // 0x03
|
||||
SimpleCalibrationPara = 4, // 0x04
|
||||
SystemConfigPara = 5, // 0x05
|
||||
RealTimeRunData_Debug = 11, // 0x0b
|
||||
RealTimeRunData_Reality = 12, // 0x0c
|
||||
RealTimeRunData_A_Phase = 13, // 0x0d
|
||||
RealTimeRunData_B_Phase = 14, // 0x0e
|
||||
RealTimeRunData_C_Phase = 15, // 0x0f
|
||||
AlarmData = 17, // 0x11, Alarm data - all unsent alarms
|
||||
AlarmUpdate = 18, // 0x12, Alarm data - all pending alarms
|
||||
RecordData = 19, // 0x13
|
||||
InternalData = 20, // 0x14
|
||||
GetLossRate = 21, // 0x15
|
||||
GetSelfCheckState = 30, // 0x1e
|
||||
InitDataState = 0xff
|
||||
InverterDevInform_Simple = 0, // 0x00
|
||||
InverterDevInform_All = 1, // 0x01
|
||||
GridOnProFilePara = 2, // 0x02
|
||||
HardWareConfig = 3, // 0x03
|
||||
SimpleCalibrationPara = 4, // 0x04
|
||||
SystemConfigPara = 5, // 0x05
|
||||
RealTimeRunData_Debug = 11, // 0x0b
|
||||
RealTimeRunData_Reality = 12, // 0x0c
|
||||
RealTimeRunData_A_Phase = 13, // 0x0d
|
||||
RealTimeRunData_B_Phase = 14, // 0x0e
|
||||
RealTimeRunData_C_Phase = 15, // 0x0f
|
||||
AlarmData = 17, // 0x11, Alarm data - all unsent alarms
|
||||
AlarmUpdate = 18, // 0x12, Alarm data - all pending alarms
|
||||
RecordData = 19, // 0x13
|
||||
InternalData = 20, // 0x14
|
||||
GetLossRate = 21, // 0x15
|
||||
GetSelfCheckState = 30, // 0x1e
|
||||
InitDataState = 0xff
|
||||
} InfoCmdType;
|
||||
|
||||
typedef enum {
|
||||
TurnOn = 0, // 0x00
|
||||
TurnOff = 1, // 0x01
|
||||
Restart = 2, // 0x02
|
||||
Lock = 3, // 0x03
|
||||
Unlock = 4, // 0x04
|
||||
ActivePowerContr = 11, // 0x0b
|
||||
ReactivePowerContr = 12, // 0x0c
|
||||
PFSet = 13, // 0x0d
|
||||
TurnOn = 0, // 0x00
|
||||
TurnOff = 1, // 0x01
|
||||
Restart = 2, // 0x02
|
||||
Lock = 3, // 0x03
|
||||
Unlock = 4, // 0x04
|
||||
ActivePowerContr = 11, // 0x0b
|
||||
ReactivePowerContr = 12, // 0x0c
|
||||
PFSet = 13, // 0x0d
|
||||
CleanState_LockAndAlarm = 20, // 0x14
|
||||
SelfInspection = 40, // 0x28, self-inspection of grid-connected protection files
|
||||
Init = 0xff
|
||||
SelfInspection = 40, // 0x28, self-inspection of grid-connected protection files
|
||||
Init = 0xff
|
||||
} DevControlCmdType;
|
||||
|
||||
typedef enum { // ToDo: to be verified by field tests
|
||||
NoPowerLimit = 0xffff, // ahoy internal value, no hoymiles value!
|
||||
AbsolutNonPersistent = 0UL, // 0x0000
|
||||
RelativNonPersistent = 1UL, // 0x0001
|
||||
AbsolutPersistent = 256UL, // 0x0100
|
||||
RelativPersistent = 257UL // 0x0101
|
||||
typedef enum {
|
||||
NoPowerLimit = 0xffff, // ahoy internal value, no hoymiles value!
|
||||
AbsolutNonPersistent = 0UL, // 0x0000
|
||||
RelativNonPersistent = 1UL, // 0x0001
|
||||
AbsolutPersistent = 256UL, // 0x0100
|
||||
RelativPersistent = 257UL // 0x0101
|
||||
} PowerLimitControlType;
|
||||
|
||||
// minimum serial interval
|
||||
#define MIN_SERIAL_INTERVAL 5
|
||||
|
||||
// minimum send interval
|
||||
#define MIN_SEND_INTERVAL 15
|
||||
|
||||
// minimum mqtt interval
|
||||
#define MIN_MQTT_INTERVAL 60
|
||||
|
||||
//-------------------------------------
|
||||
|
@ -90,27 +85,16 @@ typedef enum { // ToDo: to be verified by field tests
|
|||
#define INV_MAX_RTRY_LEN 1 // uint8_t
|
||||
#define INV_PWR_LIM_LEN MAX_NUM_INVERTERS * 2 // uint16_t
|
||||
|
||||
#define PINOUT_LEN 3 // 3 pins: CS, CE, IRQ
|
||||
|
||||
#define RF24_AMP_PWR_LEN 1
|
||||
|
||||
#define NTP_ADDR_LEN 32 // DNS Name
|
||||
#define NTP_PORT_LEN 2 // uint16_t
|
||||
|
||||
#define MQTT_ADDR_LEN 32 // DNS Name
|
||||
#define MQTT_USER_LEN 16
|
||||
#define MQTT_PWD_LEN 32
|
||||
#define MQTT_TOPIC_LEN 32
|
||||
#define MQTT_INTERVAL_LEN 2 // uint16_t
|
||||
#define MQTT_PORT_LEN 2 // uint16_t
|
||||
#define MQTT_DISCOVERY_PREFIX "homeassistant"
|
||||
#define MQTT_MAX_PACKET_SIZE 384
|
||||
#define MQTT_RECONNECT_DELAY 5000
|
||||
|
||||
#define SER_ENABLE_LEN 1 // uint8_t
|
||||
#define SER_DEBUG_LEN 1 // uint8_t
|
||||
#define SER_INTERVAL_LEN 2 // uint16_t
|
||||
|
||||
#pragma pack(push) // push current alignment to stack
|
||||
#pragma pack(1) // set alignment to 1 byte boundary
|
||||
typedef struct {
|
||||
|
@ -119,8 +103,10 @@ typedef struct {
|
|||
char user[MQTT_USER_LEN];
|
||||
char pwd[MQTT_PWD_LEN];
|
||||
char topic[MQTT_TOPIC_LEN];
|
||||
} /*__attribute__((__packed__))*/ mqttConfig_t;
|
||||
} mqttConfig_t;
|
||||
#pragma pack(pop) // restore original alignment from stack
|
||||
|
||||
|
||||
typedef struct {
|
||||
char deviceName[DEVNAME_LEN];
|
||||
|
||||
|
@ -151,7 +137,7 @@ typedef struct {
|
|||
uint16_t serialInterval;
|
||||
bool serialShowIv;
|
||||
bool serialDebug;
|
||||
} /*__attribute__((__packed__))*/ config_t;
|
||||
} config_t;
|
||||
#pragma pack(pop) // restore original alignment from stack
|
||||
|
||||
typedef struct {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue