-
Notifications
You must be signed in to change notification settings - Fork 43
-
Notifications
You must be signed in to change notification settings - Fork 43
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Temperature "-100 °C" #86
Comments
I currently use https://github.com/HAEdwin/homeassistant-apsystems_ecur/blob/main/custom_components/apsystems_ecur/APSystemsSocket.py and get zero values when the inverter is offline. This keeps the temperature graph somewhat inbound. Edit: I was looking to the graph based on the Gauge which has a minimum value defined hence the zero values. |
No it wouldn't work but then the value should be omitted entirely, since that's what actually happens: the panels are offline and no value is reported by the inverters (which are powered by the panels). In winter 0°C is a perfectly reasonable value for daily operation of the panels. |
I'm not at home but I can tell you that when data is missing home assistant simply omits the line, it doesn't connect the latest value with the newest one. It may also depend whether the previous value has an expiration or is set to be maintained until a new one arrives? |
I confirm the same problem. during night the temperture drops to -100. this should not happen. |
This sensor has connection issues (TCP modbus) and clearly has holes in the graph where data is missing or errors are returned. I know from ESPhome that sensors can be made to expire: But I searched the HA docs and I found nothing. |
https://community.home-assistant.io/t/is-it-possible-to-mark-a-sensor-as-unavailable/448865/3 How to make the sensor "unavailable" is beyond my capabilities, but it is possible and it is IMHO the correct choice whenever theECU provides "0" as temperature. |
@dewi-ny-je and @12christiaan: Did the update HAEdwin@a8867f2 solve your issue? |
No, the update did not solve the problem. i think the unit is still online, while the value is already dropping to -100 |
Noticed the issue due to unexpected behavior :) will look into it. |
perhaps check if "frequency" > 0 than update "temperature" else "temperature" = none? |
creative idea, I'm going to find out why the online parameter is apparently not correct. |
I like to help, but am new to HASS. i have started a TCPdump, so we will see tonight what happens on the communication flow. at least we can see what the system send, etc. |
Error was in the boolean evaluation, data was right. Solved it and evaluating... |
i apply the change to my local script. let's see tonight what happens |
When saving data to an external database such as Influxdb having a gap may be the intended behaviour. |
I get it but this does leave a challenge for those who use a gauge to indicate the temperature. To accommodate non-numeric values in the gauge, None must be replaced by 0. I'm struggling with a template myself but can't figure it out. So I asked the community for help. It's a jinja thing :) |
Can you have an option in the settings? Besides IP address and polling time. "When offline, report inverter temperature as: (leave blank for not reporting values, which may cause troubles with gauges)" |
I also thought of that solution, but it can also be concluded with a clear comment that a value template must be used (#86 (comment)). I was already given a solution that works. As a result, the gauge then represents a fictitious temperature so it's better to keep the default None. I modified it in the repository. 17d6fc0 |
Guess this issue can be closed? I asked @ksheumaker if he got some spare time left to do a merge of the pull requests so that we're more up to date. |
i confirm the 0 is fine for me (100 times better than -100 :-) ) |
In
homeassistant-apsystems_ecur/custom_components/apsystems_ecur/APSystemsSocket.py
Line 322 in 69b808c
the temperature is calculated as offset by 100, since the ECU sends data with 0 = -100 °C up to 255 = 155 °C.
As result, when no data is available because the panel is offline, the HA and Grafana graphs are nonsense:
The component should filter out values of "-100 °C", so that HA and Grafana will omit the measurement point, which is what is right, since... the panel is offline! why a fake value?
I'm not sure how to replace a number by "unavailable" or how to avoid adding that measurement point altogether.
Maybe replacing:
inv["temperature"] = self.aps_int(data, location) - 100
by:
but I don't know python, I just looked up "python if then else".
The text was updated successfully, but these errors were encountered: