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

简介: 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

目录
打赏
0
13
13
0
27
分享
相关文章
MyEMS开源能源管理系统开发工具
MyEMS 是一款基于 ISO 50001 标准的开源能源管理系统,支持建筑、工厂等场景的电、水、气等能源数据采集与分析,提供光伏、储能、微电网、AI 优化等功能。系统采用开源工具开发,包括 PyCharm、VS Code、Docker、Ubuntu 等,并搭配 MySQL 数据库及 DBeaver 客户端,助力企业实现低碳发展。社区版完全免费,适合开发者学习和部署。下载地址:[https://gitee.com/myems/myems](./https://gitee.com/myems/myems)。
130 32
MyEMS简介
MyEMS是一款领先的开源能源管理系统,基于云计算、物联网、大数据和人工智能技术构建,提供统一且功能强大的综合能源管理服务。系统由资深团队开发维护,支持多种协议(如Modbus TCP、BACnet/IP、MQTT)和多平台部署(如Docker、Kubernetes、各大云平台)。社区版功能全面,涵盖数据分析、设备管理、能耗监测等,适合各类用户需求。企业版则提供更多高级功能,如节能分析、远程控制和多协议支持。代码遵循MIT协议开源,支持品牌定制,适用于免费及商业应用场景。
162 2
LangChain脚本如何调度及提效?
本文介绍了通过任务调度系统SchedulerX管理LangChain脚本的方法。LangChain是开源的大模型开发框架,支持快速构建AI应用,而SchedulerX可托管AI任务,提供脚本版本管理、定时调度、资源优化等功能。文章重点讲解了脚本管理和调度、Prompt管理、资源利用率提升、限流控制、失败重试、依赖编排及企业级可观测性等内容。同时展望了AI任务调度的未来需求,如模型Failover、Tokens限流等,并提供了相关参考链接。
231 29
LangChain脚本如何调度及提效?
MyEMS 开源能源管理系统及重点用能单位能耗在线监测系统架构解析
MyEMS 是基于 Python 的开源能源管理系统,支持电、水、气等多品类能源数据的实时采集与智能分析。系统具备设备管理、能耗预测、故障诊断及AI优化控制能力,适用于工厂、建筑、数据中心等场景。采用三级架构,兼容多种通信协议,支持数据加密传输与远程运维,助力企业实现能源数字化管理与节能降耗目标。
65 0
浅入浅出——生成式 AI
团队做 AI 助理,而我之前除了使用一些 AI 类产品,并没有大模型相关的积累。故先补齐一些基本概念,避免和团队同学沟通起来一头雾水。这篇文章是学习李宏毅老师《生成式 AI 导论》的学习笔记。
276 27
浅入浅出——生成式 AI
Higress MCP Server 安全再升级:API 认证为 AI 连接保驾护航
Higress MCP Server 新增了 API 认证功能,为 AI 连接提供安全保障。主要更新包括:1) 客户端到 MCP Server 的认证,支持 Key Auth、JWT Auth 和 OAuth2;2) MCP Server 到后端 API 的认证,增强第二阶段的安全性。新增功能如可重用认证方案、工具特定后端认证、透明凭证透传及灵活凭证管理,确保安全集成更多后端服务。通过 openapi-to-mcp 工具简化配置,减少手动工作量。企业版提供更高可用性保障,详情参见文档链接。
446 42
回归开源,两位 Java 和 Go 程序员分享的开源贡献指引
Higress是一个基于Istio和Envoy的云原生API网关,支持AI功能扩展。它通过Go/Rust/JS编写的Wasm插件提供可扩展架构,并包含Node和Java的console模块。Higress起源于阿里巴巴,解决了Tengine配置重载及gRPC/Dubbo负载均衡问题,现已成为阿里云API网关的基础。本文介绍Higress的基本架构、功能(如AI网关、API管理、Ingress流量网关等)、部署方式以及如何参与开源贡献。此外,还提供了有效的开源贡献指南和社区交流信息。
394 33
破茧成蝶:阿里云应用服务器让传统 J2EE 应用无缝升级 AI 原生时代
本文详细介绍了阿里云应用服务器如何助力传统J2EE应用实现智能化升级。文章分为三部分:第一部分阐述了传统J2EE应用在智能化转型中的痛点,如协议鸿沟、资源冲突和观测失明;第二部分展示了阿里云应用服务器的解决方案,包括兼容传统EJB容器与微服务架构、支持大模型即插即用及全景可观测性;第三部分则通过具体步骤说明如何基于EDAS开启J2EE应用的智能化进程,确保十年代码无需重写,轻松实现智能化跃迁。
318 41
基于Scrapy-Redis的分布式景点数据爬取与热力图生成
基于Scrapy-Redis的分布式景点数据爬取与热力图生成
236 67
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问