问题标签 [solar]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
570 浏览

modbus - 使用 pymodbus 从 Epever uPower 充电器/逆变器读取 modbus 寄存器

我在从 Epever uPower 太阳能充电器/逆变器读取 modbus 寄存器时遇到问题。我正在使用在 Raspberry Pi 上运行的 pymodbus 库,通过 USB 到 RS485 电缆进行通信。我知道硬件和电缆工作正常,因为我可以在 Windows 笔记本电脑上获取数据。它似乎也适用于 PI,因为当我在下面的代码中选择不同的单元 ID 时,我收到连接错误。

有许多从 Epever 设备读取寄存器的有据可查的示例,以下代码似乎适用于大多数设备,但我无法让它适用于较新的 uPower 设备:

调试日志显示以下内容:

感激地收到任何帮助或指点。如果我能理解代码收到 RECV 的响应,可能会有所帮助:0xa 0x84 0x2 0xb3 0x3

无论哪种方式,它似乎都没有任何寄存器....

0 投票
1 回答
218 浏览

python - PVLib 预测未针对时区进行调整

背景

我正在尝试使用 PVLib 对太阳能进行预测。我已按照ReadTheDocs页面上的所有说明进行操作,并且能够毫无问题地运行查询并生成输出。

问题

我已指定时区“澳大利亚/昆士兰”(+10),但是当我查看预测数据的导出时,似乎 GFS 数据并未针对时区进行调整。原始数据导出中的 Air-Temp 和短波通量字段似乎仍采用 UTC 时间。

即使我运行“process_data”类,空气温度似乎仍然不正确。计算的辐照度字段(ghi、dni、dhi)似乎与时区正确对齐,但是由于这些是基于云量和太阳位置的计算字段,我不知道它们是否真的使用了正确的输入。

请求帮助

有谁知道可能是什么问题?我是否忽略了某些事情,这是 PVLib 中的错误,还是我需要在运行 process_data 类之前手动调整时区?如果有帮助,我在下面附上了我的代码。

0 投票
1 回答
231 浏览

pvlib - 太阳能光伏 - 如何将每日 GHI 转移到倾斜的表面?

我试图仅从每日 GHI 估算 PV 输出。

有没有办法将每日 GHI 转换为倾斜表面(即太阳能电池板)上的总辐射?或者我是否必须使用模型转换为每小时 GHI 值,然后计算光束和漫反射值等?

