Har testet litt med å endre på innstillingene for PID regulatoren da det er ganske stor treghet i mitt system, som førte til overkompensering. De fem nivåene for pådrag regulerer opp og ned settpunktemperatur på forskjellige termostater for forskjellige rom som igjen har forskjellig effekt, som gjerne allerede er av, så dette blir uansett aldri helt perfekt. På natta er det varmtvannstanken som er den store lasten, den går av om pådraget er under 2. elbil lader rusler og går på 6A uavhengig, den skal også styres av PID etter hvert.
Første innstillinger (direkte fra stigvi sin konfigurasjon):
pid = PID(40.0, 1.0, 1600.0, setpoint=float(input_number.effekt_target)-0.15)
Nye innstillinger:
Redusert P og I, lagt D til 1 (lurer på det tilsvarer av eller D da skal stå til 0) Den største endringen skjedde ved redusering av I til 0.1.
pid = PID(20.0, 0.1, 1.0, setpoint=float(input_number.effekt_target)-0.15)
Er fornøyd med resultatet så langt, da det blir mindre av og på av laster, og det ser ut som den treffer målet ganske så bra.
Har også endre derivative sensor og satt time window ned fra 5 til 1 min. for å få den raskere, det fører til at den fort overskyter i starte av timen, men ser ut som at det går bra grunnet "treghet" som er lagt til i PID?..
Slik er da sensorer nå:
## Styring av effekt bassert på forbuk mot tariff ""
## integrere kWh fra AMS
- platform: integration
source: sensor.ams_forbruk
name: AMS fastupdate
unit_prefix: k
round: 2
## Derivere fra kWh
- platform: derivative
source: sensor.ams_fastupdate
time_window: "00:01:00"
## Forutsi timesforbruk bassert på derivert og faktisk forbruk
- platform: template
sensors:
estimated_fast_hourly_consumption_unfiltered:
unit_of_measurement: 'kWh'
device_class: power
value_template: "{{ (states('sensor.ams_fast_update_meter')|float(15)+states('sensor.sensor_ams_fastupdate_derivative')|float(0) *(3600-now().minute*60-now().second)/3600) | round(3) }}"
## Filtrere vekk støy fra time overgang
- platform: filter
name: "estimated_fast_hourly_consumption_filtered"
entity_id: sensor.estimated_fast_hourly_consumption_unfiltered
filters:
- filter: outlier
window_size: 4
radius: 0.25
- filter: lowpass
time_constant: 10
precision: 3
## Nivåer bassert på PID output
- platform: template
sensors:
energy_regulator_usage_step:
friendly_name: 'Energy regulator usage step'
icon_template: mdi:power-standby
value_template: >-
{%if states.sensor.regulator_energy_usage.state | float<=10 %}1
{% elif states.sensor.regulator_energy_usage.state | float<=30 | float>10 %}2
{% elif states.sensor.regulator_energy_usage.state | float<=60 | float>30 %}3
{% elif states.sensor.regulator_energy_usage.state | float<=80 | float>60 %}4
{% elif states.sensor.regulator_energy_usage.state | float<=100 | float>80 %}5
{%- endif %}
Og her er da døgnforbruk med scriptet til stigvi i bruk vs uten: