Vraag


Acties:
  • 0 Henk 'm!

  • marlsbarkley
  • Registratie: Oktober 2022
  • Laatst online: 27-06-2023
Ik zou graag een waarde/sensor op mijn Home Assistant dashboard toevoegen, welke het Gemiddeld Dagelijks Verbruik toont van mijn electriciteit.

Ik heb al een aantal zaken geprobeerd met customs sensors icm de statistics en min/max integraties, maar kom maar niet tot het gewenst resultaat.

Voor de duidelijkheid, wat ik wil bereiken:

Elke dag is er een totaal verbruik (dit is het totale verbruik om zeg 23:59). Ik zou graag het gemiddelde van deze 'dag-vebruik' aantallen willen weten over bijvoorbeeld de laatste 30 dagen.

Wat mij betreft zou dit een redelijk simpele berekening moeten zijn, ik heb ook wel average functies gevonden in de statistics integratie, maar ik krijg deze maar niet zo werkend dat ie doet wat ik wil.

Ik heb al een custom sensor (dmv utility meter integratie) die dagelijks een cycle doet. Dus elke nacht reset de sensor terug naar 0, en begint hij weer op te lopen gedurende de dag aan de hand van het actuele verbruik, so far so good.

Wellicht overdenk ik het geheel, en is het veel simpeler dan ik denk. Ik zelf was tot deze oplossing gekomen: pak elke dagde waarde van sensor.daily_electricity_use om 23:59 en sla deze op in een derde sensor. Deze sensor zou dan logischer wijs elke dag 1x een update krijgen. (t.o.v. de daily_electricity_use welke de hele dag oploopt)
Volgens mij, als ik hier nu een statistics template op los laat, zou ik van deze waardes het gemiddelde moeten kunnen krijgen van zeg de laatste 7 dagen. Toch?

Bovenstaande heb ik nog niet als een Proof of Concept werkend gekregen, het setten van een waarde alleen om 23:59 op basis van een andere sensor is me nog niet gelukt, dit zou met een template-value icm een if-statement niet al te ingewikkeld moeten zijn.

Daarnaast voelt het toch alsof het veel te gecompliceerd is. D.m.v. de min/max integratie heb ik bijvoorbeeld al mooi zichtbaar in een bar-graph wat het totale dagelijkse verbruik is van de afgelopen 7 dagen. Maar hoe hier nu weer een gemiddelde van te krijgen, beats me.

Ik monitor mijn elektriciteit en gas verbruik overigens d.m.v. de DSMR integratie in combinatie met een P1 kabel direct in de slimme meter.

Is er hier iemand met een soortgelijke functie die zijn setup eens zou willen delen? Of mogelijk een slimme kop die mij een beetje de juiste kant op kan sturen?

