fix get-real-data

This commit is contained in:
suaveolent 2024-03-18 15:21:05 +01:00
parent 322ab070fc
commit d7e4512b9f
3 changed files with 69 additions and 62 deletions

View File

@ -43,7 +43,6 @@ from hoymiles_wifi.protobuf import (
InfomationData_pb2, InfomationData_pb2,
NetworkInfo_pb2, NetworkInfo_pb2,
RealData_pb2, RealData_pb2,
RealDataHMS_pb2,
RealDataNew_pb2, RealDataNew_pb2,
SetConfig_pb2, SetConfig_pb2,
) )
@ -93,6 +92,13 @@ class DTU:
"""Get real data.""" """Get real data."""
request = RealData_pb2.RealDataResDTO() request = RealData_pb2.RealDataResDTO()
request.time_ymd_hms = (
datetime.now().strftime("%Y-%m-%d %H:%M:%S").encode("utf-8")
)
request.time = int(time.time())
request.offset = OFFSET
request.error_code = 0
command = CMD_REAL_DATA_RES_DTO command = CMD_REAL_DATA_RES_DTO
return await self.async_send_request( return await self.async_send_request(
command, request, RealData_pb2.RealDataReqDTO command, request, RealData_pb2.RealDataReqDTO

View File

@ -1,77 +1,78 @@
syntax = "proto3"; syntax = "proto3";
message MeterDataMO { message MeterDataMO {
int32 device_kind = 1; // Device kind identifier int32 device_kind = 1; // Device kind identifier
int64 meter_sn = 2; // Meter serial number int64 meter_sn = 2; // Meter serial number
int32 meter_total_power = 3; // Total power by the meter (Watts) int32 meter_total_power = 3; // Total power by the meter (Watts)
int32 meter_phase_A_power = 4; // Power in phase A (Watts) int32 meter_phase_A_power = 4; // Power in phase A (Watts)
int32 meter_phase_B_power = 5; // Power in phase B (Watts) int32 meter_phase_B_power = 5; // Power in phase B (Watts)
int32 meter_phase_C_power = 6; // Power in phase C (Watts) int32 meter_phase_C_power = 6; // Power in phase C (Watts)
int32 meter_factor = 7; // Meter factor int32 meter_factor = 7; // Meter factor
int32 meter_total_energy = 8; // Total energy produced by the meter (Watt-hours) int32 meter_total_energy =
int32 meter_phase_A_energy = 9; // Energy produced in phase A (Watt-hours) 8; // Total energy produced by the meter (Watt-hours)
int32 meter_phase_B_energy = 10;// Energy produced in phase B (Watt-hours) int32 meter_phase_A_energy = 9; // Energy produced in phase A (Watt-hours)
int32 meter_phase_C_energy = 11;// Energy produced in phase C (Watt-hours) int32 meter_phase_B_energy = 10; // Energy produced in phase B (Watt-hours)
int32 meter_total_consumed = 12;// Total energy consumed (Watt-hours) int32 meter_phase_C_energy = 11; // Energy produced in phase C (Watt-hours)
int32 meter_phase_A_consumed = 13;// Energy consumed in phase A (Watt-hours) int32 meter_total_consumed = 12; // Total energy consumed (Watt-hours)
int32 meter_phase_B_consumed = 14;// Energy consumed in phase B (Watt-hours) int32 meter_phase_A_consumed = 13; // Energy consumed in phase A (Watt-hours)
int32 meter_phase_C_consumed = 15;// Energy consumed in phase C (Watt-hours) int32 meter_phase_B_consumed = 14; // Energy consumed in phase B (Watt-hours)
int32 meter_fault = 16; // Meter fault code int32 meter_phase_C_consumed = 15; // Energy consumed in phase C (Watt-hours)
int32 meter_fault = 16; // Meter fault code
} }
message RpDataMO { message RpDataMO {
int64 rp_sn = 1; // RP serial number int64 rp_sn = 1; // RP serial number
int32 rp_signal = 2; // RP signal strength int32 rp_signal = 2; // RP signal strength
int32 rp_channel = 3; // RP channel number int32 rp_channel = 3; // RP channel number
int32 rp_link_nub = 4; // RP link number int32 rp_link_nub = 4; // RP link number
int32 rp_link_status = 5; // RP link status int32 rp_link_status = 5; // RP link status
} }
message PvDataMO { message PvDataMO {
int64 pv_sn = 1; // PV serial number int64 pv_sn = 1; // PV serial number
int32 pv_port = 2; // PV port number int32 pv_port = 2; // PV port number
int32 pv_vol = 3; // PV voltage (Volts) int32 pv_vol = 3; // PV voltage (Volts)
int32 pv_cur = 4; // PV current (Amperes) int32 pv_cur = 4; // PV current (Amperes)
int32 pv_power = 5; // PV power (Watts) int32 pv_power = 5; // PV power (Watts)
int32 pv_energy_total = 6; // Total energy generated by PV (Watt-hours) int32 pv_energy_total = 6; // Total energy generated by PV (Watt-hours)
int32 grid_vol = 7; // Grid voltage (Volts) int32 grid_vol = 7; // Grid voltage (Volts)
int32 grid_vol_max = 8; // Maximum grid voltage (Volts) int32 grid_vol_max = 8; // Maximum grid voltage (Volts)
int32 grid_freq = 9; // Grid frequency (Hertz) int32 grid_freq = 9; // Grid frequency (Hertz)
int32 grid_p = 10; // Grid active power (Watts) int32 grid_p = 10; // Grid active power (Watts)
int32 grid_q = 11; // Grid reactive power (VAR) int32 grid_q = 11; // Grid reactive power (VAR)
int32 grid_i = 12; // Grid current (Amperes) int32 grid_i = 12; // Grid current (Amperes)
int32 grid_pf = 13; // Grid power factor int32 grid_pf = 13; // Grid power factor
int32 pv_temp = 14; // PV temperature int32 pv_temp = 14; // PV temperature
int32 pv_run_status = 15; // PV running status int32 pv_run_status = 15; // PV running status
int32 pv_fault_num = 16; // PV fault number int32 pv_fault_num = 16; // PV fault number
int32 pv_fault_cnt = 17; // PV fault count int32 pv_fault_cnt = 17; // PV fault count
int32 pv_warning_cnt = 18; // PV warning count int32 pv_warning_cnt = 18; // PV warning count
int32 pv_link_status = 19; // PV link status int32 pv_link_status = 19; // PV link status
int32 pv_send_power = 20; // PV send power (Watts) int32 pv_send_power = 20; // PV send power (Watts)
int32 pv_receive_power = 21; // PV received power (Watts) int32 pv_receive_power = 21; // PV received power (Watts)
int32 pv_time = 22; // PV time int32 pv_time = 22; // PV time
int32 pv_energy = 23; // PV energy (Watt-hours) int32 pv_energy = 23; // PV energy (Watt-hours)
int32 mi_signal = 24; // Modulation index signal int32 mi_signal = 24; // Modulation index signal
} }
message RealDataReqDTO { message RealDataReqDTO {
string dtu_sn = 1; // DTU serial number string dtu_sn = 1; // DTU serial number
int32 timestamp = 2; // Timestamp of the data int32 timestamp = 2; // Timestamp of the data
int32 device_number = 3; // Device number int32 device_number = 3; // Device number
int32 pv_number = 4; // PV number int32 pv_number = 4; // PV number
int32 package_number = 5; // Package number int32 package_number = 5; // Package number
int32 current_package = 6; // Current package number int32 current_package = 6; // Current package number
int32 csq = 7; // Carrier Signal Quality (CSQ) int32 csq = 7; // Carrier Signal Quality (CSQ)
repeated MeterDataMO meter_data = 8; // Meter data array repeated MeterDataMO meter_data = 8; // Meter data array
repeated RpDataMO rp_data = 9; // RpDataMO data array repeated RpDataMO rp_data = 9; // RpDataMO data array
repeated PvDataMO pv_data = 10; // PvDataMO data array repeated PvDataMO pv_data = 10; // PvDataMO data array
int32 version = 11; // Version number int32 version = 11; // Version number
} }
message RealDataResDTO { message RealDataResDTO {
string timestamp_ymd_hms = 1; // Timestamp in the format YMD_HMS string time_ymd_hms = 1; // Timestamp in the format YMD_HMS
int32 current_package = 2; // Current package number int32 package_now = 2; // Package now
int32 error_code = 3; // Error code indicator int32 error_code = 3; // Error code indicator
int32 offset = 4; // Offset value int32 offset = 4; // Offset value
int32 timestamp = 5; // Timestamp value int32 time = 5; // Timestamp value
} }

View File

@ -14,7 +14,7 @@ _sym_db = _symbol_database.Default()
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0eRealData.proto\"\xc5\x03\n\x0bMeterDataMO\x12\x13\n\x0b\x64\x65vice_kind\x18\x01 \x01(\x05\x12\x10\n\x08meter_sn\x18\x02 \x01(\x03\x12\x19\n\x11meter_total_power\x18\x03 \x01(\x05\x12\x1b\n\x13meter_phase_A_power\x18\x04 \x01(\x05\x12\x1b\n\x13meter_phase_B_power\x18\x05 \x01(\x05\x12\x1b\n\x13meter_phase_C_power\x18\x06 \x01(\x05\x12\x14\n\x0cmeter_factor\x18\x07 \x01(\x05\x12\x1a\n\x12meter_total_energy\x18\x08 \x01(\x05\x12\x1c\n\x14meter_phase_A_energy\x18\t \x01(\x05\x12\x1c\n\x14meter_phase_B_energy\x18\n \x01(\x05\x12\x1c\n\x14meter_phase_C_energy\x18\x0b \x01(\x05\x12\x1c\n\x14meter_total_consumed\x18\x0c \x01(\x05\x12\x1e\n\x16meter_phase_A_consumed\x18\r \x01(\x05\x12\x1e\n\x16meter_phase_B_consumed\x18\x0e \x01(\x05\x12\x1e\n\x16meter_phase_C_consumed\x18\x0f \x01(\x05\x12\x13\n\x0bmeter_fault\x18\x10 \x01(\x05\"m\n\x08RpDataMO\x12\r\n\x05rp_sn\x18\x01 \x01(\x03\x12\x11\n\trp_signal\x18\x02 \x01(\x05\x12\x12\n\nrp_channel\x18\x03 \x01(\x05\x12\x13\n\x0brp_link_nub\x18\x04 \x01(\x05\x12\x16\n\x0erp_link_status\x18\x05 \x01(\x05\"\xdd\x03\n\x08PvDataMO\x12\r\n\x05pv_sn\x18\x01 \x01(\x03\x12\x0f\n\x07pv_port\x18\x02 \x01(\x05\x12\x0e\n\x06pv_vol\x18\x03 \x01(\x05\x12\x0e\n\x06pv_cur\x18\x04 \x01(\x05\x12\x10\n\x08pv_power\x18\x05 \x01(\x05\x12\x17\n\x0fpv_energy_total\x18\x06 \x01(\x05\x12\x10\n\x08grid_vol\x18\x07 \x01(\x05\x12\x14\n\x0cgrid_vol_max\x18\x08 \x01(\x05\x12\x11\n\tgrid_freq\x18\t \x01(\x05\x12\x0e\n\x06grid_p\x18\n \x01(\x05\x12\x0e\n\x06grid_q\x18\x0b \x01(\x05\x12\x0e\n\x06grid_i\x18\x0c \x01(\x05\x12\x0f\n\x07grid_pf\x18\r \x01(\x05\x12\x0f\n\x07pv_temp\x18\x0e \x01(\x05\x12\x15\n\rpv_run_status\x18\x0f \x01(\x05\x12\x14\n\x0cpv_fault_num\x18\x10 \x01(\x05\x12\x14\n\x0cpv_fault_cnt\x18\x11 \x01(\x05\x12\x16\n\x0epv_warning_cnt\x18\x12 \x01(\x05\x12\x16\n\x0epv_link_status\x18\x13 \x01(\x05\x12\x15\n\rpv_send_power\x18\x14 \x01(\x05\x12\x18\n\x10pv_receive_power\x18\x15 \x01(\x05\x12\x0f\n\x07pv_time\x18\x16 \x01(\x05\x12\x11\n\tpv_energy\x18\x17 \x01(\x05\x12\x11\n\tmi_signal\x18\x18 \x01(\x05\"\x86\x02\n\x0eRealDataReqDTO\x12\x0e\n\x06\x64tu_sn\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x05\x12\x15\n\rdevice_number\x18\x03 \x01(\x05\x12\x11\n\tpv_number\x18\x04 \x01(\x05\x12\x16\n\x0epackage_number\x18\x05 \x01(\x05\x12\x17\n\x0f\x63urrent_package\x18\x06 \x01(\x05\x12\x0b\n\x03\x63sq\x18\x07 \x01(\x05\x12 \n\nmeter_data\x18\x08 \x03(\x0b\x32\x0c.MeterDataMO\x12\x1a\n\x07rp_data\x18\t \x03(\x0b\x32\t.RpDataMO\x12\x1a\n\x07pv_data\x18\n \x03(\x0b\x32\t.PvDataMO\x12\x0f\n\x07version\x18\x0b \x01(\x05\"{\n\x0eRealDataResDTO\x12\x19\n\x11timestamp_ymd_hms\x18\x01 \x01(\t\x12\x17\n\x0f\x63urrent_package\x18\x02 \x01(\x05\x12\x12\n\nerror_code\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x05\x12\x11\n\ttimestamp\x18\x05 \x01(\x05\x62\x06proto3') DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0eRealData.proto\"\xc5\x03\n\x0bMeterDataMO\x12\x13\n\x0b\x64\x65vice_kind\x18\x01 \x01(\x05\x12\x10\n\x08meter_sn\x18\x02 \x01(\x03\x12\x19\n\x11meter_total_power\x18\x03 \x01(\x05\x12\x1b\n\x13meter_phase_A_power\x18\x04 \x01(\x05\x12\x1b\n\x13meter_phase_B_power\x18\x05 \x01(\x05\x12\x1b\n\x13meter_phase_C_power\x18\x06 \x01(\x05\x12\x14\n\x0cmeter_factor\x18\x07 \x01(\x05\x12\x1a\n\x12meter_total_energy\x18\x08 \x01(\x05\x12\x1c\n\x14meter_phase_A_energy\x18\t \x01(\x05\x12\x1c\n\x14meter_phase_B_energy\x18\n \x01(\x05\x12\x1c\n\x14meter_phase_C_energy\x18\x0b \x01(\x05\x12\x1c\n\x14meter_total_consumed\x18\x0c \x01(\x05\x12\x1e\n\x16meter_phase_A_consumed\x18\r \x01(\x05\x12\x1e\n\x16meter_phase_B_consumed\x18\x0e \x01(\x05\x12\x1e\n\x16meter_phase_C_consumed\x18\x0f \x01(\x05\x12\x13\n\x0bmeter_fault\x18\x10 \x01(\x05\"m\n\x08RpDataMO\x12\r\n\x05rp_sn\x18\x01 \x01(\x03\x12\x11\n\trp_signal\x18\x02 \x01(\x05\x12\x12\n\nrp_channel\x18\x03 \x01(\x05\x12\x13\n\x0brp_link_nub\x18\x04 \x01(\x05\x12\x16\n\x0erp_link_status\x18\x05 \x01(\x05\"\xdd\x03\n\x08PvDataMO\x12\r\n\x05pv_sn\x18\x01 \x01(\x03\x12\x0f\n\x07pv_port\x18\x02 \x01(\x05\x12\x0e\n\x06pv_vol\x18\x03 \x01(\x05\x12\x0e\n\x06pv_cur\x18\x04 \x01(\x05\x12\x10\n\x08pv_power\x18\x05 \x01(\x05\x12\x17\n\x0fpv_energy_total\x18\x06 \x01(\x05\x12\x10\n\x08grid_vol\x18\x07 \x01(\x05\x12\x14\n\x0cgrid_vol_max\x18\x08 \x01(\x05\x12\x11\n\tgrid_freq\x18\t \x01(\x05\x12\x0e\n\x06grid_p\x18\n \x01(\x05\x12\x0e\n\x06grid_q\x18\x0b \x01(\x05\x12\x0e\n\x06grid_i\x18\x0c \x01(\x05\x12\x0f\n\x07grid_pf\x18\r \x01(\x05\x12\x0f\n\x07pv_temp\x18\x0e \x01(\x05\x12\x15\n\rpv_run_status\x18\x0f \x01(\x05\x12\x14\n\x0cpv_fault_num\x18\x10 \x01(\x05\x12\x14\n\x0cpv_fault_cnt\x18\x11 \x01(\x05\x12\x16\n\x0epv_warning_cnt\x18\x12 \x01(\x05\x12\x16\n\x0epv_link_status\x18\x13 \x01(\x05\x12\x15\n\rpv_send_power\x18\x14 \x01(\x05\x12\x18\n\x10pv_receive_power\x18\x15 \x01(\x05\x12\x0f\n\x07pv_time\x18\x16 \x01(\x05\x12\x11\n\tpv_energy\x18\x17 \x01(\x05\x12\x11\n\tmi_signal\x18\x18 \x01(\x05\"\x86\x02\n\x0eRealDataReqDTO\x12\x0e\n\x06\x64tu_sn\x18\x01 \x01(\t\x12\x11\n\ttimestamp\x18\x02 \x01(\x05\x12\x15\n\rdevice_number\x18\x03 \x01(\x05\x12\x11\n\tpv_number\x18\x04 \x01(\x05\x12\x16\n\x0epackage_number\x18\x05 \x01(\x05\x12\x17\n\x0f\x63urrent_package\x18\x06 \x01(\x05\x12\x0b\n\x03\x63sq\x18\x07 \x01(\x05\x12 \n\nmeter_data\x18\x08 \x03(\x0b\x32\x0c.MeterDataMO\x12\x1a\n\x07rp_data\x18\t \x03(\x0b\x32\t.RpDataMO\x12\x1a\n\x07pv_data\x18\n \x03(\x0b\x32\t.PvDataMO\x12\x0f\n\x07version\x18\x0b \x01(\x05\"d\n\x0eRealDataResDTO\x12\x14\n\x0ctime_ymd_hms\x18\x01 \x01(\t\x12\n\n\x02\x63p\x18\x02 \x01(\x05\x12\x12\n\nerror_code\x18\x03 \x01(\x05\x12\x0e\n\x06offset\x18\x04 \x01(\x05\x12\x0c\n\x04time\x18\x05 \x01(\x05\x62\x06proto3')
_globals = globals() _globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
@ -30,5 +30,5 @@ if _descriptor._USE_C_DESCRIPTORS == False:
_globals['_REALDATAREQDTO']._serialized_start=1066 _globals['_REALDATAREQDTO']._serialized_start=1066
_globals['_REALDATAREQDTO']._serialized_end=1328 _globals['_REALDATAREQDTO']._serialized_end=1328
_globals['_REALDATARESDTO']._serialized_start=1330 _globals['_REALDATARESDTO']._serialized_start=1330
_globals['_REALDATARESDTO']._serialized_end=1453 _globals['_REALDATARESDTO']._serialized_end=1430
# @@protoc_insertion_point(module_scope) # @@protoc_insertion_point(module_scope)