Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

Vinnerliste

Populært innhold

Viser innholdet med mest poeng fra 07. okt. 2023 i alle områder

  1. I min enebolig styrer jeg varmen ved hjelp av Home Assistent og Python addon EMHASS (Energy Management for Home Assistant). Programmet EMHASS tar hensyn til høye og lave strømpriser, kraftproduksjon fra solcellepaneler og energilagring fra batterier og beregner med lineær programmering en optimalisert energibruk. I Home Assistant kan en deretter lage daglige automatiseringer basert på EMHASS sine forslag, som å styre varmekabler, varmepumpe og varmtvannsbereder når det er best å senke eller øke temperaturen. I mitt hjem senkes og økes varmekablene i stue, kjøkken, gang, bad1etg og bad2etg med tre grader, varmepumpe en grad og varmtvannsberederen slås av og på. Dokumentasjon: https://emhass.readthedocs.io/en/latest/forecasts.html Emhass addon: https://github.com/davidusb-geek/emhass-add-on Emhass begreper: deferrable loads = flyttbare laster som f.eks varmekabler med høy varmekapasitet Dayahead Optimization = oppdaterer strømpriser og tidspunkter de flyttbare lastene skal være på hvert døgn. Nordpool leverer strømprisene 24 timer frem i tid så Dayahead Optimization er det første dere bør prøve. MPC controller = Ønsker dere oppdatere strømpriser oftere enn hvert døgn (24 timer) så kan dere bruke mpc som optimaliseringsmetode. Jeg bruker det nå da jeg vil kontrollere tidspunkter varmepumpen og ladningen skal skje. Jeg oppdaterer da strømpriser og tidspunkter lastene skal være på hver 6 time. Kan oppdateres oftere hvis dere ønsker. Jeg bruker Nordpool til å hente strømprisene. Min enebolig har 12 solceller på garasjetaket med 3 mikroinvertere og 6 solceller på hovedhus med to mikroinvertere. Jeg har ikke husbatteri ennå. I Emhass addon -> Configuration har jeg brukt default verdier bortsett fra disse innstillingene: "optimization_time_step": 60 # Dette betyr 60 minutter fordi Nordpool leverer strømprisene hver time "sensor_power_photovoltaics": "sensor.ecu_current_power" # Apsystem ECU sensor for produsert strøm fra solceller i Watt "sensor_power_load_no_var_loads": "sensor.power_load_no_var_loads" # Template sensor som tar import strøm (AMS reader Active import) og trekker i fra deferrable loads du ønsker å ha med i emhass. template: - sensor: - name: "Power load no var loads" unique_id: fbfeef21-1aa3-4a54-b781-426f46fef597 unit_of_measurement: W device_class: power state: > {% set powerload = states('sensor.ams_cf58_p') | float(default=0) %} {% set vkbad1etg = states('sensor.varmekabel_bad1etg_electric_consumption_w') | float(default=0) %} {% set vkbad2etg = states('sensor.varmekabel_bad2etg_electric_consumption_w') | float(default=0) %} {% set vkgang = states('sensor.varmekabel_gang_electric_consumption_w') | float(default=0) %} {% set vkgmlstue = states('sensor.varmekabel_gmlstue_electric_consumption_w') | float(default=0) %} {% set vknystue = states('sensor.varmekabel_nystue_electric_consumption_w') | float(default=0) %} {% set vkkjokken = states('sensor.varmekabel_kjokken_electric_consumption_w') | float(default=0) %} {% set vvb = states('sensor.bryter_varmvannsbereder_electric_consumption_w') | float(default=0) %} {% set varmepumpe = states('sensor.strombryter_varmepumpe_power') | float(default=0) %} {% set easee = states('sensor.easee_home_13794_power') | float(default=0) %} {% set value = (powerload - vkbad1etg - vkbad2etg - vkgang - vkgmlstue - vknystue - vkkjokken - varmepumpe - vvb - easee) | round(1,default=0) %} {% if value < 0.0 %} {{ 0.0 }} {% else %} {{ value }} {% endif %} "number_of_deferrable_loads": 7 # Antall flyttbare laster (deferrable loads) jeg vil ha styring av "list_nominal_power_of_deferrable_loads": # Oppgis som en liste verdi med den nominelle lasten til de flyttbare lastene jeg har. Du finner disse verdien i dokumentasjon til lastene. Du må oppgi alle de syv lastene. "list_operating_hours_of_each_deferrable_load": # Oppgi i antall timer de flyttbare lastene skal være på. Jeg har valgt å bruke mpc optimalisering istedenfor Dayahead Optimization så disse tidene blir oppdatert hver 6 time med shell commands. Du må oppgi alle de syv lastene som i list_nominal_power_of_deferrable_loads "list_peak_hours_periods_start_hours": # Når skal oppvarmingen skje. Jeg har satt klokken 06:00. Du må oppgi alle de syv lastene som i list_nominal_power_of_deferrable_loads "list_peak_hours_periods_end_hours": # Når skal oppvarming avsluttes. Jeg har satt klokken 23:00. Du må oppgi alle de syv lastene som i list_nominal_power_of_deferrable_loads "list_treat_deferrable_load_as_semi_cont": # Jeg bruker true her. Du må oppgi alle de syv lastene som i list_nominal_power_of_deferrable_loads "load_peak_hours_cost": 0.1907 # Sett en statisk timeverdi mellom 06:00 - 23:00. Jeg bruker rest commands for å oppdatere dynamisk timeprisene så denne prisen blir overskrevet. "load_offpeak_hours_cost": 0.1419 # Sett en statisk timeverdi mellom 23:00 - 06:00. Jeg bruker et rest commands for å oppdatere dynamisk timeprisene så denne prisen blir overskrevet. "photovoltaic_production_sell_price": 0.065 # Sett en statisk kroneverdi. Jeg bruker et rest commands for å oppdatere dynamisk timeprisene så denne prisen blir overskrevet. "maximum_power_from_grid": 5310 # Mine solceller produserer teoretisk maksimum 5310 Watt "list_pv_module_model": # Her oppgis alle solcellepanelene "list_pv_inverter_model": # Her oppgis alle invertere. Jeg har mikroinvertere så det blir en del av dem. "list_surface_tilt" # Takvinkel. Du må oppgi takvinkel for alle solcellene "list_surface_azimuth": Azimuth grad. Du må oppgi azimuthvinkel for alle solcellene "list_modules_per_string": # Du må oppgi azimuthvinkel for alle solcellene "list_strings_per_inverter": # Du må oppgi azimuthvinkel for alle solcellene Resten av konfigurasjonsfilen ligger som vedlegg. Her er noen av rest commands jeg bruker for å oppdatere dynamisk timeprisene for load_cost_forecast og prod_price_forecast og hvor lenge lastene skal være på. Jeg legger ved resten av emhass oppsettet som en package fil https://www.home-assistant.io/docs/configuration/packages/. rest_command: trigger_nordpool_forecast: url: http://localhost:5000/action/dayahead-optim method: POST content_type: "application/json" timeout: 300 payload: >- { "load_cost_forecast":{{((state_attr('sensor.nordpool', 'raw_today') | map(attribute='value') | list + state_attr('sensor.nordpool', 'raw_tomorrow') | map(attribute='value') | list))[now().hour:][:24] }}, "prod_price_forecast":{{((state_attr('sensor.nordpool_uten_avgifter', 'raw_today') | map(attribute='value') | list + state_attr('sensor.nordpool_uten_avgifter', 'raw_tomorrow') | map(attribute='value') | list))[now().hour:][:24]}}, "def_total_hours":{{states('sensor.list_operating_hours_of_each_deferrable_load')}} } emhass_addon_config.json emhass.yaml Emhass automatiseringer for varmekabler. alias: "Emhass: Endre temperatur på varmekabel bad1etg. Sjekker hvert 5 minutt." description: "" trigger: - platform: time_pattern minutes: /5 condition: - condition: time after: "06:00:00" before: "23:00:00" action: - if: - condition: numeric_state entity_id: sensor.p_deferrable2 above: 0.1 then: - service: climate.set_temperature data: temperature: 23 hvac_mode: heat target: entity_id: - climate.varmekabel_bad1etg else: - service: climate.set_temperature data: temperature: 20 hvac_mode: heat target: entity_id: - climate.varmekabel_bad1etg mode: single Emhass automatisering for varmepumpe. alias: "Emhass: Endre temperatur på varmepumpe. Sjekker hvert 5 minutt." description: "" trigger: - platform: time_pattern minutes: /5 condition: - condition: state entity_id: binary_sensor.kontaktsensor_uteplassdor_contact state: "off" - condition: time after: "06:00:00" before: "23:00:00" action: - if: - condition: numeric_state entity_id: sensor.p_deferrable5 above: 0.1 then: - service: climate.set_temperature data: temperature: 23 hvac_mode: heat target: entity_id: - climate.varmepumpe else: - service: climate.set_temperature data: temperature: 22 hvac_mode: heat target: entity_id: - climate.varmepumpe mode: single Emhass automatisering for elbil ladning med Easee lader: alias: "Emhass: Slå av og på lading av elbil. Sjekker hvert 5 minutt." description: "" trigger: - platform: time_pattern minutes: /5 condition: [] action: - if: - condition: numeric_state entity_id: sensor.p_deferrable6 above: 0.1 then: - service: easee.set_circuit_dynamic_limit data: currentP1: 5 device_id: 4edada93978baf0956025a39acec389f else: - service: easee.set_circuit_dynamic_limit data: currentP1: 0 device_id: 4edada93978baf0956025a39acec389f mode: single
    1 poeng
  2. Det er nok noe mer feil her enn at forrige eier og jeg ikke har forstått hvordan vi skulle gjøre dette. En ting er det med nettverk. Det er uklart for meg om denne boksen faktisk er på 4G-nett. Det kan selvsagt tenkes, men da må jo i så fall noen betale for det. Men det er unasett meningen at den skal kunne kobles på Wifi. Og den eneste dokumenterte måten å gjøre det på er ved å bruke BLE fra appen. Det skal også være mulig å koble den helt fra skyen. Da vil du ikke ha stort av styring, men det skal være mulig å restarte den. Igjen via BLE og app. Så uansett hvordan det forholder seg med portalen må det være mulig å koble seg til med BLE vha serienummer og PIN. Nå sjekket jeg Zaptec Pro serienummeret fra Mnemonic i appen, og det (og andre serienummer som begynner med "ZPR") gir en helt annen og mer fornuftig feilmelding med henvisning og redirigering til portalen. Så det er definitivt en bug uansett at den ikke gjenkjenner et Zaptec Home serienummer. Det er også interessant hvordan de har eliminert "Zaptec Home" fra det meste av support-sider. Manual og dataark ligger der fremdeles. Og den er nevnt noen ganger i changelog til firmware. Men ellers virker det som et produkt de bare har fjernet fra historien. Jeg gjetter på at det også er feilen i appen. Men jeg aksepterer virkelig ikke slikt. En 4 år gammel ladeboks, som sikkert kostet et 5-sifret beløp, bør ikke kunne konverteres til søppel ved å fjerne rimelig primitiv kode i en app. Jeg tror de som vurderer å kjøpe nye sky-baserte ladebokser bør tenke litt over hvor sårbart dette er. Uten dokumentasjon på hvordan pin-koden skal brukes med BLE så er det jo heller ikke helt trivielt å re-implementere funksjonaliteten. I følge Mnemonic så har de en slags beskyttelse mot "hacking" med stadig lengre lockout. Det er nok til å holde meg unna inntil jeg vet nøyaktig hva jeg evt skal sende.
    1 poeng
Vinnerlisten er satt til Oslo/GMT+01:00
×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.