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

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: MyEMS开源能源管理系统支持建筑、工厂等场景的电、水、气数据采集与分析,提供光伏、储能、充电桩等功能。其能耗数据清洗算法(clean_energy_value.py)通过连接数据库,识别并标记异常能源数据,确保数据质量。脚本检查超出阈值和凹形趋势的异常点,并更新数据库标记,支持循环执行与错误处理。官网:<https://myems.io>,社区版下载:<https://gitee.com/myems/myems>。

MyEMS开源能源管理系统适用于建筑、工厂、商场、医院、园区的电、水、气等能源数据采集、分析、报表,还有光伏、储能、充电桩、微电网、设备控制、故障诊断、工单管理、人工智能优化等可选功能。资深专业团队开发维护,保障长期支持。用开源助力企业集团、产业园区、能源运营商低碳发展!
官网: https://myems.io
MyEMS开源社区版下载: https://gitee.com/myems/myems
往期解读:https://blog.csdn.net/zgy5004/article/details/147954491?spm=1011.2415.3001.5331

本期解读:

能耗数据清洗算法:myems/myemscleaning/clean_energy_value.py

  • 代码见底部截图

这段代码是一个用于清洁和标记能源数据质量的Python脚本,主要用于处理能源值数据,识别并标记出异常或“坏”的数据点。以下是对代码的概括性总结和详细解析:

总结

1.连接数据库: 脚本首先尝试连接到历史数据数据库。
2.确定处理时间范围: 确定需要清洁数据的时间范围。
3.识别异常数据:

  • 步骤2: 检查两类异常数据。第一类是超出高低限的数据点;第二类是形状为凹形的数据序列。
  • 步骤3: 对凹形数据进行更详细的检查,识别不符合正常趋势的数据点。

4.标记异常数据: 将识别为异常的数据点的is_bad属性标记为1。

5.重置未检查的数据: 将未检查的数据点的is_bad属性重置为0。

6.休眠与重试: 处理完毕后休眠一段时间后继续执行。

详细解读

1.数据库连接: 使用mysql.connector连接到MySQL数据库,处理任何连接错误。
2.确定时间范围:

  • 从数据库中查询最后一个已检查(is_bad非空)和未检查(is_bad为空)的数据点的时间,以确定需要清洁的时间范围。
  • 如果所有数据点都已检查,则从配置的起始日期时间开始。

3.异常数据检查: 检查两类异常数据。第一类是超出高低限的数据点;第二类是形状为凹形的数据序列。

  • 步骤2: 检查两类异常数据。第一类是超出高低限的数据点;第二类是形状为凹形的数据序列。
  • 步骤3: 对凹形数据进行更详细的检查,识别不符合正常趋势的数据点。

4.更新数据库

  • 将识别为异常的数据点的is_bad属性更新为1。
  • 对于那些在处理时间范围内未被检查的数据点,将它们的is_bad属性重置为0。

5.错误处理和日志记录: 在每一步骤中,如果遇到异常,记录错误信息,并在休眠后重试。
6.循环执行: 脚本在完成一次清洁操作后休眠一段时间(例如15分钟),然后重新开始,确保持续监控和清洁数据。

注意事项

  • 脚本使用配置文件(config模块)来获取数据库连接信息和其他设置。
  • 异常检测逻辑依赖于特定的业务规则和数据特性,可能需要根据实际情况调整。
  • 数据库操作包括读取数据点、更新数据点的状态等,需要确保数据库性能可以支持这些操作。
  • 错误处理和日志记录对于监控脚本状态和调试非常重要。
  • 脚本在每次运行结束后休眠,这是为了避免过度频繁地查询数据库,同时允许新数据积累到一定量后再进行处理。

image.png

相关文章
|
Java 程序员 Apache
编程语言比拼之Java VS C++
Java和C++都是非常受欢迎的编程语言,各有各的优势和适用场景。以下是对它们的简要比较:
735 0
[simulink] --- simulink模块(二)
[simulink] --- simulink模块(二)
3330 0
|
关系型数据库 MySQL 数据库
MyEMS开源系统安装之数据库
本文详细讲解MyEMS的安装步骤,重点介绍数据库架构与脚本部署。MyEMS支持MySQL 8.0、MariaDB 10.5及SingleStore 7.0等数据库服务器。通过命令行或客户端工具执行SQL脚本完成安装,包括多个数据库(如myems_billing_db、myems_energy_db等)。此外,提供解决常见问题的方法,如“用户拒绝访问”、“COLLATE设置”和“MAX_ALLOWED_PACKET错误”。注意,不建议在生产环境中将数据库安装于Docker容器内。
381 1
|
4月前
|
人工智能 供应链 安全
国家互联网应急中心通报:OpenClaw存在致命漏洞,90%实例可被直接攻击
国家网信办通报OpenClaw存在严重安全风险:默认暴露公网、90%实例可被直接攻击。该AI智能体框架存在架构缺陷、258个历史漏洞、插件投毒、权限失控等五大系统性风险,含多个高危RCE漏洞。建议立即升级至2026.3.11+版本,禁用默认配置,严审插件,最小权限运行。
|
7月前
|
JSON API PHP
免费天气预报API接口详解
天气预报1-7天API接口,由中国气象局官方数据支持,提供全国范围内的精准天气预报。支持查询温度、天气状况、风力风向、湿度、气压等多维度信息,具备时段预报与天气预警功能。通过RESTful API调用,返回JSON格式数据,适用于出行、农业、智能家居等多种应用场景。
4339 4
|
负载均衡 应用服务中间件 nginx
如何使用nginx实现负载均衡?
如何使用nginx实现负载均衡?
|
机器学习/深度学习 运维 监控
智能化运维:从被动响应到主动预防的转型之路####
本文深入探讨了智能化运维(AIOps)如何引领信息技术管理从传统的被动响应模式向主动预防机制转变,强调了大数据、人工智能算法与机器学习技术在提升系统稳定性和效率中的关键作用。通过分析智能化运维的核心价值、实施策略及面临的挑战,本文为读者揭示了一个更加智能、高效且灵活的IT运维未来蓝图。 ####
|
人工智能 人机交互 语音技术
让大模型能听会说,国内机构开源全球首个端到端语音对话模型Mini-Omni
【10月更文挑战第2天】国内研究机构提出的Mini-Omni是一个端到端的音频对话模型,实现了实时语音交互,标志着全球首个开源的端到端语音对话模型。通过文本引导的语音生成方法和批处理并行策略,Mini-Omni在保持语言能力的同时,实现了流畅的语音输出。研究团队还引入了VoiceAssistant-400K数据集进行微调,提升了模型性能。尽管如此,Mini_Omni在语音质量、计算资源需求及伦理监管方面仍面临挑战。论文详见:[链接]。
942 3
|
网络安全 Windows 容器
5-16|OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
5-16|OSError: [WinError 193] %1 不是有效的 Win32 应用程序。