Toon posts:

Home Assistant + Sofar ME3000SP integration: Vreemd gedrag

Pagina: 1
Acties:

Vraag


  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 27-01 15:53
Ik ben ondertussen ook al een tijdje bezig met Home Assistant. Uiteindelijk is het gelukt om via HACS een niet standaard integration te downloaden voor mijn inverter te monitoren met als doel mijn thuis batterij inzichtelijk te krijgen.
Ik heb in .yaml files moeten prutsen om het geheel uberhaupt aanspreekbaar te krijgen, maar nu zie ik sinds gisteren dat het 'connected' is.
Het vreemde van het verhaal is dat ik alleen mijn gegevens kan zien als ik via settings => Devices & services => "entities" ga kijken. Daar zie ik dan vervolgens 51 entities staan die allemaal 'status '-' hebben:
Maar als ik dan klik op een van de entities, zie ik wel de data:

Bij die integration is bijvoorbeeld ook een battery charge en battery discharge counter bij gemaakt voor in het energy dashboard, maar daar komt geen data in, buiten als ik het op bovenstaande manier doe.
Zie ik iets simpels over het hoofd? Scheelt er iets met de integration zelf?

Beste antwoord (via X-DraGoN op 13-01-2023 11:11)


  • septillion
  • Registratie: Januari 2009
  • Laatst online: 07:38

septillion

Moderator Wonen & Mobiliteit
Mm, dat is wel erg jammer en eigenlijk ook wel heel raar. Wel al gaan lopen rekenen maar niet gewoon zeggen wat er in / uit je accu is gegaan :/ Misschien kan je met die getallen terugrekenen? Want wat ik zeg, Rieman geeft je weer een extra onnauwkeurigheid. En energieverbruik tijdens een herstart of crash kan je ook niet terug halen.

Probleem in je templates is dat je simpelweg niet dezelfde entity naam gebruikt ;) sensor.home_battery_charge_discharge_power zie ik niet in je screenshots. Bedoel je sensor.solarman_battery_charge_discharge_power?
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
- sensor:
    - name: "Battery Charge Power"
      state_class: "measurement"
      device_class: "power"
      unit_of_measurement: "kW"
      icon: mdi:battery-plus
      state: >-
        {% set e = states('sensor.solarman_battery_charge_discharge_power') %}
        {{ e|float(0)|abs if e|float(0) >= 0 else 0 }}
      availability: >-
        {{ states('sensor.solarman_battery_charge_discharge_power')|is_number }}
    - name: "Battery Discharge Power"
      state_class: "measurement"
      device_class: "power"
      unit_of_measurement: "kW"
      icon: mdi:battery-minus
      state: >-
        {% set e = states('sensor.solarman_battery_charge_discharge_power') %}
        {{ e|float(0)|abs if e|float(0) <= 0 else 0 }}
      availability: >-
        {{ states('sensor.solarman_battery_charge_discharge_power')|is_number }}

Alle reacties


  • septillion
  • Registratie: Januari 2009
  • Laatst online: 07:38

septillion

Moderator Wonen & Mobiliteit
Heb je ze wel toegevoegd aan het energy dashboard? Ze komen daar niet vanzelf... Ook duurt het daarna nog ongeveer een uur voor je data gaat zien.

  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 27-01 15:53
Ja, ik heb de entities direct toegevoegd in het energy Dashboard:

Maar na meer als 24u, zie ik daar nog steeds niets in staan.
Nog een ander idee wat de oorzaak zou kunnen zijn?

  • septillion
  • Registratie: Januari 2009
  • Laatst online: 07:38

septillion

Moderator Wonen & Mobiliteit
Die twee errors lijkt me een goed begin om naar te kijken. Je lijkt daar ook andere entities te gebruiken dan je in je eerste plaatje laat zien. Die beginnen allemaal met 'solarman'.

  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 27-01 15:53
Ik heb nu de juiste sensors gezet en daar van een template gemaakt om een riemann calculatie op te kunnen gaan doen:


Maar dan krijg ik de volgende fout in de log:

code:
1
2
3
4
TemplateError('ValueError: Template error: float got invalid input 'unknown' when rendering template '{% if states('sensor.solarman_battery_charge_discharge_power')|float >= 0 %} {{ states('sensor.solarman_battery_charge_discharge_power') }} {% else %} 0 {% endif %}' but no default was specified') while processing template 'Template("{% if states('sensor.solarman_battery_charge_discharge_power')|float >= 0 %} {{ states('sensor.solarman_battery_charge_discharge_power') }} {% else %} 0 {% endif %}")' for attribute '_attr_native_value' in entity 'sensor.battery_charge_power'
09:35:09 – (ERROR) helpers/template_entity.py - message first occurred at 09:35:09 and shows up 2 times
Error while processing template: Template("{% if states('sensor.solarman_battery_charge_discharge_power')|float >= 0 %} {{ states('sensor.solarman_battery_charge_discharge_power') }} {% else %} 0 {% endif %}")
09:35:09 – (ERROR) helpers/template.py - message first occurred at 09:35:09 and shows up 2 times

[Voor 0% gewijzigd door septillion op 10-01-2023 20:59]


  • Slinkos
  • Registratie: Januari 2012
  • Laatst online: 23:15
Ik zie in je screenshot van je energy dashboard heel andere namen dan in je template. Kan je via developer tools > states eens laten zien welke sensoren je nou precies hebt?

Aangeboden: MHI Airco Wifi controller (MHI-AC-Ctrl)


  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 27-01 15:53
Zie de screenshot:

  • septillion
  • Registratie: Januari 2009
  • Laatst online: 07:38

septillion

Moderator Wonen & Mobiliteit
Yep, laat de alle sensoren van de integratie eens even zien. Liefst zowel onder de integratie als in de dev tools waar we makkelijk zowel entity ID en friendly name kunnen zien.

Want heb je niet gewoon een echte energy sensor? Rieman gaat namelijk altijd maar een benadering zijn.

PS Screenshots van code is aardig snelle manier om mensen weg te jagen ;) Post gewoon code (netjes in yaml-code tags).

  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 27-01 15:53
Er zijn 51 sensoren, dus heel veel screenshots
Volgens mij zit er geen échte energy sensor tussen:











  • septillion
  • Registratie: Januari 2009
  • Laatst online: 07:38

septillion

Moderator Wonen & Mobiliteit
Ik zie sensor.solarman_daily_consuption en sensor.solarman_daily_generation. Die klinken mij als wat je wilt hebben.

Daarnaast zie ik nog sensor.solarman_daily_power_bought en sensor.solarman_daily_power_sold maar dat is denk ik wat de accu al berekend met je P1 en dus wat het netto van het net doet. Overigens is dat wel echt een error in de integratie daar het geen power (wat je meet in W of kW) maar energy daar de unit kWh is :/

  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 27-01 15:53
Spijtig genoeg zijn ze dat niet, die sensor.solarman_daily_consuption en sensor.solarman_daily_generation. De inverter ziet ook wat er binnenkomt van de zonnepanelen en gaat die waardes gaat hij weergeven in sensor.solarman_daily_generation. De sensor.solarman_daily_consumption gaat dan weer over het totale energie verbruik van het hele huis wat hij in de gaten houdt via CT clamps.
Dus, als ik wil zien wat er in de batterijen gaat, moet ik dat berekenen volgens mij (al is het een benadering)
Daarmee was ik begonnen met:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
- sensor:
    - name: "Battery Charge Power"
      state_class: "measurement"
      device_class: "power"
      unit_of_measurement: "kW"
      icon: mdi:battery-plus
      state: >
        {% if states('sensor.home_battery_charge_discharge_power')|float >= 0 %}
          {{ states('sensor.home_battery_charge_discharge_power') }}
        {% else %}
          0
        {% endif %}
    - name: "Battery Discharge Power"
      state_class: "measurement"
      device_class: "power"
      unit_of_measurement: "kW"
      icon: mdi:battery-minus
      state: >
        {% if states('sensor.home_battery_charge_discharge_power')|float < 0 %}
          {{ -1 * states('sensor.home_battery_charge_discharge_power')|float }}
        {% else %}
          0
        {% endif %}