[ Voor 4% gewijzigd door marlsbarkley op 01-11-2022 09:41 . Reden: opmaak ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • daxy
  • Registratie: Februari 2004
  • Nu online
Ik gebruik het volgende om de gemiddelde temperatuur van de afgelopen 12 uur op te slaan:
code:
1
2
3
4
5
6
  - platform: statistics
    entity_id: sensor.dark_sky_temperature
    name: Temperature past 12h
    state_characteristic: mean
    max_age:
      minutes: 720


Nu is dit natuurlijk een running-average maar misschien heb je hier iets aan?

Do not argue with a fool. He will drag you down to his level and beat you with experience.


Acties:
  • 0 Henk 'm!

  • marlsbarkley
  • Registratie: Oktober 2022
  • Laatst online: 27-06-2023
daxy schreef op dinsdag 1 november 2022 @ 09:43:
Ik gebruik het volgende om de gemiddelde temperatuur van de afgelopen 12 uur op te slaan:
code:
1
2
3
4
5
6
  - platform: statistics
    entity_id: sensor.dark_sky_temperature
    name: Temperature past 12h
    state_characteristic: mean
    max_age:
      minutes: 720


Nu is dit natuurlijk een running-average maar misschien heb je hier iets aan?
Thanks! Ik zoiets ook geprobeerd toe te passen, de functie an sich werkt, maar werkt niet voor de use case.

Jouw temperatuur sensor logt een temperatuur (op een bepaalde interval) en veranderd hier mee de state/value van die sensor. Hier gemiddeldes van pakken werkt dus prima.

Mijn verbruiks sensor loopt de hele dag op. Zou ik dus hier een gemiddelde van pakken, werkt dit niet omdat ie bijvoorbeeld sample'd op een datapunt van 2 uur smiddags waar de waarde nog relatief laag is, terwijl ie savonds laat (natuurlijk) hoger staat.

Dit zou kunnen werken als je zou kunnen zeggen, sample 1x per 24 uur voor de laaste 30 dagen, en pak dan ook nog eens de hoogste waarde (dat is de waarde om 23:59 most likely)...als je van die samples een gemiddelde zou pakken, dan ben je er volgens mij.


Ik denk dat dit zou kunnen werken als ie 1 datapunt per 24uur pakt en dan ook nog de hoogste waarde van die 24 uur, zoiets?

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 13:06

Septillion

Moderator Wonen & Mobiliteit
Maar heb je niet gewoon een meterstand? Ofwel, getal dat alleen maar oploopt over tijd? Want dan zou je kunnen opslaan (of periodiek opslaan) en dan kan je vanaf daar bepalen wat je gemiddelde verbruik is.

Omdat het over de dag natuurlijk niet netjes verdeelt is zou je er ook voor kunnen kiezen om maar één keer per dag die berekening uit te voeren.

Makkelijk kan dat met een automation en een helper. Theoretisch zou dat ook met een trigger based sensor moeten kunnen. Maar daarmee probeer ik ook nog steeds een all time max sensor te maken maar die reset toch nog. Dus mja, die vertrouw ik er nog niet voor :D

Acties:
  • 0 Henk 'm!

  • StevenK
  • Registratie: Februari 2001
  • Laatst online: 12:37
Ik doe dit met een derivative sensor op elk van mijn verbruiksmeters. Daarover laat ik dan de stats lopen.

Was advocaat maar vindt het juridische nog steeds leuk


Acties:
  • 0 Henk 'm!

  • marlsbarkley
  • Registratie: Oktober 2022
  • Laatst online: 27-06-2023
Septillion schreef op dinsdag 1 november 2022 @ 19:28:
Maar heb je niet gewoon een meterstand? Ofwel, getal dat alleen maar oploopt over tijd? Want dan zou je kunnen opslaan (of periodiek opslaan) en dan kan je vanaf daar bepalen wat je gemiddelde verbruik is.

Omdat het over de dag natuurlijk niet netjes verdeelt is zou je er ook voor kunnen kiezen om maar één keer per dag die berekening uit te voeren.

Makkelijk kan dat met een automation en een helper. Theoretisch zou dat ook met een trigger based sensor moeten kunnen. Maar daarmee probeer ik ook nog steeds een all time max sensor te maken maar die reset toch nog. Dus mja, die vertrouw ik er nog niet voor :D
Ik heb zeker een meterstand, ik houd ook al in aparte sensors bij wat het verbruik voor dag, week, maand en jaar zijn. Ook i.c.m. dynamische prijzen heb ik dat allemaal netjes werken. Ik kan ook wel een soort van gemiddelde uitrekenen, en wellicht ook zichtbaar maken d.m.v. een graph card oid. Ik ben niet zo geintresseerd in een grafiek, meer in het getal (gemiddeld verbruik per dag over de laatste 30 dagen).

Ik heb nu een template sensor aangemaakt:

code:
1
2
3
4
5
6
7
8
- trigger:
      - platform: time
        at: "23:59:00"
    sensor:
      - name: "Daily Energy Max"
        device_class: energy
        unit_of_measurement: kWh
        state: "{{ states('sensor.daily_energy_total') | float(0)  }}"


Deze update dus de waarde van sensor.daily_energy_max elke dag om 23.59 met de waarde van daily_energy_total (deze bevat dan 't totale verbruik voor die dag in kWh. Op deze manier zou ik dus na een aantal dagen een sensor moeten hebben met 1 waarde per dag, welke dan overeen komt met 't verbruik voor die dag. Hier dan een statiiscs op los laten zou moeten lukken. Word vervolgd. :)

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 13:06

Septillion

Moderator Wonen & Mobiliteit
Maar als je dus al een meterstand hebt, leg die nu vast. En dan kan je gewoon de rekensom doen:
stand_nu - stand_toen / dagen_verstreken = daggemiddelde

Het is namelijk best wel zinloos om dus eerst van een meterstand een dag sensor te maken en daar dan weer een gemiddelde van te gaan maken. Wat niets meer is dan de boel weer opsommen en dan delen door de verstreken tijd :D

Acties:
  • 0 Henk 'm!

  • marlsbarkley
  • Registratie: Oktober 2022
  • Laatst online: 27-06-2023
Septillion schreef op dinsdag 1 november 2022 @ 21:56:
Maar als je dus al een meterstand hebt, leg die nu vast. En dan kan je gewoon de rekensom doen:
stand_nu - stand_toen / dagen_verstreken = daggemiddelde

Het is namelijk best wel zinloos om dus eerst van een meterstand een dag sensor te maken en daar dan weer een gemiddelde van te gaan maken. Wat niets meer is dan de boel weer opsommen en dan delen door de verstreken tijd :D
Maar is dat niet exact wat ik nu doe, het vastleggen van die waarde elke dag. Ik heb dit al geprobeerd met de statistics integration en krijg gewoon geen goed gemiddelde terug. De sensors die hier nu het vebruik meten, lopen de hele dag op, hier gemiddeldes op pakken is dus lastig.

Daarnaast, van wat ik begrijp is het nog niet zo simpel om zeg de waarde van een specifieke sensor van zeg gisterenavond terug te krijgen. Dus dan is die rekensom ineens niet zo simpel meer.


Mocht iemand anders dit toch op een simpelere manier werkend hebben, hoor ik 't uiteraard graag.

[ Voor 10% gewijzigd door marlsbarkley op 01-11-2022 22:26 ]


Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 13:06

Septillion

Moderator Wonen & Mobiliteit
Nee, je laat dan de hele statistics integration gewoon links liggen...

Maar dan heb je wel een echte, altijd oplopende, meterstand nodig. Dingen als P1 en meeste omvormers geven die ook door. Nu weet ik niet waar jij je gegevens uit trekt, maar daar niet ook gewoon een ever increasing waarde / meterstand bij?

Acties:
  • 0 Henk 'm!

  • marlsbarkley
  • Registratie: Oktober 2022
  • Laatst online: 27-06-2023
Septillion schreef op dinsdag 1 november 2022 @ 22:26:
Nee, je laat dan de hele statistics integration gewoon links liggen...

Maar dan heb je wel een echte, altijd oplopende, meterstand nodig. Dingen als P1 en meeste omvormers geven die ook door. Nu weet ik niet waar jij je gegevens uit trekt, maar daar niet ook gewoon een ever increasing waarde / meterstand bij?
Zeker, die heb ik . Het dagelijkse vebruik word gewoon berekend op die totale meterstand. Sterker nog, dit zijn er in feite twee ( peak and off_peak usage)

Ik denk dat ik mijn post iets te laat ge-edit heb, wat ik daar al zei; jouw oplossing had ik inderdaad ook al bedacht. Maar zover ik kan vinden, is het nog niet zo makkelijk / laat staan uberhapt te doen om een historische waarde van een sensor te krijgen. Of zoals in jouw suggestie, de waarde van de elektriciteits meter een maand geleden.

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 13:06

Septillion

Moderator Wonen & Mobiliteit
Maar wel makkelijk om die zelf gewoon ergens op te slaan :) Automation die hem periodiek in een input_number zet. Of een trigger based sensor.

Acties:
  • 0 Henk 'm!

  • marlsbarkley
  • Registratie: Oktober 2022
  • Laatst online: 27-06-2023
Septillion schreef op dinsdag 1 november 2022 @ 22:33:
Maar wel makkelijk om die zelf gewoon ergens op te slaan :) Automation die hem periodiek in een input_number zet. Of een trigger based sensor.
Ja okay, fair enough. Dat zou inderdaad ook een manier zijn. Maar dat komt uiteindelijk min of meer op een soortgelijke oplossing uit. 1 sensor/helper die een waarde bewaard. En een 2e sensor/helper om vervolgens een berekening te doen met die 1e sensor vs huidig verbruik.

Heb niet helemaal helder of een input/helper voordelen heeft t.o.v. een sensor of andersom, maargoed., ik denk dat dit inderdaad wellicht de beste oplossing is om een accuraat dag gemiddelde te krijgen.

Ik vermoed, hoe dan ook, kan ik dit nu zeg maar inregelen en krijg ik pas over een kleine maand een goed gemiddelde terug.

Het mooiste zou idd zijn om gewoon te zeggen: pak de waarde van sensor.electricity_meter van -30dagen , maar gek genoeg blijkt dat niet een ding te zijn in home assistant en moet je daarvoor echt sql queries gaan uitvoeren. Leek mij allemaal net een stapje te gortig voor iets mondains als een dag gemiddelde :)

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 13:06

