O.P.
hi
我正在寻找解决方案来从我的Solax Power模型中删除数据:SL-TL 5000T。 它曾经通过SolarManPV工作,但是该应用程序不再起作用。 在配置现有Solax Cloud时,我在注册时会获得无效的序列号。 到目前为止,它已经为我提供了证明错误的其他模型的信息。 例如,以后模型上的默认IP已更改。我问过有关固件并听到板球的问题。 似乎我没有流程图,技术支持已经向他的高年级学生永不回来。 同时,我也变得不舒服,这是向CCP服务器喂养的数据的潜在安全问题,并且必须考虑到将来的中国云在政府的政治论据中可能被阻止。
该单元否则可以使用,我可以在LAN上使用静态IP,而无需访问问题。 几乎没有信心解决这个问题,我几乎正只是用另一个品牌代替反过来的,这样我就可以监视正在创建的太阳能。
所以问题。 是否有通用的云解决方案或本地硬件(当前监视器)设备来吸入数据?
有没有一种方法可以直接读取输出?
监视从每个输入和输出带有设备进行日志结果独立记录的电流? Modbus/TCP,因此,如果您在LAN上将其拿到,那么您很有可能会使用它。 您需要编写一个Modbus文件以使其备受抗性,但这似乎并不难。 Since you're just reading, you can't do any real harm.
If you don't want HomeAssistant (i.e. only want to monitor and don't need the rest), you could just use InfluxDB and Telegraf: https://www.influxdata.com/bl
The Python script found here suggests Modbus/TCP is there (port 502 is Modbus/TCP), with registers listed below in the code: https://github.com/InfernoEmb
At the same time I also am becoming uncomfortable regards potential security issues of data being fed to CCP服务器,必须考虑到将来的政府政治论点可能会阻止中国云。
在静态IP上给它一个不好的路由器IP,因此它无法进入互联网。
评论
当您浏览IP时,您可以求助于当地的网络界面吗?所有型号。
另一个选择是诸如Shellyem。
之类的CT夹具?
这篇文章是在此处编辑的。 I had the same problem of not being able to effectively monitor my old Solax SL-TL 5000T as well.
I wrote a python script some time ago which scrapes the data from the portal and returns the data in JSON format.
https://github.com/gl
Recently set up Home Assistant, and由于我找不到任何其他解决方案,因此我对其进行了重新设计以使其与家庭助理和“ pyscript”集成兼容,这使得从中制作出一个不错的仪表板非常容易。
希望这对遇到此线程的任何人都有帮助。
(对dopgy for dopgy for gotgy for gotgy for for the pre>
/config
#/configaiohttp
导入json
导入日期时间
从datetime import import timedelta#configuration
device_url ='http:///192.168.2.119/js/status.js.js.js'
device_user = 90
request_timeout_seconds = 15def is_dayTime():
sun_state = state.get(“ sun.sun”)
log.debug(f“ f” sun.sun as {sun_state}}属于_horizon。”)
返回true
elif sun_state ==“下面_horizon”:
log.debug(“ solar_monitor:sun.monitor:sun.sun po to yhor_horizon。”)
返回false false false false
else:ell> log.warning(f log.warning) ”)
返回false
异常为e:
log.Error(f“ solar_monitor:错误检查sun态:{e}”,exc_info = true) device_password)
timeout = aiohttp.clienttimeout(tocult = request_timeout_seconds)aiohttp.clientsession(auth = auth = auth,timeout = timeout)作为session:
log.debug(f“ f” solar_monitor:尝试从{device_url} ...”中使用aiohttp获取数据,
session.get.get.get(devict_url)作为响应:
warmys.raise_for_for_status() log.debug(“ solar_monitor:成功获取数据,现在解析。”)
js_code_array = page_text.split(“;”)
string_to_find ='mydevicearray [0] item.startswith(string_to_find):
raw_solar_data_line = item
break
如果不是raw_solar_data_line:
log. log.error(“ solar_monitor:“ solar_monitor:nonejs。 '').replace('“'',').split(',')
如果len(raw_solar_data)<10:
log..error(f“ solar_monitor:raw solar data:raw solar data太短(length)太短(length {len(raw_solar_data)} {
“ FnerterSerialNumber”:RAW_SOLAR_DATA [0] .STRIP(),
“ CurrestPower”:float(raw_solar_data [5]) / 1000 /1000,
“ farvedtoday”:float(raw_solar_data [raw_solar_data [6]) “ lastupdatedMinutes”:raw_solar_data [9] .strip()
}
返回solar_data
除了aiohttp.clientresponseerror作为e:#httpponseerror作为e:#http errors,例如401、404、404、500 log.err> log.Error(solar_error(feth feth fet for) {e.message} from {DEVICE_URL}")
return None
except aiohttp.ClientError as e: # Catches other client errors (connection, timeout, etc.)
log.error(f"Solar_monitor: Client error fetching data: {e} from {DEVICE_URL}")
return None
except (IndexError, ValueError) as e:
log.error(f“ solar_monitor:错误解析太阳能数据:{e}。原始数据行(如果发现):'{raw_solar_data_line if'raw_solar_data_line if local_solar_data_line'locals()else''}'}'}'}''}''}''}''}''}' fetch_and_parse_solar_data:{e}“,exc_info = true)
none none@time_trigger(f“ ertige(现在,{update_interval_seconds} s)”)触发 - 获取太阳能数据...”)
数据=等待fetch_and_parse_solar_data()
如果数据:
log.debug(f“ solar_monitor:solar_monitor:data fetched:{data}”)不是没有:
#--- - 根据几分钟计算最后更新的时间戳---
last_updated_minutes = data.get(“ lastupdedminutes”)
last_updated_timestamp = none
none
last_updated_minutes none
none:
try: dateTime.dateTime.now() - timeDELTA(分钟= mines_ago)
last_updated_timestamp = update_time.time.astimezone(dateTime.timezone.utc).isoformat()
extect exteck extect(valueerror,typeerror,typeError,typeError,typeError)as E::
log.erar_error(f> '{last_updated_minutes}'到时间戳:{e}”)
last_updated_timestamp = none
返回none;
state.set(“ sensor.solax_poper”,
value = data.get.get.get(current popper),
Invererter_serial_serial_serial_serial_serial_serial_serial_serial_serial_serial_serial_serial_serial_serial_number_nummber =数据。 “ kw”,
device_class =“ power”,
state_class =“测量”,
友好_name =“ solax power”
)
log.debug(“ solar_monitor:“ solar_monitor:sensors成功更新)更新了。 0.000,
)
log.debug(“ solar_monitor:无法获取或解析太阳能数据。当逆变器可能关闭时,电源输出设置为零。”)
else:else:
state.seseset(“传感器。
澳洲中文论坛热点
- 悉尼部份城铁将封闭一年,华人区受影响!只能乘巴士(组图)
- 据《逐日电讯报》报导,从明年年中开始,因为从Bankstown和Sydenham的城铁将因Metro South West革新名目而
- 联邦政客们具有多少房产?
- 据本月早些时分报导,绿党副首领、参议员Mehreen Faruqi已获准在Port Macquarie联系其房产并建造三栋投资联