selvesteha
-
Innlegg
15 -
Ble med
-
Besøkte siden sist
Innholdstype
Profiler
Forum
Blogger
Nedlastninger
Artikler
Regler
Hendelser
Galleri
Store
Innlegg skrevet av selvesteha
-
-
stigvi skrev (På 21.12.2022 den 18.16):
Du må kikke på de sensorene som er "input". Endrer de seg som forventet?
Ja, både energi og estimert neste timen sensor fungerer nå. Men den står konsekvent på 100%, og jeg ser at den ikke reduserer noen av tingene for å holde kapasiteten under valgt input. Er det noe jeg kan ha gått glipp av rundt scriptet? Finnes det noen mulighet til å sjekke at scriptet fungerer som det skal?
-
stigvi skrev (På 18.12.2022 den 9.28):
Hvis du er godt innenfor så er den på 100%, ja
Jeg mistenker at noe ikke stemmer, den står konsekvent på 100% alltid. Men jeg forstår ikke hva som kan være galt.
-
Hei igjen. Jeg opplever at Regulator Energy Usage står på 100% hele tiden. Kan det stemme? Jeg ville tro den måtte justere seg noe, men kan det ha med at jeg til enhver tid holder meg godt innenfor kapasitetsleddet?
-
Da ser det ut til at det endelig fungerer her, det var egentlig ganske enkelt når jeg fikk siste sensor på plass.
-
Kim123 skrev (1 time siden):
Ser du mangler effekt sensoren. Hvilken måler har du?
Anbefaler forøvrig MQTT Explorer, kan da logge deg på mqtt serveren og se på topicer
Jeg har brukt AMSHAN oppskriften med en Tibber Pulse måler.
stigvi skrev (2 timer siden):
Har du tatt med en sensor med state_topic som dette?
state_topic: "power/realtime/import/hour"Nei, jeg har ikke funnet noen slik sensor.
-
stigvi skrev (9 timer siden):
Den har det, altså forbruk i inneværende time.
Ja, men jeg får ikke disse tallene til å stemme med det jeg ser dere bruker. Se mine sensorer fra AMSHAN måler
Sensorer
Active power export (Q2+Q3)0 WAkkumulert strømforbruk110 409,86 kWhAkkumulert strømproduksjon0,0 kWhCumulative hourly reactive export energy (R-) (Q3+Q4)5 795,27 kVArhCumulative hourly reactive import energy (R+) (Q1+Q2)6 985,43 kVArhCurrent phase L16,0 ACurrent phase L23,6 ACurrent phase L322,1 APhase L1 voltage234,6 VPhase L2 voltage234,5 VPhase L3 voltage234,8 VReactive power export (Q3+Q4)769 varReactive power import (Q1+Q2)0 varStrømforbruk -
Kim123 skrev (33 minutter siden):
Jeg bruker
‘’
- platform: integration
source: sensor.kaifa_import # watt sensor
name: hour_total_kwh
method: left
unit_prefix: k
round: 3
‘’
Døgnmaksene jeg lagrer stemmer 100% med det som vises på bkk.no (nettleverandør)
Takk, prøver den. Det vil jo være svært mye enklere enn jeg trodde.
-
stigvi skrev (20 timer siden):
Det skulle være grei skuring. Hva er det du har nå?
Jeg har prøvd meg på en oppskrift jeg fant med intergration og utility meters. Men noe var galt da den viste alt for mye. Jeg slettet dem, men finner ikke tilbake til den oppskriften. Jeg har AHMSAN, og får ut sensor med forbruk. Men jeg mangler altså nå den beregnet strømforbruk den neste timen.
-
Ja, jeg har kopiert litt fra deg også. Jeg har ikke Tibber, så jeg sliter litt med å finne ut hvordan jeg kan opprette sensor for beregnet strømforbruk den neste timen. Den jeg har ser ikke riktig ut.
-
haraldov skrev (4 minutter siden):
Det enkleste er at HA oppretter sensoren. Alternativt kan du la pyscript opprette sensoren når pyscript kjører.
template: - sensor: - name: "Regulator energy usage" unit_of_measurement: "%" state_class: "measurement" device_class: "power_factor" state: "{{100}}"
Sensorene sensor.regulator_p, sensor.regulator_i, sensor.regulator_d trenger du bare hvis du skal tune pid regulatoren. Jeg ville bare ha brukt @stigvi sine verdier.
Takk for svar @haraldov Det ser ut til å fungere
-
Hei @stigvi. Jeg finner fremdeles ikke sensorene
sensor.regulator_energy_usage,
sensor.regulator_p
sensor.regulator_i
sensor.regulator_d
Misforstod jeg da jeg trodde de opprettet seg selv? Eller må jeg selv opprette dem?
-
Takk @stigvi. Da tror jeg du har fått meg i riktig rettning. Jeg begynner å forstå noe av sammenhengen her, det kan jo også hjelpe
from simple_pid import PID pid = PID(40.0, 0.4, 2500.0, setpoint=float(input_select.nettleie_pristrinn) - 0.2) pid.set_auto_mode(False) pid.sample_time = 1.9 pid.output_limits = (0, 100) pid.proportional_on_measurement = False pid.set_auto_mode(True, last_output=100.0) last_c = 100.0 turned_off_all = False turned_off_vvb = False turned_off_climate = False turned_off_car_red = False sensor.regulator_energy_usage = 100.0 @state_trigger("sensor.aidon_active_power_import") def new_state(): global pid global last_c global turned_off_all global turned_off_vvb global turned_off_climate global turned_off_car_red c = (0.9 * last_c) + (0.1 * pid(float(sensor.estimated_hourly_consumption))) p, i, d = pid.components state.set("sensor.regulator_p", round(p,1)) state.set("sensor.regulator_i", round(i,1)) state.set("sensor.regulator_d", round(d,1)) if round(last_c, 0) != round(c, 0): sensor.regulator_energy_usage = round(c, 0) v = max(5 * round(c, 0) - 400, 0.0) number.effekt_varmtvannsbereder.set_value(round(v,1)) last_c = c if c < 10 and turned_off_car_red == False: easee.set_charger_dynamic_limit(charger_id = "EH32498", current = "0") turned_off_car_red = True if c > 12 and turned_off_car_red == True: easee.set_charger_dynamic_limit(charger_id = "EH32498", current = "20") turned_off_car_red = False if c < 70 and turned_off_vvb == False: switch.bryter_varmvannsbereder.turn_off() switch.turn_off(entity_id="switch.heavy_duty_switch") turned_off_vvb = True if c > 72 and turned_off_vvb == True: switch.bryter_varmvannsbereder.turn_on() switch.turn_on(entity_id="switch.heavy_duty_switch") turned_off_vvb = False if c < 2 and turned_off_climate == False: climate.turn_off(entity_id="climate.thermostat_38",entity_id="climate.thermostat_41",entity_id="climate.thermostat_35,entity_id="climate.gang",entity_id="climate.stue_vindu",entity_id="climate.loftstue_2021",entity_id="climate.hovedsoverom") turned_off_climate = True if c > 5 and turned_off_climate == True: climate.turn_on(entity_id="climate.thermostat_38",entity_id="climate.thermostat_41",entity_id="climate.thermostat_35",entity_id="climate.gang",entity_id="climate.stue_vindu",entity_id="climate.loftstue_2021",entity_id="climate.hovedsoverom") turned_off_climate = False @state_trigger("input_select.nettleie_pristrinn") def setpoint(value=None): pid.setpoint = float(value) - 0.2
-
Takk for svar @stigvi. Beklager spørsmål som sikkert er rare, men jeg finner ikke disse sensorene noen plass etterpå. Jeg ser dere får dem opp i visning i lovelace kort, det får ikke jeg siden de ikke finnes.
from simple_pid import PID pid = PID(40.0, 0.4, 2500.0, setpoint=float(input_select.nettleie_pristrinn) - 0.2) pid.set_auto_mode(False) pid.sample_time = 1.9 pid.output_limits = (0, 100) pid.proportional_on_measurement = False pid.set_auto_mode(True, last_output=100.0) last_c = 100.0 turned_off_all = False turned_off_car_red = False turned_off_car_blue = False @state_trigger("sensor.aidon_active_power_import") def new_state(): global pid global last_c global turned_off_all global turned_off_car_red global turned_off_car_blue c = (0.9 * last_c) + (0.1 * pid(float(sensor.estimated_fast_hourly_consumption_filtered))) #p, i, d = pid.components #state.set("sensor.regulator_p", round(p,1)) #state.set("sensor.regulator_i", round(i,1)) #state.set("sensor.regulator_d", round(d,1)) if round(last_c, 0) != round(c, 0): sensor.regulator_energy_usage = round(c, 0) v = max(5 * round(c, 0) - 400, 0.0) number.effekt_varmtvannsbereder.set_value(round(v,1)) last_c = c if c < 10 and turned_off_car_red == False: easee.set_charger_dynamic_limit(charger_id = "EH32498", current = "0") turned_off_car_red = True if c > 12 and turned_off_car_red == True: easee.set_charger_dynamic_limit(charger_id = "EH32498", current = "20") turned_off_car_red = False if c < 70 and turned_off_all == False: switch.bryter_varmvannsbereder.turn_off() switch.turn_off(entity_id="switch.heavy_duty_switch") turned_off_all = True if c > 72 and turned_off_all == True: switch.bryter_varmvannsbereder.turn_on() switch.turn_on(entity_id="switch.heavy_duty_switch") turned_off_all = False if c < 2 and turned_off_all == False: climate.turn_off(entity_id="climate.thermostat_38",entity_id="climate.thermostat_41",entity_id="climate.thermostat_35,entity_id="climate.gang",entity_id="climate.stue_vindu",entity_id="climate.loftstue_2021",entity_id="climate.hovedsoverom") turned_off_all = True if c > 5 and turned_off_all == True: climate.turn_on(entity_id="climate.thermostat_38",entity_id="climate.thermostat_41",entity_id="climate.thermostat_35",entity_id="climate.gang",entity_id="climate.stue_vindu",entity_id="climate.loftstue_2021",entity_id="climate.hovedsoverom") turned_off_all = False @state_trigger("input_select.nettleie_pristrinn") def setpoint(value=None): pid.setpoint = float(value) - 0.2
Min kode ser nå slik ut, men jeg er faktisk usikker på om den virker. Mye mulig dette er for avansert for meg, men syns løsningen din var for god til å passere. Lastet ned PID i hacks også, men opplevde det enda vanskeligere å forstå.
Jeg har ikke Tibber, men egen AMS leser.
-
Hei.
Kode er ikke min sterkeste side, men jeg prøver meg. Beklager på forhånd om spørsmålet har ett opplagt svar jeg ikke ser Jeg har fulgt koden til @stigvi, men finner ikke ut hvordan sensor.regulator_p, _i og _d settes opp? Er det noe jeg misforstår helt langs veien her? Jeg vil tro dette er essensielt for at scriptet skal fungere.
Prediktiv reduksjon av strømbruk - Effektariff nivå
i Automasjoner
Skrevet
Jeg fant en feilmelding i Pyscript, så nå fungerer alt som det skal. Må nok legge inn notify på dette som du sier.
Uansett, takk for strålende bistand underveis fra alle i forumet.