Septillion

Moderator Wonen & Mobiliteit
Helper vs sensor: Input helper is makkelijk via de UI aan te maken en te bewerken. Er zijn oof service calls voor. Voordeel van een sensor is dat deze juist niet via de UI aan te passen is (en daarmee makkelijker foutvrij te tonen is). Maar nadeel is dat, zeker trigger based sensoren, niet zo makkelijk te debuggen zijn.

Of je waarde betrouwbaar is ligt aan je definitie. Als je het gemiddelde ook één keer per dag op hetzelfde moment bepaald is het netjes een exact gemiddelde van de afgelopen dagen. Maar of je afgelopen dagen een nauwkeurige weerspiegeling van je eigen verbruik is ligt aan jou :p

En ja, dit zou een mooie toevoeging aan long term statistics zijn. Immers is de data er dan al. Maar goed, long term statistics zit nog niet zo gek lang in HA, wordt nog druk aan gewerkt :)

Acties:
  • 0 Henk 'm!

  • marlsbarkley
  • Registratie: Oktober 2022
  • Laatst online: 27-06-2023
@Septillion Ja dit klinkt logisch en bekend. Ik gebruik zelf ook wat input helpers, voornamelijk om een tijd waarde vast te houden of te setten.

Ik denk dat een sensor hier toch een mooiere oplossing bied. Sure, het voelt wat omslachtig met die extra sensors die dan nodig zijn om een, zoals 't lijkt, simpele berekening te doen. Aan de andere kant vind ik dat niet heel erg. M'n installatie/custom sensors etc zijn redelijk netjes georganiseerd dus dat loopt wel los.

Ik heb de trigger sensor die dagelijks draait om 23:59 draaien, deze zal even een aantal dagen moeten draaien om te kunnen zien of dit fatsoenlijk/betrouwbaar is.

Uit pure ongeduldigheid, zal ik vanmiddag eens een snellere Proof of concept in elkaar draaien met een trigger sensor die elke 1 minuut triggert. Die dan 10 minuten laten draaien, en daar dan het gemiddelde van pakken. Dit is makkelijk te controleren en in feite hetzelfde idee...

Werkt dit ook goed, dan ga ik gewoon netjes wachten tot ik enigzins voldoende data in m'n daily trigger sensor heb zitten. Idealiter wil ik 't gemiddelde weten van 30 dagen, dus dat is 30 dagen wachten ;-)

Acties:
  • +1 Henk 'm!

  • marlsbarkley
  • Registratie: Oktober 2022
  • Laatst online: 27-06-2023
@Septillion well would you look at this...

Check de latest update-log
Statistic card
More cards! We already have the Statistics Graph card, which can be used to display graphs of long-term statistics of an entity. This release brings the “Statistic” card!

The “Statistic” card, as the name implies, can show a single value of an entity, based on the long-term statistics stored of that entity.

For example, want to display the average temperature of your living room this week on your dashboard? The average power usage of your home today? The peak power production of your solar panels today?

Yes, all of the above, this card can do!
docs: https://www.home-assistant.io/dashboards/statistic
Afbeeldingslocatie: https://tweakers.net/i/5piLTQskZFu8G6_cLYupk1lyGBQ=/800x/filters:strip_exif()/f/image/uLTPKrjQVw2ovnG8rKKhiOUs.png?f=fotoalbum_large

Acties:
  • 0 Henk 'm!

  • Septillion
  • Registratie: Januari 2009
  • Laatst online: 13:06

Septillion

Moderator Wonen & Mobiliteit
Grappig ja, die zag ik ook langs komen. Dit stond vorige week nog niet in de alpha release notes. Nuttig gebruik van long term statistics!

Acties:
  • 0 Henk 'm!

  • marlsbarkley
  • Registratie: Oktober 2022
  • Laatst online: 27-06-2023
Hehe, ja heel soms geeft het universum je gewoon exact waar je naar op zoek bent...

Ik ga mijn ingewikkelde oplossing weer opdoeken, en eens kijken of dit netjes en naar behoren werkt.
Pagina: 1