Optimalizace spínání volitelných zdrojů

Automatizace, řízení, měření, logování a programování s využitím platformy Raspberry Pi.
tenlester
Příspěvky: 20
Registrován: úte dub 19, 2022 10:12 pm

Optimalizace spínání volitelných zdrojů

Nový příspěvek od tenlester »

Zdravím,

možná trochu nováčkovský dotaz.

mám hybridní FVE, 5.8 kWp a baterii 10kWh. V pěkné dny vyrobím o 20kWh víc než potřebuji a řeším co s tím.
Mám napojený Solar Assiatant a data z něj přenáším na HomeAssistant. Z něj jsem schopen spínat několik zdrojů:

- wall box EV auta - bere si 2000 - 4000 W a má 18kWh baterii
- nabíječky velkých baterek pro sekačku apod. (bere si 200W, má kapacitu)
- minery na kryptoměny (1500 W každej)
- v blízké budoucnosti spirálu pro teplou vodu (bohužel mysím měnit bojler)
- ....

Obecně tedy X zdrojů s různým výkonem a prioritou.
Problém je jak tohle zprioritizovat. Pochopitelně chci aby se každý den dobila baterie, ale to mohu udělat tak že si bere pár hodin plný výkon (1500W) a nebo trojnásobně dlouhou dobu 500W a vedle ní jede něco jiného. Taktéž nemám úplné informace - třeba u auta nemám data o stavu baterie. Takže můžu akorát pustit wallbox a přečíst si po nějaké době, zda si bere výkon nebo nebere. Atd.

Můj dotaz zní - neřešil jste někdo něco podobného? Není na to nějaký modul do HomeAssiatnta, který tohle zkouší dělat?
V optimální světě něco co si ještě dotáhne třeba předpoěď počasí a dokáže se rohodovat podle toho zda má být odpoledne jasno nebo pršet.

Zatím jsem našel toto - https://emhass.readthedocs.io/en/latest/intro.html
Nicméně to vypadá, že nepracuje s reálnými daty o odběru, ale s forecastem. Tedy to nezvládne složitější situace typu:

Hodně svítí, spustil jsem wallbox, ale neodebírá, takže je auto asi nabité (nebo venku). Vypadá, že bude svítit do večera, takže mohu baterku nabíjet pomaleji a spustit těžby krypta.
luky
Příspěvky: 915
Registrován: pon kvě 19, 2014 11:38 am

Re: Optimalizace spínání volitelných zdrojů

Nový příspěvek od luky »

Jo, ten modul se jmenuje "křišťálová koule".
Správné řešení neexistuje a navíc to má každý jinak. Pořád jde o nějaký odhad budoucnosti a to prostě nikdy nebude dokonalý. Sám na tom pracuju a počítám s tím, že do toho zapracuju předpověď počasí - pak budu tušit, kolik toho mám na den k dispozici a dá se nějak spočítat, jak tu spotřebu rozložit.
Pokud máš kompatibilní auto, dá se z něho číst tímto: https://docs.openvehicles.com/en/latest ... ction.html
mobilní elektrárna: viewtopic.php?t=4597, 290Wp mono, Winston 12V/130Ah, Victron MPPT 75/15, Victron inverter 12/250VA, Victron charger 20A, Orion 30A
domácí elektrárna: viewtopic.php?t=6898, FV 5kWp, LiFe 48V/120+120Ah, Axpert King 48/5000 + PCM60X + EPever
tenlester
Příspěvky: 20
Registrován: úte dub 19, 2022 10:12 pm

Re: Optimalizace spínání volitelných zdrojů

Nový příspěvek od tenlester »

luky píše:
Jo, ten modul se jmenuje "křišťálová koule".
Živím se vývojem SW, včetně celkem komplexních věcí kolem machine-learningu. Takže je mi jasné, že bude nějaká chybovost a nebude to dokonalý. Ale od toho jsm geekové, že?