我正在使用的 GHI 数据在这里。( http://www.bom.gov.au/jsp/ncc/cdio/wData/wdata?p_nccObsCode=193&p_display_type=dailyDataFile&p_stn_num=056037&p_startYear= )

谢谢

0 投票
1 回答
68 浏览

pvlib - 导入天气数据时出现双面辐射错误

我一直收到错误消息:“错误!第 1 天太阳高度为 -19 < -6 度,Idh = 26 > 10 W/m^2 !Ibn 为 0。尝试继续”几乎所有天我尝试导入来自 Meteonorm 的 TMY 文件。这背后有什么原因吗?

另外,如果我们将“Mod Wanted”和“Row Wanted”参数留空,它会告诉所有模块的平均值吗?

0 投票
2 回答
144 浏览

api - 尝试使用 Google 表格连接到 Enphase 太阳能 API。无法让代码工作?

背景:我几乎没有任何编码知识,但我希望能够使用来自 Enphase 系统的太阳能输出数据来触发热水服务运行。我试图做到这一点的方法是将太阳能数据移动到谷歌表格中,当太阳能发电量足够高时,按下一个按钮。

我已经从另一个问题复制并更改了此代码,但我无法使其正常工作。我收到此错误:异常:https ://api.enphaseenergy.com 的请求失败返回代码 401。截断的服务器响应:{“reason”:“401”,“message”:[“未授权访问请求的资源。 ","未找到用户。"]}(使用 muteHttpExceptions 选项检查完整响应)。(第 10 行,文件“Enphase To Sheets”)。

我不知道从这里去哪里。任何想法我做错了什么?谢谢

代码:

0 投票
1 回答
56 浏览

r - 基于净辐射数据的阴天识别

如何根据净辐射的每日时间序列(在 FluxNet/AMERIFlux 站点计算)确定某一天是多云还是晴空?我在某处读到晴朗的天空辐射具有正弦特性。如果我们得到不同的行为,这意味着它是由云引起的。我不知道究竟如何解决这个问题?这是示例数据:https ://drive.google.com/file/d/1f1YfWgPbg3fxhFG1DTNH9Ex3lTDqLBZp/view?usp=sharing

0 投票
1 回答
98 浏览

pvlib - 将太阳能电池添加到 PVLIB 并对其进行建模

我是 Pvlib 的新手,几天前才开始。我们在大学里安装了四种不同的太阳能电池。我有四个单元的规格,包括 Isc、Voc、Vmpp、Impp 等。我想将这些单元添加到 PVlib 库中,然后对它们中的每一个进行进一步的建模。你能指导我如何进行吗?我只需要知道如何使用下面提到的每个太阳能电池的规格将它们与 pvlib 集成。在 cec 和sandia 数据库中,我们只有硅基太阳能电池。我会很感激你的帮助。

0 投票
0 回答
85 浏览

image-processing - 太阳能光伏阴影分析的国家开放激光雷达数据如何实现自动屋顶3d建模?

这是我的第一篇文章,

我正在尝试自动化安装太阳能光伏 (PV) 系统的屋顶分析过程。我不确定输入数据应该是什么,但我有以下几点:

我想创建一个具有平面(不是三角形不规则网络,(TIN))的屋顶的 3D 模型,以便能够在 3D 中可视化阴影。预期规模为市政规模。在激光雷达的这种分辨率下,一些屋顶部分(如栏杆)并不清晰,卫星图像可以帮助了解细节。

我一直在使用从 LiDAR 数据创建的 TIN 文件(我已经尝试过 CloudCompare 和 LAStools 来做到这一点),我还尝试过使用 RenderDoc 从 Google 地图中提取的 TIN 文件。然后,我在 Blender 中基于 TIN 创建了一个 3D 模型,以制作详细的屋顶。之后,我将模型导出为 Collada 文件 (.DAE) 并将其导入 Solarius PV 软件以研究阴影并自动将太阳能电池板放置在任何平面(倾斜或水平)上。

Solarius PV 软件可以导入多种文件类型,包括 BIM。Solarius PV 不能考虑 3D 局部阴影来计算产生的功率,但我希望将来会这样。

我有两个不同的想法要测试:

  1. 基于人工智能 (AI)(边缘检测?)创建屋顶的 3D 模型。
  2. 根据输入数据创建高度详细的屋顶数字高程模型 (DEM),并在 QGIS 中使用 GRASS GIS r.sun 工具。

我对人工智能一无所知,我还在学习 QGIS,我的领域是电气工程,但我在这部分工作流程中遇到了瓶颈。

我试图找到一个已经可以实现类似功能的软件,但我没有找到任何东西。我知道 ArcGIS 有一些 3D 工具,但我还没有查看它们的许可。我正在回顾文献,我发现这是目前一个重要的研究领域。

如果有人能把我引向正确的方向,我将不胜感激。

0 投票
0 回答
183 浏览

python - 尝试使用 PyModBus 通过 USB 读取没有任何可用文档的 Omnik 逆变器

我的太阳能电池板连接到 Omnik 逆变器 (5000tl2)。那家公司已经破产,可用的文档没有指定使用 USB 端口或逆变器本身的寄存器。

我正在尝试在不使用 wifi 模块的情况下读取逆变器上的数据。我将我的 Pi 2B+ 连接到 USB 端口,安装了 pymodbus 并尝试了这段代码(由 Fasthook 提供),它最初是为另一个品牌 (GROWATT) 设计的:

我还启动了 PyModBus 调试,它给了我:

  • 调试:pymodbus.transaction:当前事务状态 - 空闲
  • 调试:pymodbus.transaction:运行事务 1
  • 调试:pymodbus.transaction:发送:0x0 0x4 0x0 0x1 0x0 0x2c 0xa1 0xc6
  • DEBUG:pymodbus.client.sync:New Transaction state SENDING
  • DEBUG:pymodbus.transaction:将事务状态从发送更改为等待回复
  • 调试:pymodbus.transaction:交易失败。(Modbus 错误:[Invalid Message] 收到不完整的消息,预计至少 2 个字节(收到 0))
  • DEBUG:pymodbus.framer.rtu_framer:Frame - [b] 未准备好
  • 调试:pymodbus.transaction:获取事务 0
  • DEBUG:pymodbus.transaction:将事务状态从 PROCESSING REPLY 更改为 TRANSACTION_COMPLETE

此错误来自:rr = client.read_input_registers(1,44)

我的猜测是 GROWATT 的寄存器与 Omnik 不同。这并不奇怪 :) 因为我找不到关于 Omnik 本身的任何文档……我怎样才能为我的 Omnik 逆变器确定正确的代码?

非常感谢您对此的任何帮助!

巴特

0 投票
0 回答
118 浏览

python-3.x - Solarwinds API SSL 证书无法验证

根据这篇文章,我应该验证证书。

https://thwack.solarwinds.com/product-forums/the-orion-platform/f/orion-sdk/35763/ssl-certificate-verification-or-not

但是,当我生成证书时

并将 content: 放到 server.pem 的文件中。

并运行如下所示的测试脚本:

我收到以下错误:

TTPSConnectionPool(host='servername', port=17778): Max retries exceeded with url: /SolarWinds/InformationService/v3/Json/Query (Caused by SSLError(SSLError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:897)'),))

我的猜测是我没有正确的端口!但不是 100% 确定,请帮忙!

注意:我知道我可以绕过警告,但我想让证书正常工作!