22%
Dash
Plan
Entities
Charts
Compare
WhatIf
Log
Config
Apps
Components
Editor
Browse
Internals
Metrics
Docs
v8.48.1
Toggle Dark Mode
Apps.yaml Editor
pred_bat: module: predbat class: PredBat template: false # Prefix for all entities Predbat creates in HA prefix: predbat # Reference only - entities below are hard-coded to "sunsynk" inverter_name: "sunsynk" timezone: Europe/London currency_symbols: - '£' - 'p' threads: auto load_filter_threshold: 30 ha_url: 'http://10.0.20.15:8123' ha_key: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI1MTRhYzFkYjlhYmU0NjcxOTQyNWY2ZjJjZjI2ZGE1NiIsImlhdCI6MTc4MTcyOTE2OCwiZXhwIjoyMDk3MDg5MTY4fQ.Szco1rvyCQRREBr3eebHz7Euwzeb3fewt_ETbdfl8-8' # ---------------- Energy sensors (inputs, auto-summed if a list) ---------------- load_today: - sensor.sunsynk_day_load_energy import_today: - sensor.sunsynk_day_grid_import export_today: - sensor.sunsynk_day_grid_export load_power: - sensor.sunsynk_load_power grid_power: - sensor.sunsynk_grid_ct_power grid_power_invert: - true battery_power: - sensor.sunsynk_battery_power # watts # If the battery charge/discharge sign reads backwards in Predbat, uncomment: #battery_power_invert: # - true # ---------------- Inverter control ---------------- num_inverters: 1 inverter_type: SK # **** Outputs to Sunsynk inverter **** # Ensure on the inverter: 'Grid charge enabled', 'Solar Export', 'Use Timer' charge_start_service: - service: select.select_option entity_id: "select.sunsynk_prog1_charge" option: "Allow Grid & Gen" - service: select.select_option entity_id: "select.sunsynk_prog2_charge" option: "Allow Grid & Gen" - service: select.select_option entity_id: "select.sunsynk_prog3_charge" option: "Allow Grid & Gen" - service: select.select_option entity_id: "select.sunsynk_prog4_charge" option: "Allow Grid & Gen" - service: select.select_option entity_id: "select.sunsynk_prog5_charge" option: "Allow Grid & Gen" - service: select.select_option entity_id: "select.sunsynk_prog6_charge" option: "Allow Grid & Gen" - service: select.select_option entity_id: "select.sunsynk_load_limit" option: "Zero Export" charge_stop_service: - service: select.select_option entity_id: "select.sunsynk_prog1_charge" option: "Allow Gen" - service: select.select_option entity_id: "select.sunsynk_prog2_charge" option: "Allow Gen" - service: select.select_option entity_id: "select.sunsynk_prog3_charge" option: "Allow Gen" - service: select.select_option entity_id: "select.sunsynk_prog4_charge" option: "Allow Gen" - service: select.select_option entity_id: "select.sunsynk_prog5_charge" option: "Allow Gen" - service: select.select_option entity_id: "select.sunsynk_prog6_charge" option: "Allow Gen" - service: select.select_option entity_id: "select.sunsynk_load_limit" option: "Zero Export" discharge_start_service: - service: select.select_option entity_id: "select.sunsynk_prog1_charge" option: "No Grid or Gen" - service: select.select_option entity_id: "select.sunsynk_prog2_charge" option: "No Grid or Gen" - service: select.select_option entity_id: "select.sunsynk_prog3_charge" option: "No Grid or Gen" - service: select.select_option entity_id: "select.sunsynk_prog4_charge" option: "No Grid or Gen" - service: select.select_option entity_id: "select.sunsynk_prog5_charge" option: "No Grid or Gen" - service: select.select_option entity_id: "select.sunsynk_prog6_charge" option: "No Grid or Gen" - service: select.select_option entity_id: "select.sunsynk_load_limit" option: "Allow Export" timed_charge_current: - number.sunsynk_battery_max_charge_current # Amps timed_discharge_current: - number.sunsynk_battery_max_discharge_current # Amps soc_percent: - sensor.sunsynk_battery_soc battery_voltage: - 51.2 # nominal 16S LiFePO4; or map to sensor.sunsynk_battery_voltage battery_rate_max: - 5000 # max charge/discharge power in W (5kW Sunsynk ECCO) # CONFIRM: total usable battery capacity in kWh. # 1x Fogstar 314Ah @ 51.2V = ~16.0 kWh. Multiply if you have more than one pack. soc_max: - 16.0 battery_min_soc: - 7 # % reserve: - 7 # % # Predbat writes the target SoC% to prog1 only; the HA automation below # copies it to prog2-6 (Predbat treats multiple charge_limit entries as # separate inverters, so we keep one here + automation). charge_limit: - number.sunsynk_prog1_capacity # **** End outputs to Sunsynk inverter **** balance_inverters_seconds: 0 inverter_limit: - 5000 # inverter rated power in W # ---------------- PV forecast ---------------- # No solar PV installed - no pv_today / pv_power / Solcast forecast needed. # Predbat runs as a battery + grid arbitrage system only. # ---------------- Cars ---------------- # Predbat-led charging for Achilles (Tesla) via the Hypervolt. # NOTE: The Hypervolt is OUTSIDE the inverter CT (inverter cannot see car # load), so: # - car_charging_energy is deliberately NOT set (nothing to strip from # house load history) # - turn OFF switch.predbat_car_energy_reported_load in HA (this also # auto-disables car_charging_hold) # Predbat publishes binary_sensor.predbat_car_charging_slot - an HA # automation must start/stop the Hypervolt from that sensor. num_cars: 1 # Car plugged in and available to charge (Hypervolt) car_charging_planned: - binary_sensor.hypervolt_car_plugged car_charging_planned_response: - 'yes' - 'on' - 'true' # Check tesla mate battery health stats car_charging_battery_size: - 58.6 # Tesla charge target % and current SoC % (tesla_custom integration) car_charging_limit: - number.charge_limit car_charging_soc: - sensor.battery_3 # Do NOT enable car_charging_now with Predbat-led charging - it creates a # circular dependency (Predbat would treat any active charge as a low-rate # slot). #car_charging_now: # - off # ---------------- Energy rates ---------------- metric_octopus_import: 'sensor.octopus_energy_electricity_current_rate' metric_standing_charge: 'sensor.octopus_energy_electricity_current_standing_charge' # No Octopus export/outgoing rate sensor exists (no export tariff in the # integration). Add when set up, e.g.: #metric_octopus_export: 'sensor.octopus_energy_electricity_..._export_current_rate' octopus_intelligent_slot: 're:(binary_sensor.octopus_energy([0-9a-z_]+|)_intelligent_dispatching)' octopus_ready_time: 're:((select|time).octopus_energy_([0-9a-z_]+|)_intelligent_target_time)' octopus_charge_limit: 're:(number.octopus_energy([0-9a-z_]+|)_intelligent_charge_target)' octopus_slot_low_rate: true octopus_slot_max: 12 # 6 hours - Octopus cap on IOG cheap slots # ---------------- Octopus Octoplus saving sessions ---------------- octopus_saving_session: 're:(binary_sensor.octopus_energy([0-9a-z_]+|)_saving_session(s|))' octopus_saving_session_octopoints_per_penny: 8 octopus_free_session: 're:(event.octopus_energy_([0-9a-z_]+|)_octoplus_free_electricity_session_events)' # ---------------- History / forecast windows ---------------- days_previous: - 7 - 14 days_previous_weight: - 1 forecast_hours: 48 # ---------------- Notifications ---------------- # Set to your mobile_app notify device, e.g. mobile_app_fraser_iphone notify_devices: - mobile_app_fraser_phone battery_scaling: - 1.0 import_export_scaling: 1.0 export_triggers: - name: 'large' minutes: 60 energy: 1.0 - name: 'small' minutes: 15 energy: 0.25 # Tariff comparison feature # # Adjust this list to the tariffs you want to compare, include your current tariff also # DNO region code (see https://energy-stats.uk/dno-region-codes-explained/) dno_region: "G" compare_list: - id: 'current' name: 'Current Tariff (IOG)' - id: 'agile' name: 'Agile' rates_import_octopus_url: 'https://api.octopus.energy/v1/products/AGILE-24-10-01/electricity-tariffs/E-1R-AGILE-24-10-01-G/standard-unit-rates/' mcp_enable: "True" battery_charge_power_curve: 97: 0.9 98: 0.66 99: 0.49 100: 0.49 # ---------------- Load ML ---------------- load_ml_enable: true load_ml_source: false temperature_enable: true load_ml_max_days_history: 28 load_ml_database_days: 90
Save
Revert