Každopádně díky za odkaz na auta, to vypadá super. Mám toyota RAV plugin hybrid, takže to vypadá podporovaně.
Ohledně předpovědi - používám zatím tohle
https://www.home-assistant.io/integrati ... ast_solar/

Dává to celkem dobré výsledky - kombinace osvitového modelu a předpovědi počasí. Obrázek je ze dneška, kdy je totál zataženo a od rána leje. Lze to použít v automatizacích.
Přílohy
Screenshot 2022-06-07 092727.png
Uživatelský avatar
Brbla
Příspěvky: 259
Registrován: čtv srp 08, 2019 3:44 pm

Re: Optimalizace spínání volitelných zdrojů

Nový příspěvek od Brbla »

Řeším to následovně
1) sbírám co nejvíc dat a z nich počítám, kolik ještě potřebuju, abych po západu slunce měl plný baterky, nahřátej bojler, nahřátý akvárka atd. - k tomu potřebuju znát aktuální spotřebu domácnosti, objem bojleru + teplotu vody, kolik se ještě vejde do baterek a atd. + kolik cca zbaští 1 cyklus pračky, myčky a kde v tom cyklu zrovna jsem atd.
2) snímám aktuální příkon z panelů
3) znám aktuální čas, čas východu a západu slunce
4) v každém okamžiku dne tak vím, kolik už jsem dostal z panelů a kolik ještě budu potřebovat (provoz domácnosti + kolik energie ještě minimálně a maximálně na bojler, myčku, pračku, mlátičkopečku . . .)
5) v každém okamžiku aproximuju (extrapoluju) kolik ještě při současné situaci asi tak z panelů dostanu (apraximace do highnoon obdélník, z highnoon do dusk lineárně (trojůhelník) - uplně to stačí
6) pokud jsem v plusu po odečtení (předpokládaná denní energie z panelů) - (předpokládaná spotřeba domácnosti) -> mužu přidat daší zátěž , v opačném případě ubrat
7) zohledňuju určité priority, např aby v baterkách bylo alespoň 50%, bojler měl alespoň 30°C po 16 hod., aby se stihlo doprat před 16 atd.
8) všechny hodnoty získávám 4x / min., reguluju 1x / 1 min.
Pro programátora to je práce v home assistant na odpoledne + tejden dolaďování.

V současné době snímám (mimo hodnoty ze střídače) 28 čidel (většinou P a t) a k tomu spínám odpovídající počet spínačů (světla, spirála bojleru, topení, klimatizace, odvlhčovač, spouštění GreenBonoAku + 3 SSR atd.)
tenlester
Příspěvky: 20
Registrován: úte dub 19, 2022 10:12 pm

Re: Optimalizace spínání volitelných zdrojů

Nový příspěvek od tenlester »

Brbla píše:
.....
Pro programátora to je práce v home assistant na odpoledne + tejden dolaďování.
V současné době snímám (mimo hodnoty ze střídače) 28 čidel (většinou P a t) a k tomu spínám odpovídající počet spínačů (světla, spirála bojleru, topení, klimatizace, odvlhčovač, spouštění GreenBonoAku + 3 SSR atd.)
To zní luxusně. Zaklad je skutecne měrit, coz aktualne delam.