Maar dat levert dus die fout op die ik hier boven al postte.

[Voor 0% gewijzigd door septillion op 11-01-2023 08:51]


  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 27-01 15:53
De fout gaat weg als ik bij de float een (0) zet en dus een default waarde meegeef:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
- sensor:
    - name: "Battery Charge Power"
      state_class: "measurement"
      device_class: "power"
      unit_of_measurement: "kW"
      icon: mdi:battery-plus
      state: >
        {% if states('sensor.home_battery_charge_discharge_power')|float(0) >= 0 %}
          {{ states('sensor.home_battery_charge_discharge_power') }}
        {% else %}
          0
        {% endif %}
    - name: "Battery Discharge Power"
      state_class: "measurement"
      device_class: "power"
      unit_of_measurement: "kW"
      icon: mdi:battery-minus
      state: >
        {% if states('sensor.home_battery_charge_discharge_power')|float(0) < 0 %}
          {{ -1 * states('sensor.home_battery_charge_discharge_power')|float(0) }}
        {% else %}
          0
        {% endif %}


Van HA krijg ik dan het volgende in Developers tools => Templates:
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
- sensor:
    - name: "Battery Charge Power"
      state_class: "measurement"
      device_class: "power"
      unit_of_measurement: "kW"
      icon: mdi:battery-plus
      state: >
        
          unknown
        
    - name: "Battery Discharge Power"
      state_class: "measurement"
      device_class: "power"
      unit_of_measurement: "kW"
      icon: mdi:battery-minus
      state: >
        
          0

Ik vermoed dat ik zal moeten wachten tot er effectief iets in de batterij komt; want nu is hij leeg.

[Voor 0% gewijzigd door septillion op 11-01-2023 08:52]


Acties:
  • Beste antwoord
  • +1Henk 'm!

  • septillion
  • Registratie: Januari 2009
  • Laatst online: 07:38

septillion

Moderator Wonen & Mobiliteit
Mm, dat is wel erg jammer en eigenlijk ook wel heel raar. Wel al gaan lopen rekenen maar niet gewoon zeggen wat er in / uit je accu is gegaan :/ Misschien kan je met die getallen terugrekenen? Want wat ik zeg, Rieman geeft je weer een extra onnauwkeurigheid. En energieverbruik tijdens een herstart of crash kan je ook niet terug halen.

Probleem in je templates is dat je simpelweg niet dezelfde entity naam gebruikt ;) sensor.home_battery_charge_discharge_power zie ik niet in je screenshots. Bedoel je sensor.solarman_battery_charge_discharge_power?
YAML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
- sensor:
    - name: "Battery Charge Power"
      state_class: "measurement"
      device_class: "power"
      unit_of_measurement: "kW"
      icon: mdi:battery-plus
      state: >-
        {% set e = states('sensor.solarman_battery_charge_discharge_power') %}
        {{ e|float(0)|abs if e|float(0) >= 0 else 0 }}
      availability: >-
        {{ states('sensor.solarman_battery_charge_discharge_power')|is_number }}
    - name: "Battery Discharge Power"
      state_class: "measurement"
      device_class: "power"
      unit_of_measurement: "kW"
      icon: mdi:battery-minus
      state: >-
        {% set e = states('sensor.solarman_battery_charge_discharge_power') %}
        {{ e|float(0)|abs if e|float(0) <= 0 else 0 }}
      availability: >-
        {{ states('sensor.solarman_battery_charge_discharge_power')|is_number }}

  • X-DraGoN
  • Registratie: Juli 2005
  • Laatst online: 27-01 15:53
Bedankt voor je werk @septillion
Jouw splitsing van de gegevens heeft uiteindelijk geleid tot de oplossing

YAML:
1
2
3
4
5
6
7
8
9
sensor:
  - platform: integration
    source: sensor.battery_charge_power
    name: battery_charge_energy
    round: 2
  - platform: integration
    source: sensor.battery_discharge_power
    name: battery_discharge_energy
    round: 2

Bovenstaande gebruik ik dan vervolgens op het in het energy dashboard te krijgen
Pagina: 1


Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee