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

haraldov

Medlemmer
  • Innlegg

    215
  • Ble med

  • Besøkte siden sist

  • Dager vunnet

    8

haraldov vant dagen sist 4. februar

haraldov hadde mest likt innhold!

Hjemmeautomasjon

  • System
    Home Assistant

Nylige profilbesøk

Blokken for nylige besøkende er slått av og vises ikke for andre medlemmer.

haraldov sine prestasjoner

Bitfikler

Bitfikler (9/16)

  • Dedikert Sjeldent
  • Samarbeidspartner
  • Første innlegg
  • Reagerer godt
  • Samtalestarter

Nylige merker

63

Nettsamfunnsomdømme

  1. Med så mange noder tror jeg mesh nettverket ditt er bra nok. Jeg ville ha vurdert enten å gå tilbake til Aeotec Gen 5+ eller kjøpt Zooz - ZST10-700 som vil gi deg lengre rekkevidde.
  2. Har ikke kjøpt noe ny z-wave kontroller ennå. Aeotec Gen 5+ fungerer fortsatt fint. Vurderer likevel å kjøpe Zooz - ZST10-700 som Tronika selger. Denne er støtte i Home Assistent https://www.home-assistant.io/docs/z-wave/controllers/ Kunne også vurdert zooz 800serie, men NVM Backup/Restore er ennå ikke støttet for 800 serie. En ting du kunne ha prøvd er å bygge opp et mer stabilt z-wave mesh nettverk med flere zwave repetere. Selv om antennen på kontrolleren er dårlig vil zwave repetere som er nærme kontrolleren videresende meldinger fra batteri noder eller andre noder som også er zwave repetere. Mer informasjon her: https://docs2.hubitat.com/how-to/build-a-solid-zwave-mesh
  3. Det er mulig jeg har misforstått dette, men jeg har løst problemet med at jeg får en time forsinkelse i HA Dashboard ved å bruke sensor.ams_cf58_houruse. Du kan også sende en mail til strømselskapet å be de rekonfigurere strømmåler til å bruke DLMS data. Mer om dette her: https://github.com/UtilitechAS/amsreader-firmware/issues/630
  4. Du kan f.eks. gå fra zha til zigbee2mqtt da det meste av zigbee enhet informasjonen ligger på usb stick https://community.home-assistant.io/t/migrate-from-zha-to-z2m/634440/5. Men du må knytte navn på nytt til hver enhet noe som kan være en del arbeid med. Er litt usikker på om dette fungerer med deconz. Det beste er nok likevel å starte nytt.
  5. Du har tre valg og det er ZHA som er innebygd i Home Assistant (https://www.home-assistant.io/integrations/zha/) og Deconz (https://www.home-assistant.io/integrations/deconz/) og zigbee2mqtt du må kjøre som en Home Assistant addon. Conbee 2 er støttet i alle de tre zigbee løsningene. Jeg bruker zha nå etter å ha brukt deconz og deretter zigbee2mqtt tidligere. Fordelen med zha er den tette intergrasjonen med home assistant. Ulempen er ikke så god støtte for alle zigbee enheter. Men kjøper en riktig enhet så slipper man mye av dette bryet. Blackadder har en godt oppdatert liste: https://zigbee.blakadder.com/zha.html Zigbee2mqtt bruker nok de fleste. God zigbee enhet støtte og godt bruker webgrensesnitt. Kommuniserer med Home Assistant ved hjelp av mqtt.
  6. For Forfatter av programmet mener at en kan spare 5 % og 8% daglig med lineær optimisering enn å bruke en regel basert fremgangsmåte. Kilde: https://community.home-assistant.io/t/emhass-an-energy-management-for-home-assistant/338126 Men det blir likevel ikke mye i kroner på å spare strøm (ENØK tiltak) når vi har tidenes beste strømstøtte https://www.nrk.no/norge/xl/de-som-tjener-best_-fikk-mest-stromstotte-1.16638845
  7. Nei, machine learning forecast (ml forecast) av ditt historiske strømforbruk vil ikke forsvinne. ml forecast data lagres og brukes når du bruker mpc til å optimere den beste strømsparing. Model Predictive Control (mpc) eller day-ahead optimisering kan bruke forecast data om historisk strømforbruk (naive eller ml forecast data), strømproduksjon fra solceller, strømpris for salg av solcellestrøm og kjøp av importert strøm til å lage en 24 timers forecast av hvilke tidspunkter det er best å bruke eller spare strøm. Håper dette hjelper.
  8. Er ikke sikker på om jeg svarer på spørsmålet ditt, men her hvordan jeg bruker mlforecast i emhass. Jeg bruker ml forecast i emhass med default verdier (https://emhass.readthedocs.io/en/latest/mlforecaster.html) bortsett fra at jeg bruker "days_to_retrieve" = 10 i rest kommandoene for å spesifisere 10 dager med sensordata som mlforecast skal hente ut i fra homeassistant databasen. Dette er data fra "sensor.power_load_no_var_loads". Skal helst være flere dager enn dette. Jeg bruker også i "num_lags" = 24 (tilsvarer 24 timer i døgnet) da jeg bruker nordpool data som har strømpriser for hver time. rest_command: ml_forecast_fit: url: http://localhost:5000/action/forecast-model-fit method: POST content_type: "application/json" timeout: 300 payload: >- { "days_to_retrieve": 10, "num_lags": 24 } ml_forecast_tune: url: http://localhost:5000/action/forecast-model-tune method: POST content_type: "application/json" timeout: 300 payload: >- { } Kjører hver uke denne automatiseringen for å oppdatere mlforecast fit: alias: EMHASS ml forecaster model fit each sunday 23:05 description: "" trigger: - platform: time at: "23:05:00" condition: - condition: time weekday: - sun action: - service: rest_command.ml_forecast_fit data: {} mode: single og deretter ml forecast tune: alias: EMHASS ml forecaster model tune each sunday 23:15 description: "" trigger: - platform: time at: "23:15:00" condition: - condition: time weekday: - sun action: - service: rest_command.ml_forecast_tune data: {} mode: single I loggen ser det slik ut etter å ha kjørt mlforecast automatiseringen. 2023-12-21 17:29:24,348 - web_server - INFO - Setting up needed data 2023-12-21 17:29:24,461 - web_server - INFO - Retrieve hass get data method initiated... 2023-12-21 17:29:57,908 - web_server - INFO - >> Performing a machine learning forecast model fit... 2023-12-21 17:29:57,910 - web_server - INFO - Performing a forecast model fit for load_forecast 2023-12-21 17:29:57,930 - web_server - INFO - Training a KNeighborsRegressor model 2023-12-21 17:29:58,042 - web_server - INFO - Elapsed time for model fit: 0.11151599884033203 2023-12-21 17:29:58,128 - web_server - INFO - Prediction R2 score of fitted model on test data: -0.333963984019525 2023-12-21 17:30:00,257 - web_server - INFO - Setting up needed data 2023-12-21 17:30:00,265 - web_server - INFO - >> Publishing data... 2023-12-21 17:30:00,265 - web_server - INFO - Publishing data to HASS instance 2023-12-21 17:30:00,330 - web_server - INFO - Successfully posted to sensor.p_pv_forecast = -6.44 2023-12-21 17:30:00,375 - web_server - INFO - Successfully posted to sensor.p_load_forecast = 1917.72 2023-12-21 17:30:00,407 - web_server - INFO - Successfully posted to sensor.p_deferrable0 = 1964.0 2023-12-21 17:30:00,437 - web_server - INFO - Successfully posted to sensor.p_deferrable1 = -5331.21 2023-12-21 17:30:00,466 - web_server - INFO - Successfully posted to sensor.p_deferrable2 = 2193.0 2023-12-21 17:30:00,499 - web_server - INFO - Successfully posted to sensor.p_deferrable3 = 0.0 2023-12-21 17:30:00,528 - web_server - INFO - Successfully posted to sensor.p_deferrable4 = 1450.0 2023-12-21 17:30:00,564 - web_server - INFO - Successfully posted to sensor.p_deferrable5 = 0.0 2023-12-21 17:30:00,592 - web_server - INFO - Successfully posted to sensor.p_deferrable6 = 3110.06 2023-12-21 17:30:00,621 - web_server - INFO - Successfully posted to sensor.p_grid_forecast = 5310.0 2023-12-21 17:30:00,646 - web_server - INFO - Successfully posted to sensor.total_cost_fun_value = -202.03 2023-12-21 17:30:00,671 - web_server - INFO - Successfully posted to sensor.optim_status = Infeasible 2023-12-21 17:30:00,702 - web_server - INFO - Successfully posted to sensor.unit_load_cost = 1.4 2023-12-21 17:30:00,734 - web_server - INFO - Successfully posted to sensor.unit_prod_price = 0.065 2023-12-21 17:30:31,107 - web_server - INFO - Setting up needed data 2023-12-21 17:30:31,117 - web_server - INFO - Retrieve hass get data method initiated... 2023-12-21 17:31:00,751 - web_server - INFO - >> Performing a machine learning forecast model tune... 2023-12-21 17:31:00,757 - web_server - INFO - Bayesian hyperparameter optimization with backtesting Number of models compared: 70, 10 bayesian search in each lag configuration. lags grid: 0%| | 0/7 [00:00<?, ?it/s] lags grid: 14%|█▍ | 1/7 [00:09<00:59, 9.97s/it] lags grid: 29%|██▊ | 2/7 [00:11<00:25, 5.17s/it] lags grid: 43%|████▎ | 3/7 [00:13<00:14, 3.58s/it] lags grid: 57%|█████▋ | 4/7 [00:15<00:08, 2.84s/it] lags grid: 71%|███████▏ | 5/7 [00:16<00:04, 2.40s/it] lags grid: 86%|████████▌ | 6/7 [00:18<00:02, 2.24s/it] lags grid: 100%|██████████| 7/7 [00:20<00:00, 2.05s/it] lags grid: 100%|██████████| 7/7 [00:20<00:00, 2.91s/it] 2023-12-21 17:31:21,247 - web_server - INFO - Elapsed time: 20.490362644195557 2023-12-21 17:31:21,355 - web_server - INFO - R2 score for optimized prediction in train period: -0.30239850496571674 2023-12-21 17:31:21,362 - web_server - INFO - R2 score for optimized prediction in test period: -0.08380513951771618 2023-12-21 17:31:21,362 - web_server - INFO - Number of optimal lags obtained: 48 I Emhass konfigurasjonen endrer du fra naive til mlforecast. Kjør deretter automatiseringen for day-ahead forecast optimisering. For mitt vedkommende er det å kjøre rest kommandoen: alias: EMHASS day-ahead optimization description: "" trigger: - platform: time at: "13:45:00" condition: [] action: - service: rest_command.trigger_tibber_forecast data: {} mode: single Loggen ser slik ut i emhass hvis alt går bra. 2023-12-21 17:34:21,698 - web_server - INFO - Setting up needed data 2023-12-21 17:34:21,710 - web_server - INFO - Retrieving weather forecast data using method = scrapper 2023-12-21 17:34:29,123 - web_server - INFO - Retrieving data from hass for load forecast using method = mlforecaster 2023-12-21 17:34:29,124 - web_server - INFO - Retrieve hass get data method initiated... 2023-12-21 17:34:56,966 - web_server - INFO - >> Performing dayahead optimization... 2023-12-21 17:34:56,967 - web_server - INFO - Performing day-ahead forecast optimization 2023-12-21 17:34:57,005 - web_server - INFO - Perform optimization for the day-ahead 2023-12-21 17:34:57,133 - web_server - INFO - Status: Infeasible 2023-12-21 17:34:57,133 - web_server - INFO - Total value of the Cost function = -138.77
  9. Vannbåren varmesystem er en flyttbar last så i utgangspunktet kan emhass brukes til å styre varmen. Jeg bruker emhass til oppvarming av varmtvannsbereder noe som også gjøres ved vannbåren varmesystem. Du tenker kanskje på å bygge et blått batteri istedenfor et husbatteri. Leste litt om dette her før monterte solceller: https://solcellekysten.no/2016/09/24/energistyring/
  10. Kampstrup og Pulse - kjente utfordringer https://support.tibber.com/nb/articles/5697101-kampstrup-og-pulse-kjente-utfordringer
  11. Bruker du Home Assistant kan du bruke denne plugin: https://github.com/toreamun/amshan-homeassistant for å kunne få data lokalt til en mqtt server. Hvis du ikke ønsker å bruke Tibber Pulse er programvare ams2mqtt et godt alternativ https://github.com/UtilitechAS/amsreader-firmware. Her kan du kjøpe ferdiglaget amsleser: https://amsleser.no/
  12. Emhass bruker pvlib biblioteket for å gjøre spørringer om inverter. Her er databasen som en csv fil du kan søke i: https://github.com/NREL/SAM/blob/develop/deploy/libraries/CEC Inverters.csv Se om du finner en inverter som passer med din egen og bruk den. https://community.home-assistant.io/t/emhass-an-energy-management-for-home-assistant/338126/51?u=haraldov pvlib.pvsystem.retrieve_sam https://pvlib-python.readthedocs.io/en/stable/reference/generated/pvlib.pvsystem.retrieve_sam.html Emhass bruker inverter- og solcelle-data og forecast fra værtjeneste til å spå "pv power production forecast" for neste dag. PV power production forecast (internally based on the weather forecast and the characteristics of your PV plant). This is given in Watts. https://emhass.readthedocs.io/en/latest/intro.html#passing-your-own-data Du kan alternativt bruke data fra Solcast https://solcast.com/ eller Forecast Solar https://www.home-assistant.io/integrations/forecast_solar/ og sende disse data til emhass med rest kommando. De vil overstyre den interne "pv power production forecast"
  13. Jeg bruker rest commands til å sende timeprisene til emhass api. Du kan lese mer om rest kommandoer her: https://www.home-assistant.io/integrations/rest_command/ Du kan få problemer nå du kopierer disse kommandoene som jeg limer inn til template editor. Jeg har opplevd at Visual Studio Code endrer på anførselstegnene " "og single ticks slik at template edit og emhass ikke godtar kommandoene. Hvis du opplever det kan File editor være bedre å bruke da den ikke fikser på slike tegn. Dobbelsjekk derfor min kode med hva som står i template editor. Dette er et vanlig problem de feste sliter med. Du kan også bruke shell command https://www.home-assistant.io/integrations/shell_command/ istedenfor rest commands. Fordelen med rest command er at den gir mere tilbakemelding i loggen. I emhass dokumentasjonen er det et eksempel hvordan bruke shell kommand til å legge inn timepriser fra Nordpool https://emhass.readthedocs.io/en/latest/forecasts.html#passing-your-own-forecast-data. Entsoe går fint også men test i template editor først før du sender data til emhass. rest_command: ml_forecast_fit: url: http://localhost:5000/action/forecast-model-fit method: POST content_type: "application/json" timeout: 300 payload: >- { "days_to_retrieve": 60, "num_lags": 24 } ml_forecast_tune: url: http://localhost:5000/action/forecast-model-tune method: POST content_type: "application/json" timeout: 300 payload: >- { } 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')}} } publish_data: url: http://localhost:5000/action/publish-data method: POST content_type: "application/json" timeout: 300 payload: >- {"custom_deferrable_forecast_id": [ {"entity_id": "sensor.p_deferrable0","unit_of_measurement": "W", "friendly_name": "Varmtvannsbereder"}, {"entity_id": "sensor.p_deferrable1","unit_of_measurement": "W", "friendly_name": "Varmekabel stue og kjøkken"}, {"entity_id": "sensor.p_deferrable2","unit_of_measurement": "W", "friendly_name": "Varmekabel bad1etg"}, {"entity_id": "sensor.p_deferrable3","unit_of_measurement": "W", "friendly_name": "Varmekabel bad2etg"}, {"entity_id": "sensor.p_deferrable4","unit_of_measurement": "W", "friendly_name": "Varmekabel gang"}, {"entity_id": "sensor.p_deferrable5","unit_of_measurement": "W", "friendly_name": "Varmepumpe"}, {"entity_id": "sensor.p_deferrable6","unit_of_measurement": "W", "friendly_name": "Easee lader"} ]} trigger_mpc_0600_forecast: url: http://localhost:5000/action/naive-mpc-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": [1, 1, 1, 1, 1, 5, 0], "prediction_horizon": 6 } trigger_mpc_1200_forecast: url: http://localhost:5000/action/naive-mpc-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": [2, 0, 0, 0, 0, 3, 1], "prediction_horizon": 6 } trigger_mpc_1800_forecast: url: http://localhost:5000/action/naive-mpc-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": [2, 1, 1, 1, 1, 3, 1], "prediction_horizon": 6 } trigger_mpc_0000_forecast: url: http://localhost:5000/action/naive-mpc-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": [2, 0, 0, 0, 0, 0, 2], "prediction_horizon": 6 } Når Rest kommandoer ikke får tilbakemelding om at alt er ok fra emhass server logger den til Home Assistant loggen mener jeg. Dette er grunnen til at jeg bruker rest kommandoer istedenfor shell kommand som brukes i dokumentasjonen. Så hvis strømpriser ikke oppdateres får du en melding i loggen. Hvis andre sensorer detter ut får du meldinger av Home Assistant i loggen. Emhass addon logger til sin egen logg som du kan finne i Settings->System->Logs. Du kan søke i den etter error eller warning. Dette må automatiseres utenom. 1) Du kan f.eks bruke PowerWiz til dette: https://theawesomegarage.com/blog/powerwiz-for-home-assistant-control-your-power . Har ikke prøvd det selv, men ser lovende ut 2) Du kan også bruke Home Assistant automatisering som du ser her: https://github.com/kimmilde/home-assistant 3) Du kan også bruke et Pyscript https://github.com/custom-components/pyscript som Stigvi har laget. Du finner mer om dette her: Du må nok ha strømmåling. Jeg bruker en Fibaro wallplug på varmepumpen, en Aeotec Heavy Duty Switch til varmtvannsberederen. Er ikke noe ekspert på dette, men jeg mener nominell effekt er den høyeste wattstyrken som varmepumpen kan oppnå. Dette kan du finne i manualen eller bruke en strømplugg til å måle den høyeste effekten varmepumpen har. Det er iallefall det jeg setter inn for min varmepumpe som har nominell effekt på 3000 Watt - nominal_power_of_deferrable_loads: 3000
  14. Min automatisering av day-ahead optimisering ser slik ut. Denne har jeg disablet da jeg bruker mpc optimisering så oppdaterer 6 timer i døgnet. Grunnen til det er at det er enklere å styre varmepumpe og elbilladning da. Skal en begynne med emhass ville jeg valgt day-ahead optimisering i starten. alias: EMHASS day-ahead optimization each day 13:55 description: "" trigger: - platform: time at: "13:55:00" condition: [] action: - service: rest_command.trigger_nordpool_forecast data: {} mode: single Hvis du ønsker oftere oppdatering av f.eks tider de flyttbare lastene skal være på kan du bruke mpc optimisering. F.eks trenger jeg å ha nattsenking på varmepumpen. Jeg bruker da en mpc automatisering klokken 00:00 hvor "def_total_hours": [2, 0, 0, 0, 0, 0, 2] ser slik ut. Varmepumpetid er i fet skrift i def_total_hours og er 0 timer i en seks timers periode. alias: "Emhass: Mpc optimisering klokken 00:00" description: "" trigger: - platform: time at: "00:00:00" condition: [] action: - service: rest_command.trigger_mpc_0000_forecast data: {} mode: single og en som trigger klokken 06:00 hvor "def_total_hours": [1, 1, 1, 1, 1, 5, 0] ser slik ut. Varmepumpetid er nå 5 timer på i en seks timers periode. Support for elbillading og varmepumpe er på todo listen til utvikleren David https://github.com/davidusb-geek/emhass/wiki Et tips på veien: Husk å teste ut rest command i template editor først. Det er lett at det blir feil med doble ticks (hermetegn ") og single ticks i template.
  15. Her har jeg skrevet litt om mitt emhass oppsett Er det noe mer du trenger så gi lyd fra deg.
×
×
  • 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.