Jump to content
  • Sign Up
Støtt hjemmeautomasjon.no!

Produksjon av god statistikk.


Recommended Posts

Jeg ønsker å  ha god statistikk på hva som bruker hvor mye, pr døgn, og benytter Aeotec sine energimålere til dette. Disse klipses rundt en av ledningene på  hver enkelt strømkurs i sikringskapet, og  måler magnetfeltet. Mer enn nøyaktig nok til mitt bruk.

 

 Men jeg har merket meg at disse energimmålerne ikke er noe glad i å bli "pollet", altså spurt om aktuell verdi. Jeg har ikke helt skjønt hvorfor, men har bare lagt merke til at de bruker lang tid på å svare, og av og til svarer de ikke i det hele tatt. Men dersom  jeg programmerer de til å sende  tallene regelmessig, så fungerer de flott.

 

Men så kommer "problemet". For  jeg ønsker jo å hente tallene rundt midnatt, og ønsker ikke å skape så mye  datatrafikk resten av døgnet.

Jeg har vurdert å lage en event som  endrer innstillingene på energimålerne når det nærmer seg midnatt, men jeg vet ikke om dette er helt veien å gå.

Jeg kan også velge å rapportere en gang i timen, men jeg risikerer jo da at den gjør dette kl 23.05, og da mister jeg jo forbruket av den siste timen...

 

Er det noen som vil si hvordan  de har  gjort det? Og hva slags statistikk har dere?

Kanskje jeg er overdrevent glad i tall, men jeg liker nå å ha litt kontroll på hva som bruker strøm  i heimen 😉

 

Link to comment
Share on other sites

Dersom du er litt teknisk anlagt, har du vurdert å bruke InfluxDB? Det er en database som egner seg spesielt bra for tidsserier. Det vil si at du kan logge oppdateringene fra målerne dine når de kommer, uavhengig av tid, og allikevel kunne aggregere opp timebaserte verdier og visualisere dem i grensesnitt eller hente verdier ut til Grafana. Helt nøyaktig blir det jo ikke, avhengig av hvor ofte måleren sender oppdatert verdi, men bra nok? Jeg prøvde å løse et lignende behov som deg for å avdekke hvor mye strøm vi brukte på oppvarming, varmtvann, klesvask osv. Kom så langt at jeg fikk lagret verdier i InfluxDB fra HS4 og gjorde noen proof-of-concept spørringer i databasen, men så la jeg det litt på vent av andre årsaker.

Link to comment
Share on other sites

+1 for InfluxDB.

 

Jeg mater alle aktuelle sanntidsdata inn i InfluxDB fra Home Assistant, og gjør Flux queries i Python i Home Assistant. Skal ikke påstå at jeg er spesielt dreven med Flux, så jeg prøver og feiler til jeg finner noe som funker som det skal. Her er et eksempel på hvordan jeg henter ut peak forbruk i inneværende døgn:

 

peak_consumption_today_query= f'''
        import "timezone"
        option location = timezone.location(name: "Europe/Oslo")
        from(bucket: "home_assistant")
        |> range(start:{start_string}, stop: now())
        |> filter(fn: (r) => r["_measurement"] == "pyscript.electricity_current_hour_consumption")
        |> filter(fn: (r) => r["_field"] == "value")
        |> aggregateWindow(every: 1h, fn: max, createEmpty: false)
        |> max()
        |> yield(name: "peak_consumption_today")
        '''

 

Ulempen er selvfølgelig at det kan bli mye data i InfluxDB. Jeg har 3 måneder retention på "hoveddatabasen", og så har jeg en Task som downsampler de mest interessante dataene til en annen database med uendelig retention policy for langtidslagring.

Edited by RVM
Fjernet misvisende kode
  • Thanks 1
Link to comment
Share on other sites

RVM skrev (2 minutter siden):

Jeg mater alle aktuelle sanntidsdata inn i InfluxDB fra Home Assistant, og gjør Flux queries i Python i Home Assistant



Nå var jo opprinnelig spørsmålet om HomeSeer, men siden du nevner Home Assistant. Den har jo siste årene fått mye funksjonalitet for å langtidslagre statistikk og aggregere data. Dette kan en også spørre på som feks historisk forbruk av varmtvann som jeg har gjort. InfluxDB er sikkert topp, men for oss som ikke trenger "all in" i funksjonalitet så er det noe innebygd i Home Assistant. Sikkert noe i HomeSeer også, kanskje.

image.png.2a38e3786650a8ec811d8dfe54c42aa8.png

Link to comment
Share on other sites

kristianml skrev (2 timer siden):

Dersom du er litt teknisk anlagt, har du vurdert å bruke InfluxDB? Det er en database som egner seg spesielt bra for tidsserier. Det vil si at du kan logge oppdateringene fra målerne dine når de kommer, uavhengig av tid, og allikevel kunne aggregere opp timebaserte verdier og visualisere dem i grensesnitt eller hente verdier ut til Grafana. Helt nøyaktig blir det jo ikke, avhengig av hvor ofte måleren sender oppdatert verdi, men bra nok? Jeg prøvde å løse et lignende behov som deg for å avdekke hvor mye strøm vi brukte på oppvarming, varmtvann, klesvask osv. Kom så langt at jeg fikk lagret verdier i InfluxDB fra HS4 og gjorde noen proof-of-concept spørringer i databasen, men så la jeg det litt på vent av andre årsaker.

Takk, det høres ut som om InfluxDB må testes ut 🙂

hflatoey skrev (1 time siden):

Eg og vil anbefale InfluxDB 🙂

