springfall2008 / batpred

Home battery prediction and charging automation for Home Assistant, supporting many inverter types
https://springfall2008.github.io/batpred/
129 stars 44 forks source link

PredHeat - Next Volume Temp #1538

Open thewhale21 opened 1 month ago

thewhale21 commented 1 month ago

Is your feature request related to a problem? Please describe. Unable to manually set next volume temp. Can this please be added to Apps.yaml so those with a weather dependent curve can dynamically adjust.

Describe the solution you'd like next_volume_temp = sensor.volume_temp in apps.yaml and predheat.py updated to read this variable.

Describe alternatives you've considered We could manually edit the input number but this is over written each time predheat runs.

Additional context Setting next flow temp to current flow temp makes it difficult for accurate planning.

springfall2008 commented 1 month ago

You could update it with an automation from the sensor, but I agree it would make sense if you have your own sensor to connect it directly

springfall2008 commented 1 month ago

Although I think I broke it with the integration to Predbat, will fix

springfall2008 commented 1 month ago

Fix on main for the next_volume_temp bug and also option to override with a sensor by setting 'volume_temp' in apps.yaml

thewhale21 commented 1 month ago

Fix on main for the next_volume_temp bug and also option to override with a sensor by setting 'volume_temp' in apps.yaml

Have added the below into my apps.yaml. Seems the next temp is still being over written. flow_temp: sensor.espaltherma_leaving_water_temp_before_buh_r1t flow_difference_target: 10 volume_temp: 31

springfall2008 commented 1 month ago

Did you put volume_temp into the Predheat section in apps.yaml? Are you running v8.5.1?

thewhale21 commented 1 month ago

Did you put volume_temp into the Predheat section in apps.yaml? Are you running v8.5.1?

Yup, Selected Main from predbat versions and it has self updated to 8.5.1, and volume_temp was added below flow_difference_target

Edit; I appear to have a rocket booster in my loft now 😄

image
springfall2008 commented 3 weeks ago

Can you share your apps.yaml settings for Predheat?

thewhale21 commented 3 weeks ago
  predheat:
    # Days forward
    forecast_days: 2

    # Days previous is the number of days back to find historical load data
    # Recommended is 7 to capture day of the week but 1 can also be used
    # if you have more history you could use 7 and 14 (in a list) but the standard data in HA only lasts 10 days
    days_previous: 
    - 1
    - 2
    - 3

    # Gas or heatpump mode ('gas' or 'pump')
    mode: pump

    # External temperature sensor
    # You may need to create a template sensor for this one
    external_temperature: sensor.espaltherma_r1t_outdoor_air_temp

    # Internal temperature sensor(s)
    internal_temperature:
    - sensor.espaltherma_indoor_ambient_temp_r1t

    # Weather data
    weather: weather.openweathermap

    # Sensor with history that monitors the thermostat setting in the house
    target_temperature: sensor.espaltherma_rt_setpoint

    # When true models a smart thermostat that turns the heating ahead of the target temperature so it reaches it just in time
    smart_thermostat: false

    # Past energy consumption of heating in KWh, scaled with heating_energy_scaling
    heating_energy: sensor.espaltherma_heating_power_daily_ussage
    heating_energy_scaling: 1.0

    # Heating is turned on history
    heating_active: sensor.espaltherma_space_heating_operation_on_off

    # House heat loss in watts per degree temp difference
    heat_loss_watts: 2539

    # Static heat sources in the house (e.g. people/equipment)
    heat_gain_static: 400

    # House heat loss in degrees per hour per degree temp difference
    heat_loss_degrees: 0.007

    # Heating max output (of the radiators), in Watts at delta 50 (BTU / 3.41)
    # https://www.bestheating.com/milano-kent-straight-chrome-heated-towel-rail-various-sizes-91119
    # https://www.bestheating.com/milano-compact-type-11-single-panel-radiator-multi-sizes-available-74174
    # https://www.bestheating.com/milano-compact-type-22-double-panel-radiator-multi-sizes-available-74176
    # https://www.bestheating.com/milano-compact-type-21-double-panel-plus-radiator-multi-sizes-available-74175
    heat_output: 3418

    # Add up radiator volume + any pipework or expansion vessel
    heat_volume: 50

    # Heating max power in Watts
    heat_max_power: 4600
    heat_min_power: 1000

    # Heating cop is the maximum efficiency and will be scaled down based on temperatures
    # put 1.0 for condensing gas boilers, or around 4.0 for heat pumps
    heat_cop: sensor.espaltherma_scop_1d

    # Current flow temperature setting
    flow_temp: sensor.espaltherma_leaving_water_temp_before_buh_r1t
    flow_difference_target: 10
    volume_temp: sensor.espaltherma_boiler_heating_target_temp
thewhale21 commented 3 weeks ago

Volume temp seems to have stabilized back to previous behavior. Might be a miss understanding on my part, But i'd expect the flow temp to track the current temp and then the volume temp to be the target leaving water temp so it knows how much "power" it needs to put into the water.

springfall2008 commented 2 weeks ago

volume_temp: sensor.espaltherma_boiler_heating_target_temp

This seems wrong, the volume temperature should be the radiator water temperature ideally at a location close to your thermostat. If you don't have that sensor then its best not to set it.

thewhale21 commented 2 weeks ago

volume_temp: sensor.espaltherma_boiler_heating_target_temp

This seems wrong, the volume temperature should be the radiator water temperature ideally at a location close to your thermostat. If you don't have that sensor then its best not to set it.

Thanks, what should flow temp be set to in that case?