MyEMS开源能源管理系统核心代码解读016

简介: MyEMS开源能源管理系统适用于建筑、工厂等场景,支持电、水、气等能源数据采集与分析,具备光伏、储能、充电桩等功能。其计量表能耗成本计算脚本(meter_billing.py)通过连接多个数据库,获取电表数据、电价信息,计算能耗成本并保存结果,实现自动化能源计费。官网:<https://myems.io>,社区版下载:<https://gitee.com/myems/myems>。

MyEMS开源能源管理系统适用于建筑、工厂、商场、医院、园区的电、水、气等能源数据采集、分析、报表,还有光伏、储能、充电桩、微电网、设备控制、故障诊断、工单管理、人工智能优化等可选功能。资深专业团队开发维护,保障长期支持。用开源助力企业集团、产业园区、能源运营商低碳发展!

官网 :https://myems.io

MyEMS开源社区版下载:https://gitee.com/myems/myems

本期解读:
计量表能耗成本计算方法:myems/myems-aggregation/meter_billing.py
源代码链接:https://gitee.com/myems/myems/blob/master/myems-aggregation/meter_billing.py?sessionid=365949650
这段代码是一个用于计算和记录计量表能耗成本的Python脚本。它通过以下步骤执行:
1.连接数据库: 首先,脚本尝试连接到三个MySQL数据库:系统数据库、能源数据库和计费数据库。如果连接失败,它会记录错误并等待60秒后重试。

2.获取所有电表: 从系统数据库中获取所有计量表的列表,包括它们的ID、名称、能源类别ID和成本中心ID。

3.对每个电表进行处理:

  • 获取最新的开始日期时间: 对于列表中的每个计量表,查询计费数据库以找到该计量表的最新计费开始时间。
  • 获取自最新开始日期时间以来的所有能源数据: 从能源数据库中获取该计量表自最新计费开始时间以来的所有能源使用数据。
  • 获取电价: 根据计量表的能源类别和成本中心,从价格模块获取相应的价格信息。
  • 计算计费: 将获取的能源数据与价格相乘,计算出每个时间段的计费金额。
  • 保存计费数据: 将计算出的计费数据保存回计费数据库。

4.循环执行: 脚本在一个无限循环中运行,每完成一轮所有计量表的处理后,会暂停300秒,然后继续下一轮处理。

这个脚本使用了多个Python模块,包括time、datetime、decimal、mysql.connector,以及自定义的config和tariff模块。config模块可能包含数据库连接信息和其他配置,而tariff模块则负责处理与价格相关的逻辑。
整体上,这个脚本是自动化能源计费过程的核心部分,它定期从能源数据库中提取数据,计算能耗成本,并将结果存储回数据库,以便进一步的分析和报告。

相关文章
|
NoSQL 关系型数据库 MySQL
泛微Ecology9+Emobile7部署
泛微OA的平台化,相比之下,的确是很不错,为方便公司内部考勤,加班审批,报销等流程,这边采用泛微的E9
6245 0
泛微Ecology9+Emobile7部署
|
8月前
|
数据采集 前端开发 JavaScript
Scrapy结合Selenium实现搜索点击爬虫的最佳实践
Scrapy结合Selenium实现搜索点击爬虫的最佳实践
|
8月前
|
存储 人工智能 监控
一键部署 Dify + MCP Server,高效开发 AI 智能体应用
本文将着重介绍如何通过 SAE 快速搭建 Dify AI 研发平台,依托 Serverless 架构提供全托管、免运维的解决方案,高效开发 AI 智能体应用。
6310 64
|
10月前
|
存储 Linux
Centos 8 磁盘扩展xfs文件系统 (LVM)
│ ├── 注意事项 │ ├── 备份数据 │ ├── 检查磁盘状态 │ └── 确认设备名称 │ └── 总结 ```
529 14
|
12月前
|
安全 小程序 数据建模
SSL证书概述、类型、价格、作用及应用等10大常见问题解答
在互联网+时代,随着数字化进程加速,网络威胁日益严峻。SSL证书作为遵循SSL协议的数字证书,能实现HTTPS加密,验证网站服务器身份,确保数据传输安全性和完整性,有效防范中间人攻击和钓鱼网站。本文将介绍关于SSL证书的10大常见问题,帮助您更好地了解和使用SSL证书,确保网站安全。
|
12月前
|
运维 监控 安全
CentOS 7系统 OpenSSH和OpenSSL版本升级指南
本文详细介绍如何在CentOS 7系统上升级OpenSSH和OpenSSL至最新稳定版本(OpenSSH 9.6p1和OpenSSL 1.1.1w),解决多个已知安全漏洞(如CVE-2023-51767等)。涵盖环境说明、现存漏洞、升级准备、具体步骤及故障排查,确保服务器安全。建议先在测试环境验证,再应用于生产环境。
3694 7
|
数据采集 中间件 调度
Scrapy 爬虫框架的基本使用
Scrapy 爬虫框架的基本使用
477 3
|
XML Java Maven
WebService客户端调用的5种常见方式
本文介绍了在Java中创建和调用WebService的方法,包括服务端的搭建、配置类的添加以及客户端的多种调用方式(如使用JDK原生代码、wsimport命令、动态调用、代理工厂及HttpClient)。文中详细展示了每种方法的实现步骤和示例代码,强调了服务端与客户端参数实体类字段的兼容性,并推荐使用代理工厂方式进行调用。
2906 0
WebService客户端调用的5种常见方式
|
缓存 Java 应用服务中间件
在Linux中,Tomcat和Resin有什么区别,工作中怎么选择?
在Linux中,Tomcat和Resin有什么区别,工作中怎么选择?