Tenkte jeg skulle skrive om hvordan jeg nå gjør varmestyring med bayesian sensor som @stigvi har dokumentert veldig godt. Se her: https://www.hjemmeautomasjon.no/forums/topic/5931-varmestyring-med-bayesian-sensor/
Jeg har forenklet endel oppsettet hans til mitt bruk. Her er mine bayesian binære sensorer. Jeg har brukt stigvi sine sannsynligheter, men ved hjelp et regneark kan du simulere ulike sannsynligheter. Jeg brukte regnearket som ligger vedlagt denne posten: https://community.home-assistant.io/t/bayesian-sensors-best-methods/142401
Har også sett denne Youtube videoen for å lære om bayesian sensorer: https://www.youtube.com/watch?v=oDWQCJbBrKE&t=13s
binary_sensor:
- platform: bayesian
name: 'Varmekabler stue'
prior: 0.35
probability_threshold: 0.5
observations:
- platform: 'numeric_state'
entity_id: 'sensor.regulator_energy_usage'
prob_given_true: 0.001
below: 32
- entity_id: 'input_boolean.ferie'
prob_given_true: 0.001
platform: 'state'
to_state: 'on'
- entity_id: 'binary_sensor.noen_er_hjemme'
prob_given_true: 0.7
platform: 'state'
to_state: 'on'
- entity_id: 'input_boolean.sleeptime'
prob_given_true: 0.32
platform: 'state'
to_state: 'on'
- entity_id: 'binary_sensor.natt'
prob_given_true: 0.32
platform: 'state'
to_state: 'on'
- entity_id: 'sensor.prisniva'
prob_given_true: 0.4
platform: 'state'
to_state: 'EXPENSIVE'
- entity_id: 'sensor.prisniva'
prob_given_true: 0.3
platform: 'state'
to_state: 'VERY_EXPENSIVE'
- entity_id: 'sensor.prisniva'
prob_given_true: 0.3
platform: 'state'
to_state: 'EXTREMELY_EXPENSIVE'
- platform: bayesian
name: 'Varmekabler bad og gang'
prior: 0.35
probability_threshold: 0.5
observations:
- platform: 'numeric_state'
entity_id: 'sensor.regulator_energy_usage'
prob_given_true: 0.001
below: 32
- entity_id: 'input_boolean.ferie'
prob_given_true: 0.001
platform: 'state'
to_state: 'on'
- entity_id: 'binary_sensor.noen_er_hjemme'
prob_given_true: 0.7
platform: 'state'
to_state: 'on'
- entity_id: 'input_boolean.sleeptime'
prob_given_true: 0.32
platform: 'state'
to_state: 'on'
- entity_id: 'binary_sensor.natt'
prob_given_true: 0.32
platform: 'state'
to_state: 'on'
- entity_id: 'sensor.prisniva'
prob_given_true: 0.4
platform: 'state'
to_state: 'EXPENSIVE'
- entity_id: 'sensor.prisniva'
prob_given_true: 0.3
platform: 'state'
to_state: 'VERY_EXPENSIVE'
- entity_id: 'sensor.prisniva'
prob_given_true: 0.3
platform: 'state'
to_state: 'EXTREMELY_EXPENSIVE'
- platform: bayesian
name: 'Varmtvannsbereder'
prior: 0.35
probability_threshold: 0.5
observations:
- entity_id: 'binary_sensor.natt'
prob_given_true: 0.7
platform: 'state'
to_state: 'on'
- entity_id: 'binary_sensor.soltimer'
prob_given_true: 0.7
platform: 'state'
to_state: 'on'
- platform: 'numeric_state'
entity_id: 'sensor.regulator_energy_usage'
prob_given_true: 0.001
below: 32
- entity_id: 'sensor.prisniva'
prob_given_true: 0.4
platform: 'state'
to_state: 'EXPENSIVE'
- entity_id: 'sensor.prisniva'
prob_given_true: 0.3
platform: 'state'
to_state: 'VERY_EXPENSIVE'
- entity_id: 'sensor.prisniva'
prob_given_true: 0.3
platform: 'state'
to_state: 'EXTREMELY_EXPENSIVE'
- platform: bayesian
name: 'Varmepumpe'
prior: 0.35
probability_threshold: 0.5
observations:
- entity_id: 'binary_sensor.natt'
prob_given_true: 0.7
platform: 'state'
to_state: 'on'
- entity_id: 'binary_sensor.soltimer'
prob_given_true: 0.7
platform: 'state'
to_state: 'on'
- platform: 'numeric_state'
entity_id: 'sensor.regulator_energy_usage'
prob_given_true: 0.001
below: 32
- entity_id: 'sensor.prisniva'
prob_given_true: 0.4
platform: 'state'
to_state: 'EXPENSIVE'
- entity_id: 'sensor.prisniva'
prob_given_true: 0.3
platform: 'state'
to_state: 'VERY_EXPENSIVE'
- entity_id: 'sensor.prisniva'
prob_given_true: 0.3
platform: 'state'
to_state: 'EXTREMELY_EXPENSIVE'
Har så opprettet template sensorer så tar ut sannsynligheten:
- name: "Varmekabel sannsynlighet stue"
state: "{{ state_attr('binary_sensor.varmekabler_stue', 'probability') }}"
- name: "Varmekabel sannsynlighet bad og gang"
state: "{{ state_attr('binary_sensor.varmekabler_bad_og_gang', 'probability') }}"
- name: "Varmtvannsbereder sannsynlighet"
state: "{{ state_attr('binary_sensor.varmtvannsbereder', 'probability') }}"
- name: "Varmepumpe sannsynlighet"
state: "{{ state_attr('binary_sensor.varmepumpe', 'probability') }}"
Automasjon for å slå på varmtvannsbereder:
alias: ' Bayesian varmestyring varmtvannsbereder: Varmtvannsbereder slåes på'
description: >-
Bayesian sensor slår på varmtvannsbereder når klokken er 22:00-06:00 og
11:00-15:00
trigger:
- platform: numeric_state
entity_id: sensor.varmtvannsbereder_sannsynlighet
for:
hours: 0
minutes: 0
seconds: 20
above: '0.5'
condition:
- condition: state
entity_id: switch.bryter_varmvannsbereder
state: 'off'
action:
- service: switch.turn_on
data: {}
target:
entity_id: switch.bryter_varmvannsbereder
- delay:
hours: 0
minutes: 5
seconds: 0
milliseconds: 0
mode: single
Automasjon for å slå av varmtvannsbereder:
alias: ' Bayesian varmestyring varmtvannsbereder: Varmtvannsbereder slåes av'
description: Bayesian sensor slår av varmtvannsbereder
trigger:
- platform: numeric_state
entity_id: sensor.varmtvannsbereder_sannsynlighet
for:
hours: 0
minutes: 0
seconds: 20
below: '0.5'
condition:
- condition: state
entity_id: switch.bryter_varmvannsbereder
state: 'on'
action:
- service: switch.turn_off
data: {}
target:
entity_id: switch.bryter_varmvannsbereder
- delay:
hours: 0
minutes: 5
seconds: 0
milliseconds: 0
mode: single
Bayesian sensor reagerer umiddelbart når PID regulatoren går under 100 %. Når sannsynligheten går under 0.5 så endres den binære sensorer fra on til off. Når den går over 0.5 så endres den fra off til on.