MyEMS开源能源管理系统适用于建筑、工厂、商场、医院、园区的电、水、气等能源数据采集、分析、报表,还有光伏、储能、充电桩、微电网、设备控制、故障诊断、工单管理、人工智能优化等可选功能。资深专业团队开发维护,保障长期支持。用开源助力企业集团、产业园区、能源运营商低碳发展!
官网 :https://myems.io
MyEMS开源社区版下载:https://gitee.com/myems/myems
本期解读:
空间能源成本数据汇总计算方法:myems-aggregation/space_billing_input_category.py
源代码链接:https://gitee.com/myems/myems/blob/master/myems-aggregation/space_billing_input_category.py?sessionid=517571094
这段代码是一个用于计算和保存能源消耗计费信息的Python脚本。它通过连接到三个不同的数据库(系统数据库、能源数据库和计费数据库)来执行其功能。以下是对代码的概括性总结和详细解析:
概括性总结
1.连接数据库: 脚本首先连接到系统数据库、能源数据库和计费数据库。
2.获取空间列表: 从系统数据库中获取所有空间的列表。
3.遍历每个空间: 对于列表中的每个空间,执行以下步骤:
- 获取该空间的最新计费开始时间。
- 获取自该时间以来的所有能源输入数据。
- 获取相应的能源类别的电价。
- 根据能源消耗和电价计算计费。
- 将计费数据保存到计费数据库。
4.循环执行: 整个过程在一个无限循环中执行,每300秒休眠一次。
详细解析
1.连接数据库: 使用mysql.connector连接到三个数据库,并创建相应的游标。
2.获取空间列表:
- 从系统数据库中查询所有空间。
- 如果没有空间或发生错误,则记录错误并休眠60秒后继续循环。
3.遍历每个空间:
- 对于每个空间,查询计费数据库以获取最新的计费开始时间。
- 查询能源数据库以获取自该时间以来的能源输入数据。
- 获取每个能源类别的电价。
- 计算每个能源类别的计费。
-将计费数据插入计费数据库。
4.错误处理: 在每个步骤中,如果遇到异常,则记录错误信息,关闭数据库连接,并休眠60秒后继续循环。
5.休眠和继续: 在完成所有空间的处理后,脚本休眠300秒,然后继续下一个循环。