Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

RVM

Medlemmer
  • Innlegg

    170
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    4

Alt skrevet av RVM

  1. Pyscript: @state_trigger("sensor.nordpool_kwh_krsand_nok_3_095_025") def calculate_monthly_average_price(): date = sensor.nordpool_kwh_krsand_nok_3_095_025.raw_today[0]['start'].strftime('%Y-%m-%d') pyscript.electricity_monthly_average_price.stored_values[date] = [n['value'] for n in sensor.nordpool_kwh_krsand_nok_3_095_025.raw_today] avg_num, avg_den = 0, 0 for k,v in pyscript.electricity_monthly_average_price.stored_values.items(): avg_num += sum(v) avg_den += len(v) pyscript.electricity_monthly_average_price = round(avg_num / avg_den, 3) @time_trigger("cron(@monthly)") def reset_monthly_average_price(): pyscript.electricity_monthly_average_price.stored_values = {}
  2. Jeg brukte Pyscript til det. I korte trekk har jeg en sensor der jeg lagrer prisene fra raw_today i attributtene hver gang raw_today oppdateres, og så beregner jeg snittet fra alle timene så langt i måneden. Tenker man må finne en løsning som beholder eventuelle mellomlagrede data etter en restart, og da er Pyscript veldig praktisk pga. state.persist. Kunne sikkert også brukt aggregateWindow i InfluxDB hvis man har det satt opp.
  3. Funker det hvis du legger det inn i et utility meter?
  4. Forresten, er det noen grunn til at du/dere legger på enda et lavpassfilter på PID output når timesestimatet allerede er filtrert? Blir mest nysgjerrig siden du til og med lagrer PID gains til en entity, så du bruker dem tydeligvis andre steder. Men de reelle PID parametrene er vel ikke de samme som de du lagrer siden outputen går gjennom et filter (dvs. filteret y[n] = 0.9*y[n-1] + 0.1*x[n])? Edit: Ser nå at pid.components ikke gir gains direkte, men hvert av bidragene i PID outputen. Men spørsmålet består
  5. Ja, det gjelder å være konsistent. Da du rundet av til 0 desimaler med limits på 0 og 1 hadde du bare to mulige utfall, 0.0 og 1.0, og du hadde sikkert høyere terskelverdier enn det for å skru av hvis du hadde lagt opp til PID output mellom 0 og 100.
  6. Ville ikke rundet av mot 0 desimaler hvis PID outputen skal gå fra 0-1. Eller bruker du 0-100 for PID output andre steder? I så fall bør pid.output_limits gå opp til 100.0.
  7. Vet ikke hvor mye akkurat det har å si, men etter å ha tenkt meg litt om tror jeg både venstre- og høyre-metoden vil konvergere mot "riktig" areal over lang nok tid siden effekten over tid vil stige og synke like mye (venstremetoden vil underestimere når effekten stiger, og overestimere når den synker, sånn at feilen til slutt kansellerer). Hvor stor den unøyaktigheten er tror jeg bare er av akademisk interesse.
  8. Har ikke brukt Riemann-integral i HA, men generelt er trapes-metoden mest nøyaktig. Venste/høyre vil hhv. under- og overestimere. Jeg får forbruket så langt i timen direkte fra Tibber Pulse, så har ikke hatt behov for å integrere effekten.
  9. Det var kanskje ikke dette du hadde i tankene, men du oppnår vel sikkert et FIR filter med derivasjonen (ser den er basert på SMA vektet med tid), mens et IIR filter fra eksponensiell glatting fort kan dra med seg eventuelle feil inn i uendeligheten I praksis tror jeg ikke det spiller noen rolle, det er mange veier til målet.
  10. I industrien er det jo vanlig med clamp-on ultrasoniske flowmetere, men det stiller litt krav til rette rørstrekk og sikkert rørdimensjon. Har ikke sett det til hjemmebruk, men de industrielle ville du aldri klart å tjene inn med å spare varmtvann dessverre.
  11. Forsåvidt, prøvde bare å forstå hva cut-off frekvensen ville vært i Hz. Tenker sånn intuitivt at man ønsker at PID-regulatoren (som diskutert i andre tråder) er treigere enn effektleddet i ekstrapolert forbruk, sånn at estimatet rekker å reagere på endring i PID output. Uten at jeg har brukt mye energi (pun intended) på å gruble så mye på det. Edit: Men unnskyld, det var ikke meningen å spore av denne tråden også
  12. Så du integrerer effekt til energi, og deriverer tilbake til effekt før du ekstrapolerer? Det funker jo, men oppnår du ikke i praksis lavpass-filtrert effekt med en litt uklar tidskonstant? Hvis det er hensikten, hvorfor ikke bare bruke Home Assistant sitt innebygde filter? Jeg spør fordi jeg er nysgjerrig, jeg bruker samme framgangsmåte men med filter istedenfor integrasjon/derivasjon for effektleddet i estimatet.
  13. Litt avhengig av hvordan du vil ha outputen din, så legger du bare til en slice (hhv. [0:6] og [9:17]) i templaten i åpningsposten. Eks: Edit: Fikset slicen, blandet start og end-tidspunkter.
  14. Siden du bruker Home Assistant finnes det mange gode tips rundt om på forumet. Tråd for Nordpool integrasjon: https://www.hjemmeautomasjon.no/forums/topic/5225-nordpool-sensor-for-home-assistant/ Tråd for å finne billigste timer: https://www.hjemmeautomasjon.no/forums/topic/7315-finne-de-billigste-str%C3%B8mtimene-i-home-assistant/
  15. Har sjekka nå, sånn ser update_regulator funksjonen ut hos meg: @state_trigger("pyscript.electricity_estimated_hour_consumption") def update_regulator(): global pid last_c = float(pyscript.regulator_electric_power) now = datetime.now() if now.minute < 15: pid.output_limits = (last_c, 1.0) # Only allow increase first 15 mins else: pid.output_limits = (0.0, 1.0) c = pid(float(pyscript.electricity_estimated_hour_consumption)) if round(c, 2) != last_c: pyscript.regulator_electric_power = round(c, 2)
  16. Husker ikke detaljene, skal sjekke koden seinere. Men det må ha vært kontinuerlig ja, og alltid nedad begrensa mot forrige verdi. Edit: Men jeg har ikke elbil, så for min del gjør det ingenting om absolutt alt er på de første 15 minuttene, jeg klarer ikke å bryte 5 kWh-grensa på 15 minutter.
  17. Det er i alle fall en veldig enkel løsning. Har ikke koden foran meg her nå, men tror det var noe sånt som: pid.output_limits = (last_c, 1.0) ... i de første 15 minuttene, og så (0.0, 1.0) etterpå. Bruker normaliserte verdier 0-1 for PID output.
  18. Jeg hadde samme problemstilling etter hver hele time. Har prøvd litt forskjellig, bl.a: Nokså "myke" verdier for PID gains. Gir treigere respons, men ikke nok til at det forhindrer prematur avslåing. Ønsker uansett rask nok respons senere i timen. Eksponensiell glatting av estimert timesforbruk første 15 minutter etter hel time, med lineært økende glattekonstant fra 0-1 mellom 0-15 minutter. Da unngår man i alle fall plutselige hopp i estimert timesforbruk. I praksis ser estimert forbruk penere ut på grafen, men det løste ikke problemet helt. En konfigurerbar verdi for tidligste tillatte avslåing per enhet (f.eks. bare tillate å skru av VVB 30 minutter etter hel time). Det fungerer, men ser litt rart ut når PID outputen går mot 0 mens alle enheter forblir påslått. Og så den endelige løsningen min: Bare tillatte at PID output øker i verdi første 15 minutter etter hel time. Dersom PID synker, forkast verdien.
  19. Da jeg hadde tilsvarende feil var det fordi jeg beregnet månedssnitt til inneværende time, mens strømselskapet inkluderte kjente fremtidige timer. Verdt å sjekke.
  20. Synes generelt også at timer helper er nyttig til sånne formål. De ivaretar state etter en reboot, sånn at automasjoner ikke påvirkes av at man restarter HA underveis.
  21. Ja, det er en manuell bryter under dekselet, men man må skru ut en skrue for å komme til bryteren. Når dekselet er av er også terminalene eksponert, så det er bare i nødstilfeller du vil ta det av.
  22. Ok, du kan jo sjekke om du allerede har tilgang til beregnet effektivitet og/eller temperatur i avkast over Modbus-interfacet, det er i alle fall tilgjengelig på VTR300. Edit: Ser du la til at du har sjekket allerede...
  23. Ser riktig ut dette, når jeg sjekker opp mot Engineering Toolbox. Av nysgjerrighet, hva slags type varmeveksler er det? Min VTR300 har en roterende varmeveksler, og jeg ser den går inn i "Moisture Transfer control" når utetemperaturen synker. Har inntrykk av at den kompenserer for beregnet fukt i eksoslufta. Fra parameterlista på min: Det er også en kjempegod post på Home Assistant-forumet om ulike beregninger, og Systemair har en teknisk håndbok om ventilasjon som også forklarer en del konsepter uavhengig av produsent/modell.
  24. RVM

    Modbus

    Mitt adapter er nesten helt likt som @stigvisitt, men jeg bestilte fra en tysk butikk gjennom Ebay for en stund siden. Kostet ikke mange kronene selv med frakt og moms, men hadde valgt norsk nettbutikk hvis jeg visste det var mulig å få kjøpt innenlands. Her er linken. De fleste ESP32-variantene er støttet av ESPHome, men det kan være verdt å sjekke før man bestiller. Jeg hadde tilfeldigvis en ESP32dev, og det var helt uproblematisk. Bruker forresten throttle_average istedenfor throttle i de fleste sensor filtrene, det er en del målestøy på noen av temperatursensorene i mitt anlegg.
×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.