fwhProMqttDomain.go 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. package domain
  2. // 定义枚举类型
  3. type MqttCmdType string
  4. const (
  5. MQTT_LOG_0 MqttCmdType = "0" // 设备连接中断
  6. MQTT_LOG_101 MqttCmdType = "101" // 登录上行命令
  7. MQTT_LOG_102 MqttCmdType = "102" // 登录应答下行命令
  8. MQTT_LOG_103 MqttCmdType = "103" // 设备绑定解绑上行命令
  9. MQTT_LOG_104 MqttCmdType = "104" // 设备绑定解绑应答下行命令
  10. MQTT_LOG_105 MqttCmdType = "105" // 设备心跳上行数据
  11. MQTT_LOG_106 MqttCmdType = "106" // 应答云平台心跳下行数据
  12. MQTT_LOG_107 MqttCmdType = "107" // 设备参数更新上行数据
  13. MQTT_LOG_108 MqttCmdType = "108" // 应答设备参数更新下行数据
  14. MQTT_LOG_109 MqttCmdType = "109" // 云平台更新设备参数下行数据
  15. MQTT_LOG_110 MqttCmdType = "110" // 应答云平台更新设备参数上行数据
  16. MQTT_LOG_201 MqttCmdType = "201" // 用户实时数据 (运行数据,默认数据间隔5min)
  17. MQTT_LOG_202 MqttCmdType = "202" // 厂商实时数据上传通知
  18. MQTT_LOG_203 MqttCmdType = "203" // 实时数据召唤
  19. MQTT_LOG_204 MqttCmdType = "204" // 实时数据召唤应答
  20. MQTT_LOG_205 MqttCmdType = "205" // 当前告警上传
  21. MQTT_LOG_206 MqttCmdType = "206" // 当前告警上传应答
  22. MQTT_LOG_207 MqttCmdType = "207" // 告警日志上传
  23. MQTT_LOG_208 MqttCmdType = "208" // 告警日志上传应答
  24. MQTT_LOG_209 MqttCmdType = "209" // 用户实时数据离线后补传命令
  25. MQTT_LOG_210 MqttCmdType = "210" // 用户实时数据离线后补传应答
  26. MQTT_LOG_211 MqttCmdType = "211" // 设备实时数据召唤下行数据
  27. MQTT_LOG_212 MqttCmdType = "212" // 设备实时数据召唤上行数据
  28. MQTT_LOG_213 MqttCmdType = "213" // 告警日志文件上传通知
  29. MQTT_LOG_214 MqttCmdType = "214" // 当前告警集合上行数据
  30. MQTT_LOG_215 MqttCmdType = "215" // 应答当前告警集合下行数据
  31. MQTT_LOG_216 MqttCmdType = "216" // 当前告警集合查询下行数据
  32. MQTT_LOG_217 MqttCmdType = "217" // 应答当前告警集合查询上行数据
  33. MQTT_LOG_218 MqttCmdType = "218" // 告警监控快照文件上传通知
  34. MQTT_LOG_219 MqttCmdType = "219" // 应答告警监控快照文件上传
  35. MQTT_LOG_220 MqttCmdType = "220" // 系统资源监控数据上行数据
  36. MQTT_LOG_221 MqttCmdType = "221" // 设备数据主动上传
  37. MQTT_LOG_223 MqttCmdType = "223" // 设备数据补传通知上行数据
  38. MQTT_LOG_224 MqttCmdType = "224" // 应答设备数据补传下行数据
  39. MQTT_LOG_225 MqttCmdType = "225" // 继电器切断次数上行数据
  40. MQTT_LOG_227 MqttCmdType = "227" // 设备实时上传数据
  41. MQTT_LOG_229 MqttCmdType = "229" // 实时数据补传上行
  42. MQTT_LOG_230 MqttCmdType = "230" // 实时数据补传下行
  43. MQTT_LOG_235 MqttCmdType = "235" // sunrun数据上报使能设置
  44. MQTT_LOG_236 MqttCmdType = "236" // sunrun数据上报使能设置应答
  45. MQTT_LOG_231 MqttCmdType = "231" // 电池数据主动上传
  46. MQTT_LOG_233 MqttCmdType = "233" // 实时数据补传通知上行数据
  47. MQTT_LOG_234 MqttCmdType = "234" // 应答实时数据补传下行数据
  48. MQTT_LOG_301 MqttCmdType = "301" // 参数设置
  49. MQTT_LOG_302 MqttCmdType = "302" // 参数设置应答
  50. MQTT_LOG_303 MqttCmdType = "303" // 参数查询
  51. MQTT_LOG_304 MqttCmdType = "304" // 参数查询应答
  52. MQTT_LOG_305 MqttCmdType = "305" // 预警模式
  53. MQTT_LOG_306 MqttCmdType = "306" // 预警模式应答
  54. MQTT_LOG_307 MqttCmdType = "307" // 设备端解除预警模式
  55. MQTT_LOG_308 MqttCmdType = "308" // 设备端解除预警模式应答
  56. MQTT_LOG_309 MqttCmdType = "309" // 设备事件推送
  57. MQTT_LOG_310 MqttCmdType = "310" // 设备事件推送应答
  58. MQTT_LOG_311 MqttCmdType = "311" // 设备控制指令设置查询
  59. MQTT_LOG_312 MqttCmdType = "312" // 设备控制指令设置查询应答
  60. MQTT_LOG_313 MqttCmdType = "313" // TOU参数配置查询指令
  61. MQTT_LOG_314 MqttCmdType = "314" // TOU参数配置查询指令应答
  62. MQTT_LOG_315 MqttCmdType = "315" // 系统设置下行数据
  63. MQTT_LOG_316 MqttCmdType = "316" // 系统设置上行数据
  64. MQTT_LOG_317 MqttCmdType = "317" // 全局参数配置指令
  65. MQTT_LOG_318 MqttCmdType = "318" // 全局参数配置指令应答
  66. MQTT_LOG_319 MqttCmdType = "319" // TOU策略配置查询下行数据
  67. MQTT_LOG_320 MqttCmdType = "320" // 应答TOU策略配置查询上行数据
  68. MQTT_LOG_321 MqttCmdType = "321" // Wi-Fi设置查询下行数据
  69. MQTT_LOG_322 MqttCmdType = "322" // 应答Wi-Fi设置查询上行数据
  70. MQTT_LOG_323 MqttCmdType = "323" // 发电机参数设置查询下行数据
  71. MQTT_LOG_324 MqttCmdType = "324" // 应答发电机参数设置查询上行数据
  72. MQTT_LOG_325 MqttCmdType = "325" // 光伏参数设置查询下行数据
  73. MQTT_LOG_326 MqttCmdType = "326" // 应答光伏参数设置查询上行数据
  74. MQTT_LOG_327 MqttCmdType = "327" // aPower灯开关控制下行数据
  75. MQTT_LOG_328 MqttCmdType = "328" // 应答aPower灯开关控制上行数据
  76. MQTT_LOG_329 MqttCmdType = "329" // 自动编址下行数据
  77. MQTT_LOG_330 MqttCmdType = "330" // 应答自动编址上行数据
  78. MQTT_LOG_331 MqttCmdType = "331" // 自动编址结果查询下行数据
  79. MQTT_LOG_332 MqttCmdType = "332" // 应答自动编址结果查询上行数据
  80. MQTT_LOG_333 MqttCmdType = "333" // 调试模式下行数据
  81. MQTT_LOG_334 MqttCmdType = "334" // 应答调试模式上行数据
  82. MQTT_LOG_335 MqttCmdType = "335" // Wi-Fi热点扫描下行数据
  83. MQTT_LOG_336 MqttCmdType = "336" // 应答Wi-Fi热点扫描上行数据
  84. MQTT_LOG_337 MqttCmdType = "337" // Wi-Fi热点账号查询设置下行数据
  85. MQTT_LOG_338 MqttCmdType = "338" // 应答Wi-Fi热点账号查询设置上行数据
  86. MQTT_LOG_339 MqttCmdType = "339" // 连接状态查询下行数据
  87. MQTT_LOG_340 MqttCmdType = "340" // 应答连接状态查询上行数据
  88. MQTT_LOG_341 MqttCmdType = "341" // 网终开关查询设置下行数据
  89. MQTT_LOG_342 MqttCmdType = "342" // 应答网终开关查询设置上行数据
  90. MQTT_LOG_343 MqttCmdType = "343" // 电池控制下行数据
  91. MQTT_LOG_344 MqttCmdType = "344" // 应答电池控制上行数据
  92. MQTT_LOG_345 MqttCmdType = "345" // 电网设置下行数据
  93. MQTT_LOG_346 MqttCmdType = "346" // 应答电网设置上行数据
  94. MQTT_LOG_347 MqttCmdType = "347" // 电网事件结果通知上行数据
  95. MQTT_LOG_348 MqttCmdType = "348" // 应答电网事件结果下行数据
  96. MQTT_LOG_349 MqttCmdType = "349" // 主动离网数据下行
  97. MQTT_LOG_350 MqttCmdType = "350" // 应答主动离网数据上行
  98. MQTT_LOG_351 MqttCmdType = "351" // 主动离网结果通知上行数据
  99. MQTT_LOG_352 MqttCmdType = "352" // 应答主动离网结果通知下行数据
  100. MQTT_LOG_353 MqttCmdType = "353" // 系统参数查询设置下行数据
  101. MQTT_LOG_354 MqttCmdType = "354" // 系统参数查询设置上行数据
  102. MQTT_LOG_355 MqttCmdType = "355" // 能量调度策略查询
  103. MQTT_LOG_356 MqttCmdType = "356" // 能量调度策略查询应答
  104. MQTT_LOG_357 MqttCmdType = "357" // 能量调度策略增加和删除设置
  105. MQTT_LOG_358 MqttCmdType = "358" // 能量调度策略增加和删除设置应答
  106. MQTT_LOG_359 MqttCmdType = "359" // 系统参数查询设置
  107. MQTT_LOG_360 MqttCmdType = "360" // 系统参数查询设置应答
  108. MQTT_LOG_361 MqttCmdType = "361" // 网络通道检测设置
  109. MQTT_LOG_362 MqttCmdType = "362" // 网络通道检测设置应答
  110. MQTT_LOG_363 MqttCmdType = "363" // 网络通道检测结果查询
  111. MQTT_LOG_364 MqttCmdType = "364" // 网络通道检测结果查询应答
  112. MQTT_LOG_365 MqttCmdType = "365" // Swell注册/注销设置
  113. MQTT_LOG_366 MqttCmdType = "366" // Swell注册/注销设置应答
  114. MQTT_LOG_367 MqttCmdType = "367" // Swell应用程序状态查询
  115. MQTT_LOG_368 MqttCmdType = "368" // Swell应用程序状态查询应答
  116. MQTT_LOG_369 MqttCmdType = "369" // Modbus参数权限的查询设置
  117. MQTT_LOG_370 MqttCmdType = "370" // modbus参数权限的查询设置应答
  118. MQTT_LOG_371 MqttCmdType = "371" // 同步点表配置请求
  119. MQTT_LOG_372 MqttCmdType = "372" // 同步点表配置请求应答
  120. MQTT_LOG_373 MqttCmdType = "373" // 点表配置表增删查命令
  121. MQTT_LOG_374 MqttCmdType = "374" // 点表配置表增删查命令应答
  122. MQTT_LOG_375 MqttCmdType = "375" // 点表响应设置命令
  123. MQTT_LOG_376 MqttCmdType = "376" // 点表响应设置应答
  124. MQTT_LOG_377 MqttCmdType = "377" // 故障录波实时数据获取
  125. MQTT_LOG_378 MqttCmdType = "378" // 故障录波信息应答
  126. MQTT_LOG_379 MqttCmdType = "379" // 故障录波信息上传
  127. MQTT_LOG_380 MqttCmdType = "380" // 故障录波信息上传应答
  128. MQTT_LOG_381 MqttCmdType = "381" // 设备休眠配置命令
  129. MQTT_LOG_382 MqttCmdType = "382" // 设备休眠命令应答
  130. MQTT_LOG_383 MqttCmdType = "383" // 休眠/退出休眠结果上报
  131. MQTT_LOG_384 MqttCmdType = "384" // 休眠/退出休眠结果上报应答
  132. MQTT_LOG_385 MqttCmdType = "385" // 设备退出休眠/取消充电休眠配置命令
  133. MQTT_LOG_386 MqttCmdType = "386" // 设备退出休眠/取消充电休眠配置命令应答
  134. MQTT_LOG_387 MqttCmdType = "387" // 智能负载开关查询设置
  135. MQTT_LOG_388 MqttCmdType = "388" // 智能负载开关查询设置应答
  136. MQTT_LOG_389 MqttCmdType = "389" // 智能负载开关实时数据查询命令
  137. MQTT_LOG_390 MqttCmdType = "390" // 智能负载开关实时数据查询应答
  138. MQTT_LOG_391 MqttCmdType = "391" // aPbox2.0查询设置
  139. MQTT_LOG_392 MqttCmdType = "392" // aPbox2.0查询设置应答
  140. MQTT_LOG_3100 MqttCmdType = "3100" // 完成MSA安装设置命令
  141. MQTT_LOG_3101 MqttCmdType = "3101" // 完成MSA安装设置应答
  142. MQTT_LOG_3104 MqttCmdType = "3104" // CT转向设置查询
  143. MQTT_LOG_3105 MqttCmdType = "3105" // CT转向设置查询应答
  144. MQTT_LOG_3106 MqttCmdType = "3106" // 设备编址完成
  145. MQTT_LOG_3107 MqttCmdType = "3107" // 设备编址完成应答
  146. MQTT_LOG_393 MqttCmdType = "393" // CT检测设置查询
  147. MQTT_LOG_394 MqttCmdType = "394" // CT检测设置查询应答
  148. MQTT_LOG_395 MqttCmdType = "395" // CT检测数据/结果上传
  149. MQTT_LOG_396 MqttCmdType = "396" // CT检测数据/结果应答
  150. MQTT_LOG_401 MqttCmdType = "401" // 日功率曲线电量召唤
  151. MQTT_LOG_402 MqttCmdType = "402" // 日功率曲线电量召唤应答
  152. MQTT_LOG_403 MqttCmdType = "403" // 电量历史报表召唤(月,年)
  153. MQTT_LOG_404 MqttCmdType = "404" // 电量历史报表召唤应答
  154. MQTT_LOG_405 MqttCmdType = "405" // 备电日志上传
  155. MQTT_LOG_406 MqttCmdType = "406" // 备电日志上传应答
  156. MQTT_LOG_407 MqttCmdType = "407" // 历史日功率曲线电量报表上传通知
  157. MQTT_LOG_408 MqttCmdType = "408" // 历史日功率曲线电量报表上传应答
  158. MQTT_LOG_409 MqttCmdType = "409" // 电量历史报表上传通知(月,年)
  159. MQTT_LOG_410 MqttCmdType = "410" // 电量历史报表上传应答
  160. MQTT_LOG_411 MqttCmdType = "411" // 日电量统计上传上行数据
  161. MQTT_LOG_412 MqttCmdType = "412" // 应答日电量统计上传下行数据
  162. MQTT_LOG_413 MqttCmdType = "413" // 设备模式变化时上传
  163. MQTT_LOG_414 MqttCmdType = "414" // 应答设备模式变化下行数据
  164. MQTT_LOG_501 MqttCmdType = "501" // IBG设备安装信息主动上传
  165. MQTT_LOG_502 MqttCmdType = "502" // IBG设备安装信息主动上传应答
  166. MQTT_LOG_503 MqttCmdType = "503" // IBG设备安装信息召唤
  167. MQTT_LOG_504 MqttCmdType = "504" // IBG设备安装信息上报
  168. MQTT_LOG_505 MqttCmdType = "505" // 设备升级指令
  169. MQTT_LOG_506 MqttCmdType = "506" // 设备升级应答
  170. MQTT_LOG_507 MqttCmdType = "507" // 设备升级结果
  171. MQTT_LOG_508 MqttCmdType = "508" // 设备升级结果应答
  172. MQTT_LOG_509 MqttCmdType = "509" // 设备安装信息主动上传上行数据
  173. MQTT_LOG_510 MqttCmdType = "510" // 设备安装信息主动上传下行数据
  174. MQTT_LOG_511 MqttCmdType = "511" // 设备升级文件下载信息下发
  175. MQTT_LOG_512 MqttCmdType = "512" // 设备升级文件下载信息响应上行数据
  176. MQTT_LOG_513 MqttCmdType = "513" // 设备升级文件下载完成上行数据
  177. MQTT_LOG_514 MqttCmdType = "514" // 应答设备升级文件下载完成下行数据
  178. MQTT_LOG_515 MqttCmdType = "515" // 特殊升级启动信息上报上行数据
  179. MQTT_LOG_516 MqttCmdType = "516" // 特殊升级启动信息上报应答下行数据
  180. MQTT_LOG_517 MqttCmdType = "517" // 设备编址后参数更新上行数据
  181. MQTT_LOG_518 MqttCmdType = "518" // 应答设备编址后参数下行数据
  182. MQTT_LOG_523 MqttCmdType = "523" // 设备升级进度上报上行数据
  183. MQTT_LOG_524 MqttCmdType = "524" // aHub升级记录结果上行数据
  184. MQTT_LOG_525 MqttCmdType = "525" // aHub升级记录结果应答下行数据
  185. MQTT_LOG_526 MqttCmdType = "526" // aHub连接状态检测上行数据
  186. MQTT_LOG_601 MqttCmdType = "601" // 调试参数下发
  187. MQTT_LOG_602 MqttCmdType = "602" // 调试参数下发结果
  188. MQTT_LOG_603 MqttCmdType = "603" // 设备日志召唤
  189. MQTT_LOG_604 MqttCmdType = "604" // 设备日志召唤应答
  190. MQTT_LOG_605 MqttCmdType = "605" // 设备日志上传结果
  191. MQTT_LOG_606 MqttCmdType = "606" // 设备日志上传结果应答
  192. MQTT_LOG_607 MqttCmdType = "607" // 故障录波召唤下行数据
  193. MQTT_LOG_608 MqttCmdType = "608" // 故障录波召唤应答上行数据
  194. MQTT_LOG_609 MqttCmdType = "609" // 故障录波文件上传结果
  195. MQTT_LOG_610 MqttCmdType = "610" // 故障录波文件上传结果应答
  196. MQTT_LOG_611 MqttCmdType = "611" // 模块日志召唤
  197. MQTT_LOG_612 MqttCmdType = "612" // 模块日志召唤应答
  198. MQTT_LOG_613 MqttCmdType = "613" // 模块日志文件上传结果
  199. MQTT_LOG_614 MqttCmdType = "614" // 模块日志文件上传结果应答
  200. MQTT_LOG_701 MqttCmdType = "701" // 设备数据主动上传通知上行数据
  201. MQTT_LOG_702 MqttCmdType = "702" // 应答设备数据补传下行数据
  202. MQTT_LOG_703 MqttCmdType = "703" // 设备数据主动上传通知上行数据
  203. MQTT_LOG_704 MqttCmdType = "704" // 应答设备数据补传下行数据
  204. MQTT_LOG_705 MqttCmdType = "705" // 设备数据主动上传通知下行数据
  205. MQTT_LOG_706 MqttCmdType = "706" // 应答设备数据补传下行数据
  206. MQTT_LOG_801 MqttCmdType = "801" // sunnova数据周期上传
  207. MQTT_LOG_802 MqttCmdType = "802" // sunnova数据主动上传使能按钮
  208. MQTT_LOG_803 MqttCmdType = "803" // 应答sunnova数据设置查询
  209. )
  210. type MqttLogItem struct {
  211. CmdType string `json:"cmdType"`
  212. CmdName string `json:"cmdName"`
  213. GatewayId string `json:"gatewayId"` // SN
  214. GatewayType *string `json:"gatewayType"`
  215. GatewayStatus *string `json:"gatewayStatus"`
  216. ActiveStatus *string `json:"activeStatus"` // 激活状态
  217. LogData string `json:"logData"` // JSON数据
  218. LogTime string `json:"logTime"` // 设备时间
  219. Time string `json:"time"` // UTC时间
  220. }
  221. /********* LogData struct 定义 *********/
  222. type MqttLogContent[T any] struct {
  223. CmdType int `json:"cmdType"` // 日志类型 MqttCmdType
  224. EquipNo string `json:"equipNo"` // SN
  225. Type int `json:"type"` // 设备类型 0-设备网关IBG
  226. TimeStamp int64 `json:"timeStamp"`
  227. DataArea T `json:"dataArea"` // 业务数据
  228. }
  229. // MQTT_LOG_0
  230. type MqttLogType_0 struct {
  231. Lwt string `json:"lwt"` // 遗愿 "Lost Connect!"
  232. }
  233. // MQTT_LOG_101
  234. type MqttLogType_101 struct {
  235. IBG_SN string `json:"IBG_SN"` // SN
  236. DeviceType int `json:"deviceType"` // 设备类型 0-设备网关IBG
  237. TimeStamp int64 `json:"timeStamp"`
  238. ProtocolVer string `json:"protocolVer"` // MQTT协议版本
  239. SysHdVersion int `json:"SysHdVersion"` // 系统硬件版本 100 = 1.0
  240. }
  241. // MQTT_LOG_201
  242. type MqttLogType_201 struct {
  243. ReportType int `json:"report_type"` // 上报类型 0-周期 1-召唤 2-事件变化
  244. Mode int `json:"mode"` // EMS当前工作模式 0-初始状态 2-自发自用 3-TOU(平衡) 4-TOU(经济) 5-并网状态下的仅备电状态 6-风暴等待模式 7-离网,电池备电中 8-离网,发电机备电中 9-VPP调度 10-紧急停止(EPO) 11-故障进入安全模式 13-调试 16-升级状态 25-apower手动关机 26-主动离网(Go Off-Grid NSC+ULG支持)27-v2L模式(ULG支持) 28-newhome模式 29-msa安装未完成 更多模式信息请查阅文档
  245. ModeName int `json:"name"` // 调度模式名称
  246. RunStatus int `json:"run_status"` // EMS当前运行状态 0-待机 1-充电 2-放电 3-故障
  247. SlaverState int `json:"slaver_stat"` // EMS_SLAVE当前运行状态 0-初始化 1-参数获取;2:监听;3:待机;4:市电并网运行;5:离网运行;6:油机并网运行 离网油机接入运行;7:故障
  248. GridState int `json:"elecnet_state"` // 市电网状态 0-正常 1-故障
  249. FhpSn []string `json:"fhpSn"` // FHP设备编号
  250. APowerStatus []int `json:"infi_status"` // FHP状态 0-正常 1-告警 2-故障 3-离线;4-关机 5-自检(apowerS支持)
  251. PeState []int `json:"pe_stat"` // PE当前运行状态 -1-离线 0-初始化 1-参数初始化 2-监听 3-待机 4-预充检测 5-预充 6-起机延时 7-逆变继电器吸合 8-运行 9-故障 注:老版本中10 表示离线;
  252. BmsState []int `json:"bms_work"` // BMS工作状态 0-停机 1-初始化 2-自检 3-待机 4-预充 5-运行 6-充电 7-放电 8-充电保护 9-放电保护 10-充放电保护 11-故障 12-异常充电准备 13-异常充电 14-异常充电停止 15-工装模式 16-补电模式 17-补电故障
  253. BmsHeatState []int `json:"bms_heat_state"` // 取值为0~15:Bit0 加热膜1状态,0:未使能;1:使能 Bit1 加热膜2状态,0:未使能;1:使能 Bit2 加热膜3状态,0:未使能;1:使能 Bit3 加热膜4状态,0:未使能;1:使能
  254. P_uti float32 `json:"p_uti"` // 市电供电功率 单位kW,供电为正(uti→home),馈电为负(home→uti)
  255. P_sun float32 `json:"p_sun"` // 太阳能发电功率 单位kW,供电为正(sun→home),无馈电
  256. P_gen float32 `json:"p_gen"` // 发电机发电功率 单位kW,供电为正(gen→home),无馈电
  257. P_fhp float32 `json:"p_fhp"` // FHP发电功率 单位kW,放电为正(fhp→home),充电为负(home→fhp)
  258. P_load float32 `json:"p_load"` // 负荷功率 单位kW,耗电为正(home)
  259. Kwh_uti_in float32 `json:"kwh_uti_in"` // 市电口输入电量 单位kWh,日统计电量,截止到当前时间点的电量,下同
  260. Kwh_uti_out float32 `json:"kwh_uti_out"` // 市电口输出电量 单位kWh,馈入电网电量
  261. Kwh_sun float32 `json:"kwh_sun"` // 太阳能供电电量 单位kWh
  262. Kwh_gen float32 `json:"kwh_gen"` // 发电机供电电量 单位kWh
  263. Kwh_fhp_di float32 `json:"kwh_fhp_di"` // FHP放电电量 单位kWh
  264. Kwh_fhp_chg float32 `json:"kwh_fhp_chg"` // FHP充电电量 单位kWh
  265. Kwh_load float32 `json:"kwh_load"` // 负荷用电量 单位kWh
  266. Soc float32 `json:"soc"` //系统SOC 单位%
  267. FhpSoc []float32 `json:"fhpSoc"` // FHP电池SOC 单位%
  268. FhpPower []float32 `json:"fhpPower"` // FHP有功功率 单位kw
  269. T_amb float32 `json:"t_amb"` // 环境温度 单位℃
  270. MainSwitchState [3]int `json:"main_sw"` // 主开关状态 a1-备电主开关 a2-发电机主开关 a3-光伏主开关 (0-开关断开 1-开关闭合)
  271. ProLoadState [3]int `json:"pro_load"` // 编程负载状态 0-断开 1-闭合
  272. DoState [4]int `json:"do"` // 干接点继电器输出状态 0-断开 1-闭合
  273. DiState [4]int `json:"di"` // 输入干接点状态 0-断开 1-闭合
  274. Signal_4G int `json:"signal"` // 4G信号强度
  275. Signal_WIFI int `json:"wifiSignal"` // wifi信号强度
  276. ConnType int `json:"connType"` // 网络连接方式 0-未接入网络 1-eth0 2-eth1 3-wifi 4-4G
  277. GenState int `json:"genStat"` // 发电机状态 0-不使能 1-停机 2-启动 3-运行 4-退出 5-故障 6-演习中
  278. RemoteSolarEn int `json:"remoteSolarEn"` // 远端光伏接入使能(接入数量) 0-不使能 1-使能数量1 2-使能数量2 (默认0)
  279. SolarPower int `json:"solarPower"` // 近端光伏功率 单位:0.1KW
  280. RemoteSolar1Power int `json:"remoteSolar1Power"` // 远端光伏1功率 单位:0.1KW 负载侧远端光伏1或市电侧远端光伏功率
  281. RemoteSolar2Power int `json:"remoteSolar2Power"` // 远端光伏2功率 负载侧远端光伏2单位:0.1KW
  282. BattHTemp float32 `json:"sinHTemp"` // 最高单体温度 单位:0.1℃
  283. BattLTemp float32 `json:"sinLTemp"` // 最低单体温度 单位:0.1℃
  284. BlackStartRelay *int `json:"blackStartRelay,omitempty"` // 黑启动继电器状态 0-断开 1-闭合
  285. GridPhaseConSet int `json:"gridPhaseConSet"` // 市电相制设置 00-split 01-单相三角形接法 02-三相三角形接法
  286. MpptAllPower *float32 `json:"mpptAllPower,omitempty"` // MPPT光伏总功率 单位KW
  287. MpptActPower *[]float32 `json:"mpptActPower,omitempty"` // MPPT光伏有功功率 单位KW
  288. MpptSta *[]int `json:"mpptSta"` // MPPT工作状态 0-初始状态 1-升级状态 2-待机状态 3-启机状态 4-运行状态 5-故障状态 6-自检状态 7~13-预留 14-离线 15-休眠
  289. }
  290. // MQTT_LOG_357
  291. type MqttLogType_357 struct {
  292. Opt int `json:"opt"` // 操作类型 1-增加/编辑 2-删除 3-修改当前工作序列
  293. Sn string `json:"sn"`
  294. Data *ScheduleData `json:"data,omitempty"` // opt=1时存在,更新的工作策略表
  295. Id []int `json:"id,omitempty"` // opt=2时存在,删除的ID,不允许删除当前使用的工作序列
  296. CurrentId *int `json:"current_id,omitempty"` // opt=3时存在,模式策略切换
  297. }
  298. type ScheduleData struct {
  299. Name string `json:"name"` // 参数表名称 可选,默认空字符串,自发自用或者TOU等
  300. ID uint `json:"id"` // 参数表ID 唯一标识此工作序列(ID从128后开始)【后台生成】
  301. StartTime string `json:"startTime"` // 模式开始时间 eg.2024-03-05 13:41:00 设备时区
  302. Duration int `json:"duration"` // 模式持续时间 单位秒,默认0,表示持续运行不退出
  303. IntervalTime int `json:"intervalTime"` // 间隔时间 单位秒,默认0,无间隔
  304. StartEvent int `json:"startEvent"` // 模式开始事件 事件ID,默认0,表示无此事件
  305. EndEvent int `json:"endEvent"` // 模式结束事件 事件ID,默认0,表示无此事件
  306. NextMode int `json:"nextmode"` // 模式退出后要执行的模式ID 默认为2,系统预留的自发自用
  307. ElectricityType int `json:"electricity_type"` // 电费类型 1:分时电价;2:阶梯电价;3:固定电价;4:分时&阶梯 5:BB套餐;6:peak demand
  308. SchedulingType int `json:"scheduling_type"` // 调度类型 work_mode 工作模式 1:tou 2: 自发自用 3:仅备电
  309. ReservedSoc uint `json:"reserved_soc"` // 备电预留SOC 备电预留SOC,可选,默认20%,与策略表项中的min_discharge_soc相比,取较大值
  310. Loop int `json:"loop"` // 模式执行次数 0:不限执行次数 1:执行一次,可选,默认0
  311. Priority int `json:"priority"` // 优先级 模式优先级,可选,默认为0,与TOU、自发自用一样具有相同优先级;0 优先级最低,数字越大优先级越高
  312. Env uint `json:"env"` // 使用环境 模式使用条件,可选,默认为0。bit0~1:00,不涉及,01,未安装光伏,10,已安装光伏; bit2~bit3:00,不涉及,01,不允许馈网,10,允许馈网,其他预留
  313. List []ScheduleSection `json:"list"` // 策略表
  314. YearStrategy []int `json:"yearStra"` // 年策略表方案 [1,1,1......],共366个点,表示1年366天,数值代表策略ID
  315. }
  316. type ScheduleSection struct {
  317. ID int `json:"id"` // 策略ID
  318. Season string `json:"season"` // 季节 eg.summer
  319. DayType string `json:"dayType"` // 日类型 weekdays or weekends
  320. List []ScheduleTimeSection `json:"list"` // 时间段数据
  321. }
  322. type ScheduleTimeSection struct {
  323. StartTime string `json:"start_time"` // 开始时间 06:30
  324. EndTime string `json:"end_time"` // 结束时间 07:30
  325. Flag int `json:"flag"` // 峰平谷 0-谷 1-平 2-峰 3-尖峰 4-低谷
  326. Name string `json:"name"` // 名称 eg.On-Peak
  327. Describe string `json:"describe"` // 描述 eg.光伏优先供载
  328. SolarPriority *[3]uint `json:"solar_priority,omitempty"` // 光伏电能优先级 [0]-市电, [1]-负载, [2]-FHP;优先级为0/1/2/3,可相同,若相同则表明需要按比例或者功率分配,0为不涉及,数字越大优先级越高
  329. GridDischargeMax *int `json:"grid_discharge_max,omitempty"` // 电池最大允许馈网功率 可选,默认不能馈网;0:不可馈网,-1:不限制
  330. GridChargeMax *int `json:"grid_charge_max,omitempty"` // 电网允许最大充电功率 可选,默认不允许;0:不允许,-1:不限制
  331. GCAO_max *int `json:"GCAO_max,omitempty"` // 低于预留SOC电网充电使能 可选;0:不允许,-1:不限制;默认未设置(-3);如果使能之后没有设置值,则为2.5kw*N(用-2标识)
  332. ChargePower *int `json:"charge_power,omitempty"` // 可选,按单台功率计算,默认未设置-1
  333. DischargePower *int `json:"discharge_power,omitempty"` // 电池放电功率 可选,按单台功率计算,默认未设置-1
  334. ChargeMax *int `json:"charge_max,omitempty"` // 电池最大允许充电功率 可选,按单台功率计算,-1:无限制,默认-1
  335. DischargeMax *int `json:"discharge_max,omitempty"` // 电池最大允许放电功率 可选,电池需要放电时可设置,按单台功率计算,-1:无限制,默认-1
  336. LoadPriority *[3]uint `json:"load_priority,omitempty"` // 负载用电优先级 可选,[0]-市电, [1]-光伏, [2]-FHP;优先级为0/1/2/3,可相同,若相同则表明需要按比例或者功率分配,0为不涉及,数字越大优先级
  337. GridFeedMax *int `json:"grid_feed_max,omitempty"` // 电网允许最大馈网功率 0:不允许,-1:不限制,-2:未设置,可选,默认-2(aPbox功率算在这里吗?不算)
  338. GridMax *int `json:"grid_max,omitempty"` // 电网允许最大取电功率 0-不允许,-1-不限制,可选,默认不限制
  339. MinDischargeSoc *int `json:"min_discharge_soc,omitempty"` // 放电截止SOC 预留SOC,供停电后使用,可选,默认20%
  340. MaxChargeSoc *int `json:"max_charge_soc,omitempty"` // 充电截止SOC 预留SOC,供停电后使用,可选,默认100%
  341. HeatEnable *int `json:"heat_enable,omitempty"` // 充电加热使能 0-未设置(默认) 1-不使能 2-使能
  342. RampTime *int `json:"ramp_time,omitempty"` // 爬坡时间 0~300,默认值0,BB套餐默认300
  343. PowerOffAPower *[]int `json:"poweroff_apower,omitempty"` // 主动关闭APower 0-不控制(默认) 1-断开 2-闭合
  344. OffGrid *int `json:"off_grid,omitempty"` // 主动断开市电继电器 0-不控制(默认) 1-断开 2-闭合
  345. SolarCutoff *int `json:"solar_cutoff,omitempty"` // 主动断开光伏继电器 0-不控制(默认) 1-断开 2-闭合
  346. SchedulingType int `json:"scheduling_type"` // 调度类型 1-TOU 2-自发自用 3-仅备电
  347. }