Eg logger watt på 11 z-wave og 5 zigbee enheter uten problemer, her snakker vi sikkert 50000 målinger i døgnet til sammen 🙂

 

Hadde det bare vært disse målerne som skapte trafikk på nettet, så hadde jeg nok bare latt målerne rapportere ofte. Men det er ca 40 andre enheter som konkurrerer om det samme Z-wave-nettverket, og da vil jeg ikke skape unødvendig kø. Men det høres jo ut som om du har ufattelig mange målinger! Skaper det ikke konflikter, eller forsinkelser i nettet?

Edited by Decibel
Link to comment
Share on other sites

stigvi skrev (19 minutter siden):



Nå var jo opprinnelig spørsmålet om HomeSeer, men siden du nevner Home Assistant. Den har jo siste årene fått mye funksjonalitet for å langtidslagre statistikk og aggregere data. Dette kan en også spørre på som feks historisk forbruk av varmtvann som jeg har gjort. InfluxDB er sikkert topp, men for oss som ikke trenger "all in" i funksjonalitet så er det noe innebygd i Home Assistant. Sikkert noe i HomeSeer også, kanskje.

image.png.2a38e3786650a8ec811d8dfe54c42aa8.png

 

Homeseer har også muligheter for forbruks-statistikker, men jeg sluttet å bruke disse til fordel for "Device History" for noen år siden. Den gangen var det jo HS3 som ble brukt, og der fungerte ikke statistikken særlig bra, syntes jeg. 

Link to comment
Share on other sites

33 minutes ago, RVM said:

Ulempen er selvfølgelig at det kan bli mye data i InfluxDB.

 

Er vel ingen begrensning på hvor masse data du kan lagre i InfluxDB? Er vel berre snakk om hard disk plass.

 

Quote

InfluxDB can handle hundreds of thousands of data points per second. Working with that much data over a long period of time can create storage concerns.

 

Eg begynte å bruke InfluxDB for 2 år siden og min database er 3,2GB og da logger eg det meste mellom himmel og jord som eg har installert, alt fra router/firewall data til hunde gps.

 

Så har du ein grei SSD så er det plass til noen hundre år med data 🙂

  • Thanks 1
Link to comment
Share on other sites

1 minute ago, hflatoey said:

Er vel ingen begrensning på hvor masse data du kan lagre i InfluxDB? Er vel berre snakk om hard disk plass.

 

Stemmer, for min del er det kun snakk om harddisk-plassen, inklusive backupene.

Link to comment
Share on other sites

37 minutes ago, Decibel said:

Hadde det bare vært disse målerne som skapte trafikk på nettet, så hadde jeg nok bare latt målerne rapportere ofte. Men det er ca 40 andre enheter som konkurrerer om det samme Z-wave-nettverket, og da vil jeg ikke skape unødvendig kø. Men det høres jo ut som om du har ufattelig mange målinger! Skaper det ikke konflikter, eller forsinkelser i nettet?

 

Er vel ein sjelden gang at lyse bruker 2-3 sekunder på å endre verdi men om det er z-wave trafikk, ein multisensor som ikkje vil registrere at det er bevegelse eller annen server aktivitet som gjør kan eg ikkje svare på... 

  • Like 1
Link to comment
Share on other sites

Decibel skrev (36 minutter siden):

 

Homeseer har også muligheter for forbruks-statistikker, men jeg sluttet å bruke disse til fordel for "Device History" for noen år siden. Den gangen var det jo HS3 som ble brukt, og der fungerte ikke statistikken særlig bra, syntes jeg. 

Bare et tips siden jeg ser du bruker HS. Jeg benytter mcsMQTT-plugin for å lagre data fra HS direkte til InfluxDB. Plugin kan brukes på det viset selv om du ikke er interessert i MQTT-funksjonaliteten.

  • Thanks 1
Link to comment
Share on other sites

Nå husker ikke jeg i farten hvor godt SQL er integrert i HomeSeer men SQL er et supert spørrespråk for både enkle og opptil hinsides kompliserte spørringer i SQL database.

 

Jeg lagrer energi/kWh-verdien fra de enheter som er interessante i SQL hver time og henter ut igjen data i det formatet jeg vil, både som tabeller og grafer f.eks som dette:

image.thumb.png.70b2fa7baa6e957fc35be3565fc3d3f5.png

 

Jeg har en Synology NAS og har da tilgang på en mengde tjenester som MariaDB (SQL server), VPN, backup+++

  • Like 1
Link to comment
Share on other sites

Henger meg på og anbefaler varmt InfluxDB + Grafana. Bruker den løsningen på 2 separate lokasjoner. For det ene huset bruker jeg et script for å skrive fra Homeseer til InfluxDB, på den andre bruker jeg plugin Influx DB Persistence (den kan også lese tilbake fra Influx DB inn til HS for de som måtte ønske det). Begge deler funker fint, men anbefaler plugin. Uansett løsning, så anbefaler jeg at du konfigurerer hver device du vil speile til Influx for å unngå falske verdier. E.g noen devicer går til -999 som "undefined" osv.

 

Angående mengde data osv. Jeg speiler sikker 200+ devicer til InfluxDB på den ene lokasjonen, og kanskje 150 på den andre. Plugin skriver kontinuerlig, mens scriptet er satt opp til å skrive hvert 10 sek eller noe sånt. I tillegg drar jeg ut masse metrics fra serverne HS kjører på (minnebruk, diskforbruk, etc) som logger hvert sekund minst. Alt dette har stått og tikket i snart 5 år på den ene lokasjonen, og i snart 2 år på den andre. Null stress.

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.