Automatizaci děláš jak? Spíše abych nehledal slepé cesty.
Já zvažuji následující víceméně to psát v pythonu jako skript (https://www.home-assistant.io/integrati ... on_script/), protoze pres automatizace nebo skripty mi prave ty napocty a slozitejsi veci prijdou neohrabane.
Uživatelský avatar
Brbla
Příspěvky: 259
Registrován: čtv srp 08, 2019 3:44 pm

Re: Optimalizace spínání volitelných zdrojů

Nový příspěvek od Brbla »

Mám nadefinované proměnné "template", které mi počítají ze změřených hodnot všechno, co potřebuju

Například
kwh_to_soc_max, kwh_to_soc_min, time_to_soc_max, time_to_soc_min
time_to_setting, time_to_rising, time_to_noon
goodwe_todays_pv_prediction_from_now_kWh, home_todays_consumption_prediction_from_now_kwh
boiler_prediction_to_max_kwh, soc_prediction_to_setting, soc_prediction_to_rising
consumption_regulation_kwh - ta je pro mne nejdůležitější při rozhodování -> je-li záporná, musím ubrat, je-li kladná, mužu přidat vytěžování
tydle proměnné si taky zobrazuju, abych měl přehled

k tomu mám proměnné, které mohu měnit z ovládacího panelu případně scénama (léto, zima - v tom se zrovna hrabu)

dále mám nadefinované přepínače - battery_first, boiler_first, aqua_first -> mužu si něco bezbolestně upřednostnit (o půlnoci přepínače vypnu a nastavím tak plnou automatiku)

je toho docela dost, ale jednotlivé automatizace jsou docela krátké, jen je potřeba pohlídat vazby mezi nima

regulaci řeším automatizacema - například posouvám minimální a cílovou teplotu pro regulaci bojleru a akvárií, hlídám minimální hodnoty teplot, pustim pračku atd.
consumption_kwh_boiler_increase, consumption_kwh_boiler_decrease, consumption_kwh_aqua...
GreenBonO_off, GreenBonO_ON,

tímdle způsobem taky řeším i přepínání ostrov<->grid (primárně jedu ostrov, v zimě přepínám podle soc a odhadu PV energie)

příklad (naklikáno normálně přes rozhraní)

Kód: Vybrat vše

alias: consumption_regulation_kwh_boiler_increase_**15s
description: ''
trigger:
  - platform: time_pattern
    hours: '*'
    minutes: '*'
    seconds: '15'
condition:
  - condition: numeric_state
    entity_id: sensor.consumption_regulation_kwh
    above: '0'
  - condition: and
    conditions:
      - condition: numeric_state
        entity_id: climate.boiler_heater
        attribute: temperature
        below: '50'
      - condition: and
        conditions:
          - condition: template
            value_template: >-
              {{ (state_attr('climate.boiler_heater', 'current_temperature') |
              float(default=0)) > (state_attr('climate.boiler_heater',
              'temperature')|float(default=0))  }}
          - condition: and
            conditions:
              - condition: state
                entity_id: switch.cez1
                state: 'off'
              - condition: and
                conditions:
                  - condition: state
                    entity_id: input_boolean.battery_first
                    state: 'off'
                  - condition: and
                    conditions:
                      - condition: state
                        entity_id: input_boolean.aqua_first
                        state: 'off'
                      - condition: and
                        conditions:
                          - condition: numeric_state
                            entity_id: sensor.goodwe_battery_soc
                            above: '45'
action:
  - service: climate.set_temperature
    target:
      entity_id: climate.boiler_heater
    data:
      temperature: 50
mode: restart
tenlester
Příspěvky: 20
Registrován: úte dub 19, 2022 10:12 pm

Re: Optimalizace spínání volitelných zdrojů

Nový příspěvek od tenlester »

Brbla píše:
...
je toho docela dost, ale jednotlivé automatizace jsou docela krátké, jen je potřeba pohlídat vazby mezi nima
....
Díky za navedení. Tak jsem s tím laboroval a ty hafa automatizací mne trochu štvaly. Nakonec jsem zakotvil u NODE-RED, ktery funguje jako add-on.

Tam víceméně jedu tak, tak si na základě dat ze senzorů a těch proměnných vytvořím velký stavový JSON objekt obsahující a ten pošlu do javascript funkce, kde řeším logiku a prioritizace. Z ní pak leze co se má zapnout/vypnout.

Principielně je to to samé, ale přijde mi to o dost přehlednější, řeším to kódem na jednom místě s možností debugu.

Tak jen dávám na vědomí, kdyby někdo hledal inspiraci.

  • Podobná témata
    Odpovědi
    Zobrazení
    Poslední příspěvek