Closed edterbak closed 2 months ago
Note that you need to change the extension of the file. Github does not allow direct yaml. File name should be: heishamon.yaml
Added a new version which corrects some bits.
it could do with some checking by someone :)
Added a new version which corrects some bits.
it could do with some checking by someone :)
Nice work! Why not also migrate the legacy template sensors to their new format? I've added an (untested) example below.
template:
- sensor:
- name: "heishamon_w_production"
unit_of_measurement: 'W'
state: >-
{%- if states('sensor.aquarea_dhw_power_produced') != "0" -%}
{{ states('sensor.aquarea_dhw_power_produced') }}
{%- else -%}
{{ states('sensor.aquarea_power_produced') }}
{%- endif -%}
- name: "heishamon_w_consumption"
unit_of_measurement: 'W'
state: >-
{%- if states('sensor.aquarea_dhw_power_consumed') != "0" -%}
{{ states('sensor.aquarea_dhw_power_consumed') }}
{%- else -%}
{{ states('sensor.aquarea_power_consumed') }}
{%- endif -%}
- name: "heishamon_cop"
unit_of_measurement: "x"
state: >-
{%- if states('sensor.heishamon_w_production') != "Unknown" -%}
{%- if states('sensor.heishamon_w_consumption') > "0" -%}
{{ '%0.1f' % ((states('sensor.heishamon_w_production') | float ) / (states('sensor.heishamon_w_consumption') | float)) }}
{%- else -%}
0.0
{%- endif -%}
{%- else -%}
n/a
{%- endif -%}
Added a new version which corrects some bits. it could do with some checking by someone :)
Nice work! Why not also migrate the legacy template sensors to their new format? I've added an (untested) example below.
template: - sensor: - name: "heishamon_w_production" unit_of_measurement: 'W' state: >- {%- if states('sensor.aquarea_dhw_power_produced') != "0" -%} {{ states('sensor.aquarea_dhw_power_produced') }} {%- else -%} {{ states('sensor.aquarea_power_produced') }} {%- endif -%} - name: "heishamon_w_consumption" unit_of_measurement: 'W' state: >- {%- if states('sensor.aquarea_dhw_power_consumed') != "0" -%} {{ states('sensor.aquarea_dhw_power_consumed') }} {%- else -%} {{ states('sensor.aquarea_power_consumed') }} {%- endif -%} - name: "heishamon_cop" unit_of_measurement: "x" state: >- {%- if states('sensor.heishamon_w_production') != "Unknown" -%} {%- if states('sensor.heishamon_w_consumption') > "0" -%} {{ '%0.1f' % ((states('sensor.heishamon_w_production') | float ) / (states('sensor.heishamon_w_consumption') | float)) }} {%- else -%} 0.0 {%- endif -%} {%- else -%} n/a {%- endif -%}
Hi, Yeah, I did not see this yet. I have no experience handling the template sensors. Could you maybe have a go at it? I will replace the one in my post with the updated one from you then *(with mentions to you)
:)
I gave it an attempt, Looking at your code, it is fairly similar. I have removed the - in the %- -% codes, that is the only difference I can spot.
See attached file here.
see latest download below
I do see there is a potential issue that the value can be unknown, throwing an error. Does anyone know how to tackle that?
thanks
Beouse you dont have any sensor.heishamon_w_production and sensor.heishamon_w_production ? You should have something like sensor.aquarea_power_produced and sensor.aquarea_power_produced ( acc to #TOP15 and #TOP16) . This entities names can be checked i.e. in development menu.
I get some errors during startup,
TemplateError('ValueError: Template error: float got invalid input 'unknown' when rendering template '{% if states('sensor.heishamon_w_production') != "Unknown" %} {% if states('sensor.heishamon_w_consumption') > "0" %} {{ '%0.1f' % ((states('sensor.heishamon_w_production') | float ) / (states('sensor.heishamon_w_consumption') | float)) }} {% else %} 0.0 {% endif %} {% else %} n/a {% endif %}' but no default was specified') while processing template 'Template("{% if states('sensor.heishamon_w_production') != "Unknown" %} {% if states('sensor.heishamon_w_consumption') > "0" %} {{ '%0.1f' % ((states('sensor.heishamon_w_production') | float ) / (states('sensor.heishamon_w_consumption') | float)) }} {% else %} 0.0 {% endif %} {% else %} n/a {% endif %}")' for attribute '_attr_native_value' in entity 'sensor.aquarea_cop'
I will look into it further in a couple of days. But if someone KNOWS what is wrong and willing to fix it, I do not mind :)
I think this is better:
See latest download below
after boot, there is no error anymore now. But im unsure.
Again, can someone please check if this is right?
I do not use the heishamon package .yaml in HomeAssistant myself. I use node red.
I guess I forgot that I have renamed the sensors in my personal yaml.
I will do some testing this weekend (and rename my sensors).
@edterbak I've updated with your heishamon.yaml on latest Home Assistant v 2022.6.6 and all working fine, thanks!
@edterbak I've updated with your heishamon.yaml on latest Home Assistant v 2022.6.6 and all working fine, thanks!
Can you check on the s0 meter if that is all ok?
I got feedback from one other that some naming was changes.
I am having difficulty to understand how this change / error happend. Better to double check if there is an error here or not :)
@edterbak
Your naming of the s0 meter is off.
- name: S0 meter - Solar power Production
and - name: S0 meter - Solar power Production Total
versus
name: Aquarea Metered Power Consumption
and Aquarea Metered Power Consumption Total
for S0_1. Naming of S0_2 is also not identical, which is probably the cause.
@edterbak
Your naming of the s0 meter is off.
- name: S0 meter - Solar power Production
and- name: S0 meter - Solar power Production Total
versusname: Aquarea Metered Power Consumption
andAquarea Metered Power Consumption Total
for S0_1. Naming of S0_2 is also not identical, which is probably the cause.
Is this the only thing 'off'? If so, I can correct it. But if there is more, (and I still dont understand how this happend) I will throw it away and start over to be sure there are no other mistakes.
@edterbak I've checked your latest file against the latest version (https://github.com/Egyras/HeishaMon/blob/master/Integrations/Home%20Assistant/heishamon.yaml) and have made a few changes to sync both files.
Note that I've opted to keep the legacy templates as is.
heishamon.yaml.txt
The naming was off, like kampsj stated. I mentioned this also on GoT. Now all working fine.
@kampsj When I import your latest .txt, I get errors. I started over, with the choose to use of legacy templates now. Maybe later the newer version.
I think there is an indentation difference.
mqtt:
sensor:
- name: ....
- name
- name
....
....
sensor:
- platform: template
sensors:
heishamon_w_production:
The lower part with platform template is i should be:
mqtt:
sensor:
- name: "xxx"
- name: "yyy"
- name: "zzz"
....
....
sensor:
- platform: template
sensors:
heishamon_w_production:
The below version works for me, even after reboot. I dont know how you get your version working 😄 heishamon - 23-6-2022.yaml.txt
am I missing something or am I just ignorant ghehehee..
Hopefully I am actually helping here, instead of making a mess.
@edterbak You're right. There were a few (3) errors in my file. I've fixed them in the file below.
I confirm. Our latest versions are now both identical. (give or take some extra lines in between) Both work.
But both are in old template format, which I dont bother with.
I see our work is outdated. pullrequest with updated heishamon.yaml already in there. Hahaha...
HomeAssistant changed the designation of mqtt sensors and switches. https://www.home-assistant.io/integrations/switch.mqtt/ https://www.home-assistant.io/integrations/sensor.mqtt/
This impacted heishamon.yaml. I have updated it already, and it is ready to use. working with HomeAssistant from release month 6-2022
text from HA release notes:
As an example, this is now deprecated:
The configuration needs to be updated to this format:
Also the mqtt switch has changed. all is reflected in attached txt file. See latest attachment below