Day Ahead Optimizer: ervaringen met Home Assistant-addon DAO

Pagina: 1 2 3 Laatste
Acties:

Acties:
  • +22 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
Mede-auteur:
  • tonvanboven
  • Registratie: Oktober 2022
  • Laatst online: 21-04 21:51

tonvanboven

Day Ahead Optimizer is een add-on voor Home Assistant waarmee je je elektriciteitsverbruik en -productie kunt optimaliseren.
Het programma haalt voor de berekening de volgende zaken op:
  • de uurlijkse day ahead prijzen van vandaag en morgen
  • de weersvoorspelling voor het bereken van de opbrengst van de zonnepanelen en de warmtebehoefte van de warmtepomp.
De optimalisering van het verbruik gebeurt met behulp van een generiek wiskundig algoritme
met de naam "Mixed-Integer lineair Programming". Meer daarover kun je lezen op de
website die ook het algoritme en allerlei bijbehorende hulpmiddelen aanbiedt:
https://python-mip.com/

Deze implementatie berekent een optimale inzet van je thuisaccu('s), boiler, warmtepomp, pv, ev('s) en huishoudelijke apparatuur, waarbij naar keuze wordt gestreefd naar minimalisering van je kostenof naar minimalisering van je inkoop (nul op de meter) of
een combinatie van beide. Daarvoor worden de volgende zaken berekend:
  • uit de prognose van het weer (globale straling) per uur wordt een voorspelling berekend van de productie van je
  • zonnepanelen
  • met de tarieven van je dynamische leverancier (incl. opslag, belastingen en btw) worden per uur de kosten
  • en opbrengsten van het verbruik c.q. teruglevering berekend
  • m.b.v. de karakteristieken van je accu's worden per uur het laad- c.q. ontlaadvermogen berekend
  • wanneer moet je elektrische auto worden geladen
Dit resulteert (in de mip-module) in enkele honderden vergelijkingen en idem dito variabelen(onbekenden).
Aan de hand van de gekozen strategie kan met behulp van het algoritme de meest optimale setting van al deze variabelen worden berekend. Dit zijn:
  • per uur verbruik en kosten op de inkoopmeter
  • per uur teruglevering en opbrengst op de inkoopmeter
  • per uur laad- cq ontlaadvermogen van de thuisaccu('s) en de SoC aan het einde van het uur
  • tijdstip waarop de boiler moet worden opgewarmd
  • uurvakken waarin de elektrische auto moet worden geladen
Bijvoorbeeld:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2025-03-31 23:00:02 info: Berekende prognoses: 
   uur  bat_in  bat_out   cons   prod   base   boil     wp     ev  pv_ac   cost  profit  b_tem   mach
 23.00    0.00     2.40   0.00   2.24   0.15   0.00  -0.00   0.00   0.00   0.00   -0.61  51.00   0.00
  0.00    0.00     2.40   0.00   2.23   0.17   0.00  -0.00   0.00   0.00   0.00   -0.60  50.50   0.00
  1.00    0.00     0.03   0.37   0.00   0.40   0.00  -0.00   0.00   0.00   0.10   -0.00  50.00   0.00
  2.00    0.00     0.00   0.18   0.00   0.18   0.00  -0.00   0.00   0.00   0.05   -0.00  49.50   0.00
  3.00    0.00     0.00   2.13   0.00   0.50   0.00  -0.00   0.00   0.00   0.55   -0.00  49.00   1.62
  4.00    0.00     0.00   0.94   0.00   0.15   0.00   0.04   0.00   0.00   0.24   -0.00  48.50   0.75
  5.00    0.00     2.40   0.00   2.27   0.13   0.00  -0.00   0.00   0.00   0.00   -0.60  48.00   0.00
  6.00    0.00     3.60   0.00   3.46   0.14   0.00  -0.00   0.00   0.00   0.00   -1.02  47.50   0.00
  7.00    0.00     4.14   0.00   4.02   0.17   0.00  -0.00   0.00   0.05   0.00   -1.45  47.00   0.00
  8.00    0.00     4.14   0.00   4.37   0.21   0.00  -0.00   0.00   0.44   0.00   -1.49  46.50   0.00
  9.00    0.00     2.40   0.00   3.57   0.35   0.00  -0.00   0.00   1.52   0.00   -0.99  46.00   0.00
 10.00    0.00     0.00   0.00   2.10   0.23   0.00   0.23   0.00   2.55   0.00   -0.51  45.50   0.00
 11.00    0.00     0.00   0.00   2.94   0.21   0.00   0.30   0.00   3.45   0.00   -0.62  45.00   0.00
 12.00    4.80     0.00   1.40   0.00   0.28   0.00   0.40   0.00   4.08   0.22   -0.00  44.50   0.00
 13.00    4.80     0.00   1.08   0.00   0.26   0.00   0.50   0.00   4.47   0.13    0.00  44.00   0.00
 14.00    4.80     0.00   2.88   0.00   0.38   1.07  -0.00   0.00   4.47   0.32    0.00  56.50   1.10
 15.00    4.80     0.00   1.55   0.00   0.28   0.00   0.40   0.00   4.06   0.22    0.00  56.00   0.12
 16.00    2.40     0.00   0.00   0.50   0.15   0.00   0.30   0.00   3.34   0.00   -0.10  55.50   0.00
 17.00    0.00     0.00   0.00   1.44   0.56   0.00   0.30   0.00   2.30   0.00   -0.33  55.00   0.00
 18.00    0.00     3.60   0.00   4.51   0.32   0.00  -0.00   0.00   1.23   0.00   -1.24  54.50   0.00
 19.00    0.00     4.14   0.00   4.16   0.33   0.00  -0.00   0.00   0.35   0.00   -1.32  54.00   0.00
 20.00    0.00     4.14   0.00   3.90   0.24   0.00  -0.00   0.00   0.00   0.00   -1.20  53.50   0.00
 21.00    0.00     3.60   0.00   3.38   0.22   0.00  -0.00   0.00   0.00   0.00   -0.92  53.00   0.00
 22.00    0.00     1.20   0.00   1.03   0.17   0.00  -0.00   0.00   0.00   0.00   -0.27  52.50   0.00
 23.00    0.00     0.00   0.38   0.00   0.15   0.00   0.23   0.00   0.00   0.09   -0.00  52.00   0.00
Totaal   21.60    38.19  10.92  46.11   6.35   1.07   2.69   0.00  32.31   1.92  -13.26          3.60


Het geheel kan grafisch worden weergegeven:
Afbeeldingslocatie: https://tweakers.net/i/8Re8O2RgzsY-UCIdJwky6i_J-a8=/x800/filters:strip_exif()/f/image/V3j6tXKKliBiozrMHpYFJFcP.png?f=fotoalbum_large

Deze addon is open-source, staat op github en kan door iedereen worden geïnstalleerd:
https://github.com/corneel27/day-ahead

Dit topic is o.a. bedoeld voor de volgende situaties:
  • primair: uitwisseling van ervaringen en tips van andere gebruikers
  • problemen met het programma of vragen over het gebruik van de addonkunnen hier gesteld en beantwoord worden
  • Er komt in juni nog een belangrijke update van DAO aan: overgang van uur naar kwartier waarden van de day-ahead prijzen. Ook de ervaringen daarmee kunnen we in het forum delen.
Testen
De test-versie installeer je door als repository
code:
1
https://github.com/corneel27/day-ahead#addon

op te geven (dus met #addon erachter).

Belangrijk om te weten:
  • Je installeert hiermee een tweede versie van DAO naast je "productie-versie"
  • Geef de testversie een ander poort-nummer (bijv 5001) mee, dat kun je doen via "Configureer" op de informatiepagina van de addon.
  • Na installatie kun je je instellingen en secrets kopiëren van je productie-versie naar je testversie, waarna je de testversie beter een keer herstart.
  • Laat NOOIT de productie-versie en test-versie tegelijk rekenen of meteodata cq prijsdata ophalen, omdat dat mogelijk database-problemen en/of ha-problemen kan opleveren doordat tegelijkertijd dezelfde data worden opgeslagen/weggeschreven.
DAO installeren in een aparte container (geen addon).
Er zijn situaties waarin een addon van HA niet mogelijk of gewenst is. Bijv. HA draait zelf in een container en er is geen HA-OS en/of supervisor. Dan kan je DAO ook installeren als een aparte Docker-container.
Dat kan met docker compose.

Maak een docker-compose bestand aan met de volgende inhoud, of voeg dit toe aan je bestaande docker compose bestand:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  dao:
    #bron: https://gathering.tweakers.net/forum/list_messages/2293338?data%5Bfilter_keywords%5D=docker
    container_name: dao
    build: 
      context: https://github.com/corneel27/day-ahead.git#main:dao
      dockerfile: Dockerfile
      args:
        - BUILD_ARCH=amd64
        - BUILD_FROM=ghcr.io/hassio-addons/debian-base/amd64:stable
        - BUILD_VERSION=<nummer laatste versie>
      tags:
        - "dao:latest"
    volumes:
      - /volume1/docker/homeassistant/config:/homeassistant
      - /volume1/docker/dao/data:/config
    ports:
      - <poortnummer>:5000
    restart: unless-stopped
    environment:
      - TZ=Europe/Amsterdam


Toelichting: het build deel bouwt een image op, op basis van de GitHub repository (je hoeft zelf dus niets te downloaden). Hiervoor moet je 3 argumenten instellen die de Dockerfile gebruikt:
  • voor BUILD_ARCH moet je de processor invullen van je machine, momenteel worden alleen amd64 (=intel 64 bit), aarch64 (o.a. raspberry pi 4 en 5) en i386 (intel 32 bit)
  • voor BUILD_FROM heb je ook weer de keuze uit:
    * ghcr.io/hassio-addons/debian-base/aarch64:stable
    * ghcr.io/hassio-addons/debian-base/amd64:stable
    * ghcr.io/hassio-addons/debian-base/i386:stable
  • Voor BUILD_VERSION vul je de huidige versie van de GitHub repository van dao in.
Het resterende deel is nodig voor het opstarten van een container. Belangrijk daarin zijn de instellingen bij volumes en eventueel het poortnummer.
  • Volumes: Maak de eerste keer een directory voor dao aan waar dao zijn data kan opslaan buiten de container (bijvoorbeeld een subdirectory dao/data binnen je docker directory).
  • Verwijs in het deel volumes naar het pad waar je home assistant database staat, en het pad waar je dao data directory staat. Doe dit in het deel voor de ":", het deel erna is de interne verwijzing binnen de container zelf
  • Ports: als poort 5000 (de standaardpoort van dao) al is bezet voor DSM verander je hiermee de poort waarop je dao op kunt benaderen bijvoorbeeld 5009.
Je bouwt het image met het commando:
code:
1
docker-compose build dao


Je runt het image in een container met:
code:
1
docker-compose up -d dao


Of in een keer:
code:
1
docker-compose up -d --build --force-recreate dao


Hierna kun je dao benaderen via <ip-adres docker>:<ingestelde poortnummer> (bijvoorbeeld 192.168.1.123:5009)
Volg verder de handleiding vanaf het kopje instellingen in DOCS.md op GitHub. Belangrijk hierbij is het instellen van de toegang tot homeassistant in de config:

code:
1
2
3
4
5
"homeassistant": {
    "ip adress": "<ip adres waar home assistant draait>",
    "ip port": <poort nummer van home asssitant, standaard 8123>,
    "token": "<je long lived access token>"
  },


Er wordt in de handleiding verder verwezen naar herstarten en logboek. Dat moet je uiteraard doen in je eigen docker omgeving (je kunt daarvoor portainer gebruiken).

[ Voor 42% gewijzigd door KC27 op 17-04-2025 14:24 ]

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • +1 Henk 'm!

  • tonvanboven
  • Registratie: Oktober 2022
  • Laatst online: 21-04 21:51
Graag wil ik meehelpen @KC27, ik gebruik DAO vanaf het eerste uur.

Tibber; 3-fase Victron 5000 ESS, 60 kWh opslag; Day Ahead Optimizing van @KC27; PV 10kWp sinds 2010, EV sinds 2014; gasloos sinds 2001


Acties:
  • +1 Henk 'm!

  • DaBit
  • Registratie: Januari 2000
  • Laatst online: 19-04 10:06
Ik ben geen gebruiker van het eerste uur, maar inmiddels is DAO wel een uitermate hoog gewaardeerd puzzelstukje in het energiemanagement hier thuis.

Ik wil best mijn steentje bijdragen maar de vraag is hoeveel je werkelijk aan me hebt. Mijn softwarekennis stamt nog grotendels uit de tijd van turbo assembler en de Watcom C compiler; slangentaal en ninjajinjatemplates enzo heb ik niks mee. Testen en anderen helpen kan ik wel.

Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
Vragen over het gebruik van DAO of bijdragen waarin jij jouw toepassing van DAO uitlegt zijn van harte welkom.

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • ranjo
  • Registratie: April 2004
  • Laatst online: 22:53
Leuk dat er een topic komt! Deze ga ik volgen.

Ik heb DAO geïnstalleerd en heb zo nu en dan een simulatie gedraaid. Ik heb echter nog geen thuisbatterij en geen EV. Wel heb ik een full electric warmtepomp. Het slim inplannen van de verwarming en DHW runs hoop ik met deze tool voor elkaar te krijgen. Zeker met de zonnige koude dagen is het een mooie puzzel om de WP zo veel mogelijk tijdens zonuren te laten draaien. Ook de wasmachine (door wasbare luiers om de dag een 60 graden was) zou ik zo slim mogelijk getimed willen hebben.

Een ding wat me opvalt is dat DAO veel backup ruimte inneemt in de home assistant backup, ik wil nog uitzoeken waarom. Mijn vermoeden is dat er een symlink verkeerd zit waardoor de home assistant db ook in de DAO backup zit.

Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
ranjo schreef op dinsdag 1 april 2025 @ 09:54:
Leuk dat er een topic komt! Deze ga ik volgen.

Een ding wat me opvalt is dat DAO veel backup ruimte inneemt in de home assistant backup, ik wil nog uitzoeken waarom. Mijn vermoeden is dat er een symlink verkeerd zit waardoor de home assistant db ook in de DAO backup zit.
Dank voor deze tip. Ik ga het uitzoeken!

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • ErnstH
  • Registratie: September 2003
  • Niet online
Hier ook een tevreden gebruiker. Alleen heb ik nu het volgende, sinds vanochtend krijg ik weer een foutmelding in het log en lukt de simulatie niet meer:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Traceback (most recent call last):
  File "/root/dao/prog/da_scheduler.py", line 65, in <module>
    main()
  File "/root/dao/prog/da_scheduler.py", line 60, in main
    da_sched = DaScheduler("../data/options.json")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_scheduler.py", line 10, in __init__
    super().__init__(file_name)
  File "/root/dao/prog/da_base.py", line 94, in __init__
    super().__init__(hassurl=self.hassurl, token=self.hasstoken)
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/hassapi/client/base.py", line 36, in __init__
    self._assert_api_running()
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/hassapi/client/base.py", line 40, in _assert_api_running
    if not self._api_is_running():
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/hassapi/client/base.py", line 46, in _api_is_running
    return self._get("/")["message"] == "API running."  # type: ignore
           ^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/hassapi/client/base.py", line 54, in _get
    return self._process_response(
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/hassapi/client/base.py", line 90, in _process_response
    self._raise_error(response.status_code, response.url)
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/hassapi/client/base.py", line 95, in _raise_error
    raise error(f"{status_code} status code returned from {url}",)  # type: ignore
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
hassapi.exceptions.InternalServerError: 500 status code returned from http://supervisor/core/api/


Enig idee wat hier aan de hand kan zijn?

Acties:
  • 0 Henk 'm!

  • broekieman
  • Registratie: November 2019
  • Laatst online: 21:36
Ik had dit eerder geïnstalleerd, maar beide grafieken waren identiek.
Kwam dit omdat ik er niet daadwerkelijk gebruik van maakte, of....

Acties:
  • +2 Henk 'm!

  • DaBit
  • Registratie: Januari 2000
  • Laatst online: 19-04 10:06
ErnstH schreef op dinsdag 1 april 2025 @ 10:08:
Hier ook een tevreden gebruiker. Alleen heb ik nu het volgende, sinds vanochtend krijg ik weer een foutmelding in het log en lukt de simulatie niet meer:
..
Enig idee wat hier aan de hand kan zijn?
Die hebben er meer gehad. Een workaround is hier beschreven: https://github.com/cornee...3#issuecomment-2767358676

Acties:
  • +1 Henk 'm!

  • DaBit
  • Registratie: Januari 2000
  • Laatst online: 19-04 10:06
KC27 schreef op dinsdag 1 april 2025 @ 09:19:
Vragen over het gebruik van DAO of bijdragen waarin jij jouw toepassing van DAO uitlegt zijn van harte welkom.
Dan zal ik dat doen.

Mijn thuissituatie. Hardware:

- 2-onder-1-kap woning uit 1960.
- 35 zonnepanelen in meer en minder goede locaties, verdeeld over meerdere omvormers. Productie zal in een normaal jaar zo'n 11-12MWh in totaal zijn. Dat is niet heel veel voor zoveel panelen, maar ze waren vorig jaar zo goedkoop dat het best uit kon om panelen te leggen op erg onhandige plekken.
- Opel Corsa-e EV, Alfen 3-fasen laadpaal met Modbus connectie waarmee ik het laadproces iets kan sturen.
- Daikin hybride warmtepomp (met Arnold Niessen P1P2MQTT voor de koppeling aan HA)
- Goedkoop 100L elektrisch boilertje van de Hornbach in serie met de warmwaterbereiding van de gasketel. Wordt aangestuurd door een Shelly met solidstate-relais ipv regulier relais zodat ik 'm traploos kan regelen vanuit HA.
- Zelfbouw-thuisaccu bestaande uit 32kWh aan LiFePO4 cellen, 3x Victron Multiplus 48/5000, Cerbo-GX in external control mode. Is nog vers van de pers.

Software:
- HomeAssistant als VM in Proxmox.
- DAO als HA-addon
- NodeRED voor automatiseringen die verder gaan dan 'als A dan zet B aan'. Eigenlijk misbruik ik NodeRED als soort van runtime waarop ik gewoon for-while-ifthenelse code kan schrijven in een taaltje dat iets op C lijkt.

Nutsvoorzieningen:
- 3x25A netaansluiting en gasaansluiting.
- Dynamisch contract voor gas en stroom bij NextEnergy.

De flow is bij mij altijd DAO -> NodeRED -> aansturen apparaten. DAO bepaalt wanneer inzet van welk apparaat gewenst is, NodeRED bepaalt of aan dat verzoek voldaan kan worden.
Een voorbeeld is overbelasting van de hoofdzekeringen voorkomen; als electriciteit goedkoop is krijgt de thuisaccu het commando om hard te gaan laden en de EV ook. Als die thuisaccu dan, zeg, 8kW aan het slurpen is, de auto ook 8kW, en de kookplaat word aangezet in huis dan moet de zon wel heel hard schijnen wil dat goed gaan. In dat geval worden de stuurbare belastingen teruggeschaald totdat de opname uit het net beneden de 25A per fase ligt.
(Overigens heeft DAO wel degelijk een voorziening om een maximale hoeveelheid vermogen in te schalen, maar dat heeft geen weet van huishoudelijke apparatuur die erbij geschakeld wordt. In DAO de grid max power reduceren van 17kW naar 14kW en reageren op data van de P1 meter lijkt een vrij optimale balans te zijn tussen maximaal kunnen opnemen als de energie goedkoop is en belasting van het systeem.)

Thuisaccu en EV worden vrijwel volledig gestuurd door DAO en dat levert toch nodige euro's winst per dag op. Daarmee kan ik tot 2027 nog mooi de 'extra luxe' van de thuisbatterij terugverdienen. 3x 5kVA Victrons is luxe en geen noodzaak. Datzelfde geld ook voor de 16 extra cellen.

Wat op dit moment nog niet gestuurd word door DAO is de warmtepomp en de boiler.
De warmtepomp omdat ik die liefst niet afhankelijk maak van DAO of HA. Als het koud word in huis omdat software kuren heeft, mjah, dan is het gauw klaar met de software in huis. Dat zou dus 'warmtepomp werkt altijd, maar met DAO werkt het beter' moeten worden. Eigenlijk zoals met de laadpaal; we kunnen altijd laden, alleen met DAO gebeurt dat optimaler. Ik weet nog even niet goed hoe ik dat precies ga doen. Tot nu toe werkt simpelweg met de klokthermostaat de dure uren vermijden wel prima. Misschien is dat wel voldoende.

De boiler is ook een vreemde eend in de bijt. Die kan ik inzetten als het gunstiger is om met electriciteit te verwarmen dan met gas, maar ik hoef 'm niet in te zetten om warmwater te hebben. Dat loopt voorlopig dus nog buiten DAO om.

Wasmachine, droger, vaatwasser, enzovoorts, dat inschalen via DAO zou kunnen maar dat is voor nu nog een brug te ver voor de rest van de familie. Eerst A, dan B.

Acties:
  • 0 Henk 'm!

  • ErnstH
  • Registratie: September 2003
  • Niet online
DaBit schreef op dinsdag 1 april 2025 @ 10:30:
[...]


Die hebben er meer gehad. Een workaround is hier beschreven: https://github.com/cornee...3#issuecomment-2767358676
Super, nu werkt het weer. :)

Acties:
  • 0 Henk 'm!

  • mmniet
  • Registratie: Oktober 2002
  • Laatst online: 22-04 11:16

mmniet

De beetje weter

voor wanneer is deze addon nuttig? Ik ben er eens naar aan het kijken en optimaliseren van gebruik lijkt me ideaal gezien we volgend jaar geen salderen meer hebben, dus wanneer is het handig?

Nu:
- FullElectric WP van Viessman
- 20 PV

Overwegen:
- Thuisaccu ivm verdwijnen salderen en optimaliseren gebruik
- Dynamisch contract

Ik ben benieuwd wat jullie denken.

It's me Mario


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
mmniet schreef op dinsdag 1 april 2025 @ 11:20:
voor wanneer is deze addon nuttig? Ik ben er eens naar aan het kijken en optimaliseren van gebruik lijkt me ideaal gezien we volgend jaar geen salderen meer hebben, dus wanneer is het handig?

Nu:
- FullElectric WP van Viessman
- 20 PV

Overwegen:
- Thuisaccu ivm verdwijnen salderen en optimaliseren gebruik
- Dynamisch contract

Ik ben benieuwd wat jullie denken.
Je kunt DAO gebruiken als je kunt schuiven met je verbruik cq teruglevering.
Dan kan al heel simpel door de inzet te verschuiven van huishoudelijke apparaten (al dan niet geautomatiseerd), maar ook met thuisaccu, ev, warmtepomp, boiler enz.
Met een dynamisch contract kun je dan geld besparen (strategie "minimize cost") of je inkoop minimaliseren = streven naar nul op de meter(strategie "minimize delivery").

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • thomke
  • Registratie: November 2011
  • Laatst online: 22-04 14:24
Ikzelf gebruik nu reeds 'EpexSpot' integratie in homeassistant
(ik had zelf niet altijd goeie ervaringen met de prijzen van nordpool, situatie België /Engie)
https://github.com/mampfes/ha_epex_spot

en verder gebruik ik ook de integratie 'Smart EV':
https://github.com/jonasbkarlsson/ev_smart_charging/

aan de SmartEV integratie kan ik eigen 'price' data koppelen (dus de prijsdata van EpexSpot, is gekoppeld aan Smart EV'
Geen idee als dit ook een mogelijkheid is bij de DAO integratie.

Ik zal dit zeker volgen en misschien ook eens integreren.

Verder vroeg ik mij af als deze integratie ook rekening gaat houden met 'Capaciteits Tarief' in België?
(en in de toekomst hopelijk zelf 'dynamisch' capaciteits tarief)


nu is mijn integratie simpel:
Smart EV rekent uit wannee het optimaal is om de auto te laden.
op moment dat de auto gaat laden gaat de warmtepomp uit.
tijdens de 6 goedkoopste uren, en als de auto niet aan het laden is, geef ik de WP een boost (buffervat van 1000l) tijdens de 12 duurste uren ligt de warmtepomp volledig af.

ondanks dat ik 9kWPiek / 6KW omvormer heb, houden deze berekeningen geen rekening met de zon..maar goedkoopste uren zijn sowieso wanneer de zon schijnt is mij al opgevallen (tenzij in de winter, maar dan leveren de zonnepanlen toch amper op)
(maar dit wil wel zeggen, tijdens zonnig weer, dat ik tot 6 +5 (wat ik max van het net wil afhalen ivm capciteits tarief) 11kw ga laden, maar in alle andere gevallen veel minder.

Dus ben ik eerlijk gezegd wel benieuwd als deze DAO nog veel besparing zou kunnen opleveren.

Acties:
  • +1 Henk 'm!

  • tonvanboven
  • Registratie: Oktober 2022
  • Laatst online: 21-04 21:51
DaBit schreef op dinsdag 1 april 2025 @ 10:48:
[...]

- Zelfbouw-thuisaccu bestaande uit 32kWh aan LiFePO4 cellen, 3x Victron Multiplus 48/5000, Cerbo-GX in external control mode. Is nog vers van de pers.
Als je alles achter de Victron Multiplus 5000 kunt zetten dan gaat Victron de maximale grid belasting automatisch in de gaten houden. In mijn situatie heb ik de EV op de non-critical load gezet en de rest van het hele huis op de critical load. De vraag is dus of je de PV vanwege de 1:1 rule achter de Victron kunt zetten. Mijn oude PV installatie van 14 jaar oud is op elke fase met 3000W aangesloten.
De victron heb ik trouwens op een 'walstroom' van 29A gezet, in praktijk neemt de Victron een veiligheidsmarge van 2A waardoor er in praktijk maximaal 27A het grid in of uit gaat. Bij 29A door de automaten gingen ze er een keer uit.

Tibber; 3-fase Victron 5000 ESS, 60 kWh opslag; Day Ahead Optimizing van @KC27; PV 10kWp sinds 2010, EV sinds 2014; gasloos sinds 2001


Acties:
  • 0 Henk 'm!

  • tonvanboven
  • Registratie: Oktober 2022
  • Laatst online: 21-04 21:51
Kijk dat is weer genieten met dit weer:

Afbeeldingslocatie: https://tweakers.net/i/-KSLKV0bzbbX3t-2zbUT1OAG-MQ=/x800/filters:strip_exif()/f/image/zBCVtOQ0vhKIVlfMe9SALPn6.png?f=fotoalbum_large

Dank aan DOA voor de besparing in de maand maart: 300kWh ingekocht en daar € 77 voor mogen ontvangen.

Afbeeldingslocatie: https://tweakers.net/i/dgrRKsUYF1BodmkmL4CrUwBcGWw=/x800/filters:strip_exif()/f/image/r3b8dVsQvTFLWVo4PFsgOPRX.png?f=fotoalbum_large

Tibber; 3-fase Victron 5000 ESS, 60 kWh opslag; Day Ahead Optimizing van @KC27; PV 10kWp sinds 2010, EV sinds 2014; gasloos sinds 2001


Acties:
  • 0 Henk 'm!

  • tonvanboven
  • Registratie: Oktober 2022
  • Laatst online: 21-04 21:51
Een ander punt waar ik op dti forum aandacht aan wil gaan geven is hoe DAO in combinatie met HA en je variabele belasting op het huis de energiebalans zou kunnen regelen. Een korte uitleg als voorschot. DOA maakt een berekening normaal gesproken één keer per uur. Het setpoint wordt bepaald. Echter dit is de hoeveel energie (in Watt0 dat in of uit de accu moet gaan in dat lopende uur. Dat is dus niet het setpoint dat je één op één naar je Victron kunt sturen omdat immers de belasting in je huis variabel is. Zeker als je ook de PV achter de Victron hebt hangen.
Om dit op te vangen heb ik in HA een aantal automations gemaakt om het setpoint dat elke minuut naar je Victron gaat aan te passen afhankelijk van je belasting. Doordat in mijn situatie alles achter de MP hangt kun je het grid niet overbelasten, daar zorgt (gelukkig!) de Cerbo voor. Ook het over- over onderbelasten van je batterij is gelukkig niet mogelijk, de Cerbo is de baas, vanuit HA kun je vragen om iets te doen maar kan het niet dan doet de Cerbo het niet.

Tibber; 3-fase Victron 5000 ESS, 60 kWh opslag; Day Ahead Optimizing van @KC27; PV 10kWp sinds 2010, EV sinds 2014; gasloos sinds 2001


Acties:
  • +1 Henk 'm!

  • thys
  • Registratie: December 2004
  • Laatst online: 20:33
Ook even een kleine bijdrage voor wat betreft mijn setup.

1x Victron MultiPlus-II 48/5000/70-48
16x Eve MB31 in Yixiang V1 ~ 16 kWh
8x 410wp PV op oriëntatie Noord via micro omvormers

DAO gebruik ik voor de aansturing van de Victron. Het PV systeem draait hier helemaal los van. Een stuk bescheidenere opstelling dan mijn bovenbuurman, maar ik ben er blij mee. In Maart een mooie 34 kWh netto afgenomen en ik krijg er ook nog eens € 33 bij kado. Het zijn geen wereldbedragen en ik zal de installatie er ook niet mee terugverdienen maar daar heb ik vrede mee. Het is voor mij een hobby.

Afbeeldingslocatie: https://tweakers.net/i/tC_cuQQiP0zV2dld2FIv3-OjnwE=/x800/filters:strip_exif()/f/image/7zogm6c4d4pdP1IOZseoPFsb.png?f=fotoalbum_large

Afbeeldingslocatie: https://tweakers.net/i/cJptkHVdIZ7FlX9FaruPAX-yq9E=/800x/filters:strip_exif()/f/image/lXCPT0maXo1FdmXgo0UZMPtZ.png?f=fotoalbum_large

Mijn DAO config

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
{
  "homeassistant": {
   "protocol api": "http",
   "ip adress": "192.168.1.2",
   "ip port": 8123,
   "token": "!secret ha_api_token"
 },
  "database da": {
    "server": "192.168.1.3",
    "database": "day_ahead",
    "username": "hassuser",
    "password": "!secret db_da_password"
  },
  "database ha": {
    "server": "192.168.1.3",
    "database": "haos",
    "username": "hassuser",
    "password": "!secret db_ha_password"
  },
  "meteoserver-key": "!secret meteoserver-key",
  "prices": {
    "source day ahead": "nordpool",
    "entsoe-api-key": "!secret entsoe-api-key",
    "regular high": 0.2675,
    "regular low": 0.2575,
    "switch to low": 23,
    "energy taxes delivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "energy taxes redelivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "cost supplier delivery": {
      "2024-04-01": 0.0205
    },
    "cost supplier redelivery": {
      "2024-04-01": 0.0205
    },
    "vat": {
      "2024-01-01": 21
    },
    "last invoice": "2024-10-23",
    "tax refund": "True"
  },
  "logging level": "info",
  "use_calc_baseload": "False",
  "baseload calc periode": 56,
  "baseload": [
    0.13,
    0.13,
    0.13,
    0.13,
    0.13,
    0.13,
    0.13,
    0.13,
    0.18,
    0.18,
    0.18,
    0.18,
    0.18,
    0.18,
    0.18,
    0.18,
    0.18,
    0.28,
    0.28,
    0.28,
    0.18,
    0.18,
    0.13,
    0.13
  ],
  "graphical backend": "",
  "graphics": {
    "style": "Solarize_Light2",
    "show": "true",
    "prices delivery": "True",
    "prices redelivery": "True",
    "average delivery": "True"
  },
  "strategy": "minimize cost",
  "notifications": {
    "notification entity": "",
    "opstarten": "False",
    "berekening": "False",
    "last activity entity": "input_datetime.dao_last_activity"
  },
  "grid": {
    "max_power": 9
  },
  "history": {
    "save days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "boiler": {
    "boiler present": "False"
  },
  "heating": {
    "heater present": "False"
  },
  "battery": [
    {
      "name": "Accu1",
      "entity actual level": "sensor.rs485_bms0_battery_capacity_state_of_charge",
      "capacity": 16,
      "upper limit": 100,
      "lower limit": 10,
      "minimum power": 500,
      "dc_to_bat efficiency": 0.98,
      "bat_to_dc efficiency": 0.99,
      "cycle cost": 0.05,
      "entity set power feedin": "input_number.dao_accu1_power_feedin",
      "entity set operating mode": "input_select.ess_operating_mode",
      "entity stop inverter": "input_datetime.stop_victron",
      "entity balance switch": "input_boolean.balanceer_grid",
      "entity min soc end opt": "input_number.dao_entity_min_soc_end",
      "entity calculated soc": "input_number.dao_entity_calculated_soc",
      "solar": [],
      "charge stages": [
        {
          "power": 0,
          "efficiency": 1
        },
        {
          "power": 500,
          "efficiency": 0.785
        },
        {
          "power": 1000,
          "efficiency": 0.872
        },
        {
          "power": 1500,
          "efficiency": 0.897
        },
        {
          "power": 2000,
          "efficiency": 0.899
        },
        {
          "power": 2500,
          "efficiency": 0.898
        },
        {
          "power": 3000,
          "efficiency": 0.892
        },
        {
          "power": 3500,
          "efficiency": 0.882
        },
        {
          "power": 4000,
          "efficiency": 0.865
        }
      ],
      "discharge stages": [
        {
          "power": 0,
          "efficiency": 1
        },
        {
          "power": 200,
          "efficiency": 0.891
        },
        {
          "power": 500,
          "efficiency": 0.935
        },
        {
          "power": 1000,
          "efficiency": 0.952
        },
        {
          "power": 1250,
          "efficiency": 0.962
        },
        {
          "power": 1500,
          "efficiency": 0.952
        },
        {
          "power": 2000,
          "efficiency": 0.950
        },
        {
          "power": 2500,
          "efficiency": 0.934
        },
        {
          "power": 3000,
          "efficiency": 0.925
        },
        {
          "power": 3500,
          "efficiency": 0.915
        },
        {
          "power": 4000,
          "efficiency": 0.900
        },
        {
          "power": 4350,
          "efficiency": 0.893
        }
      ]
    }
  ],
  "solar": [
    {
      "name": "Solar",
      "tilt": 12,
      "orientation": 204,
      "capacity": 3.28,
      "yield": 0.007,
      "entity pv switch": "input_boolean.solar_pv_on_off"
    }
  ],
  "electric vehicle": [],
  "machines": [],
  "tibber": {
    "api_token": "!secret tibber_api_token"
  },
  "report": {
    "entities grid consumption": [
      "sensor.p1_meter_3c39e7241cfc_total_power_import"
    ],
    "entities grid production": [
      "sensor.p1_meter_3c39e7241cfc_total_power_export"
    ],
    "entities solar production ac": [
      "sensor.kwh_meter_5c2faf0ebcde_total_power_export"
    ],
    "entities solar production dc": [],
    "entities ev consumption": [
      "sensor.easee_lifetime_energy"
    ],
    "entities wp consumption": [],
    "entities boiler consumption": [],
    "entities battery consumption": [],
    "entities battery production": []
  },
  "scheduler": {
    "0430": "get_meteo_data",
    "0930": "calc_baseloads",
    "0950": "get_tibber_data",
    "1030": "get_meteo_data",
    "1050": "get_tibber_data",
    "1150": "get_tibber_data",
    "1250": "get_tibber_data",
    "1255": "get_day_ahead_prices",
    "1350": "get_tibber_data",
    "1355": "get_day_ahead_prices",
    "1450": "get_tibber_data",
    "1455": "get_day_ahead_prices",
    "1554": "get_day_ahead_prices",
    "1630": "get_meteo_data",
    "1655": "get_day_ahead_prices",
    "2230": "get_meteo_data",
    "2359": "clean_data",
    "xx00": "calc_optimum"
  }
}


Het Victron systeem is in HA geïntegreerd via Modbus TCP met het hass-victron component. DAO stelt bij mij in HA een helper in met de waarde voor het Victron systeem. Via een kleine automation pak ik die op en stel ik deze in op het acpowersetpoint van Victron.

Hoewel dit wel voorbekabeld is heb ik het huis en PV momenteel naast ipv achter de Victron geschakeld. Dit omdat ik op het Victron systeem alleen een stuurwaarde op kan geven voor de AC-IN-1. Anders zou ik continue een herberekening moeten doen om het huis verbruik hierin te corrigeren. Vanaf 01-01-2027 zal dit vanzelf opgelost zijn.

Dit draait nu een maand of 6 naar volle tevredenheid en ik heb er weinig omkijken naar 8)

Acties:
  • +1 Henk 'm!

  • Torch1969
  • Registratie: Juni 2013
  • Laatst online: 21:38
Ik lees hier graag mee en geniet van deze voorbeelden en ervaringen. Fijn dat dit topic is aangemaakt. Ik ben me aan het oriënteren op een wat slimmere energie management (nu wat zelfbouw op een homey) dat ik kan koppelen aan home assistant. DAO is één van de kandidaten, dus dit soort info is heel fijn om een oriënterende en opstartende mede-tweaker op weg te helpen. :) _/-\o_

Mijn situatie is:
1xSessy 5kWh thuisbatterij
Zonnepanelen Zuid West: 28 x 170 Wp Solar Frontier SF170-S (met een bijna niet te sturen omvormer)
Zonnepanelen Noord Oost: 8 x 450 Wp: dmegc solar dm450m10rt-54hbb (met Enphase micro omvormers, dus uit schakelen bij negatieve prijzen)
1 x PHEV (Kia Niro) met 10kWh accu
Home assistant in docker
Geen warmtepomp
Energiecontract dynamisch bij zonneplan

Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
Torch1969 schreef op dinsdag 1 april 2025 @ 17:30:
Ik lees hier graag mee en geniet van deze voorbeelden en ervaringen. Fijn dat dit topic is aangemaakt. Ik ben me aan het oriënteren op een wat slimmere energie management (nu wat zelfbouw op een homey) dat ik kan koppelen aan home assistant. DAO is één van de kandidaten, dus dit soort info is heel fijn om een oriënterende en opstartende mede-tweaker op weg te helpen. :) _/-\o_

Mijn situatie is:
1xSessy 5kWh thuisbatterij
Zonnepanelen Zuid West: 28 x 170 Wp Solar Frontier SF170-S (met een bijna niet te sturen omvormer)
Zonnepanelen Noord Oost: 8 x 450 Wp: dmegc solar dm450m10rt-54hbb (met Enphase micro omvormers, dus uit schakelen bij negatieve prijzen)
1 x PHEV (Kia Niro) met 10kWh accu
Home assistant in docker
Geen warmtepomp
Energiecontract dynamisch bij zonneplan
Er zijn meer gebruikers van DAO. met een of meer Sessy's. Wellicht kunnen zij jou helpen door hun setup hier te delen?

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • DaBit
  • Registratie: Januari 2000
  • Laatst online: 19-04 10:06
Dus ben ik eerlijk gezegd wel benieuwd als deze DAO nog veel besparing zou kunnen opleveren.
Niet heel veel, misschien kan DAO nog wat effectiever de laadpaal en warmtepomp aansturen.
tonvanboven schreef op dinsdag 1 april 2025 @ 15:17:
Als je alles achter de Victron Multiplus 5000 kunt zetten dan gaat Victron de maximale grid belasting automatisch in de gaten houden.
Die is 'lastig'. Tussen hoofd-groepenkast en Victrons ligt ca. 30 meter kabel wat nu een 5x4mm2 kabeltje is. Jaja, had ik toen geweten wat ik nu wist dan was die dikker geweest.
Maar zou ik heen en terug willen dan zou ik voor de spanningsval alleen al eigenlijk richting 5x10mm2 moeten gaan om het helemaal goed te doen. Al is 5x6mm2 in 98% van de gevallen ook wel genoeg. Maar alsnog fors wat werk en kosten om die 2 kabels te realiseren.

Wat ik dus gedaan heb is de 5x4 kabel van hoofdgroepenkast naar onderverdeler in de schuur doorgeknipt en omgeleid langs de Victrons. Nieuwe bekabeling is wel allemaal 6mm2.

Het woonhuis hangt dus op ACin, de schuur en zonnepanelen op die schuur op ACout1. Valt nu de stroom uit dan heb ik in de schuur wel licht en in het woonhuis niet. Nouja, dan leg ik wel tijdelijk een paar verlengkabeltjes. Het komt maar zelden voor.

Het maakte de regellus inderdaad wel ingewikkelder want je regelt op ACin setpoint terwijl ACout ook maar wat doet. Uiteindelijk heb ik in NodeRED een PIFF-controller geimplementeerd die de energie van/naar de batterij regelt op het setpoint wat uit DAO komt. Iets ouder plaatje alweer:

Afbeeldingslocatie: https://tweakers.net/i/jUgoM6jlWrzbfo5NWyZuKhL_Y1I=/800x/filters:strip_exif()/f/image/oSphp0VjRp3vjmlrWEW9NLaN.png?f=fotoalbum_large

Dat kan overigens ook de netopname balanceren met de data uit de P1 meter als DAO daarvoor kiest, maar dat heb ik 'm nog niet zien doen.
De vraag is dus of je de PV vanwege de 1:1 rule achter de Victron kunt zetten.
Ja, dat zou ik kunnen. Was samen met efficiency de reden om 3x 48/5000 te kopen ipv 3x 48/3000 of 1x 48/5000. Je koopt die dingen immers voor tenminste 10 jaar.
Kijk dat is weer genieten met dit weer:
Potverdorie zeg, jouw accu is wel heel actief!

DAO cijfers heb ik nog niet bekeken, maar over de maand maart zit ik volgens de app van NextEnergy op -34 euro aan energiekosten, gas plus elektra. Een simpele 'laad in de 6 goedkoopste uren, ontlaad in de 6 duurste uren' strategie had minder opgeleverd dan DAO. Dus ja, ik ben daar blij mee.

Acties:
  • 0 Henk 'm!

  • tonvanboven
  • Registratie: Oktober 2022
  • Laatst online: 21-04 21:51
thys schreef op dinsdag 1 april 2025 @ 17:18:
Vanaf 01-01-2027 zal dit vanzelf opgelost zijn.
Zoals DOA nu is ingericht niet, dat zullen we in HA moeten gaan oplossen. Of KC27 gaat nog een hele creatieve oplossing bedenken in zijn Add-on :)

Tibber; 3-fase Victron 5000 ESS, 60 kWh opslag; Day Ahead Optimizing van @KC27; PV 10kWp sinds 2010, EV sinds 2014; gasloos sinds 2001


Acties:
  • 0 Henk 'm!

  • tonvanboven
  • Registratie: Oktober 2022
  • Laatst online: 21-04 21:51
DaBit schreef op dinsdag 1 april 2025 @ 17:53:
[...]
Potverdorie zeg, jouw accu is wel heel actief!
Inderdaad, dit is mijn config en ik heb er met @KC27 regelmatig naar gekeken of er wat mis is. Maar ja met 60kWh kun je wel verzetten.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
{
  "homeassistant": {
    "protocol api": "http",
    "ip adress": "192.168.7.2",
    "ip port": 8123,
    "token": "!secret ha_api_token"},
  "database da": {
    "engine": "mysql",
    "database": "day_ahead",
    "username": "dao",
    "password": "!secret db_da_password"
  },
  "database ha": {
    "server": "192.168.7.2",
    "database": "homeassistant",
    "port": 3306,
    "username": "homeassistant",
    "password": "!secret db_ha_password"
  },
  "meteoserver-key": "!secret meteoserver-key",
  "prices": {
    "source day ahead": "nordpool",
    "entsoe-api-key": "!secret entsoe-api-key",
    "regular high": 0.35,
    "regular low": 0.32,
    "switch to low": 23,
    "energy taxes delivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "energy taxes redelivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154,
      "2027-01-01": 0
    },
    "cost supplier delivery": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496
    },
    "cost supplier redelivery": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496,
      "2027-01-01": 0 
    },
    "vat": {
      "2023-01-01": 21
    },
    "last invoice": "2022-11-30",
    "tax refund": "True"
  },
  "logging level" : "info",
  "baseload calc": "True",
  "baseload calc periode": 60,
  "baseload": [
    0.75,
    0.75,
    0.75,
    0.75,
    0.75,
    0.75,
    0.75,
    1,
    1,
    1,
    1,
    1,
    1,
    1,
    1,
    1,
    1,
    1.7,
    1.8,
    1.5,
    1.25,
    1.25,
    1.25,
    1
  ],
  "graphical backend": "",
  "graphics": {
    "style": "dark_background",
    "show" : "true",
    "battery balance": "True",
    "prices delivery": "False",
    "prices redelivery": "True",
    "average delivery": "False"
  },
  "strategy": "minimize cost",
  "notifications": {
    "notification entity": "input_text.dao_notificatie",
    "opstarten": "True",
    "berekening": "True",
    "last activity entity": "input_datetime.dao_laatste_activiteit"
  },
  "grid": {
    "max_power": 18.5
  },
  "history": {
    "save days": 3
  },
  "dashboard": {
    "port": 5000
  },
  "boiler": {
    "boiler present": "True",
    "entity actual temp.": "sensor.kelder_boiler_temperature",
    "entity setpoint": "input_number.dao_boiler_ingesteld",
    "entity hysterese": "input_number.dao_boiler_hysterese",
    "cop": 1,
    "cooling rate": 0.4,
    "volume": 120,
    "heating allowed below": 40,
    "elec. power": 2000,
    "activate service": "press",
    "activate entity": "input_button.dao_boiler_start_verwarmen"
  },
  "heating": {
    "heater present": "False",
    "degree days factor": 3.6,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "battery": [
    {
      "name": "LFP304",
      "entity actual level": "sensor.victron_battery_state_of_charge_system",
      "capacity": 60,
      "upper limit": 100,
      "lower limit": 10,
      "optimal lower level": 10,
      "entity min soc end opt": "input_number.dao_min_soc_einde_opt",
      "entity max soc end opt": "input_number.dao_max_soc_einde_opt",
      "charge stages": [
        {
          "power": 0,
          "efficiency": 1
        },
        {
          "power": 1500,
          "efficiency": 0.785
        },
        {
          "power": 3000,
          "efficiency": 0.872
        },
        {
          "power": 4500,
          "efficiency": 0.897
        },
        {
          "power": 6000,
          "efficiency": 0.899
        },
        {
          "power": 7500,
          "efficiency": 0.898
        },
        {
          "power": 9000,
          "efficiency": 0.892
        },
        {
          "power": 10500,
          "efficiency": 0.882
        },
        {
          "power": 12000,
          "efficiency": 0.871
        }
      ],
      "discharge stages": [
        {
          "power": 0,
          "efficiency": 1
        },
        {
          "power": 600,
          "efficiency": 0.891
        },
        {
          "power": 1500,
          "efficiency": 0.935
        },
        {
          "power": 3000,
          "efficiency": 0.952
        },
        {
          "power": 4500,
          "efficiency": 0.952
        },
        {
          "power": 7500,
          "efficiency": 0.934
        },
        {
          "power": 9000,
          "efficiency": 0.925
        },
        {
          "power": 10500,
          "efficiency": 0.915
        },
        {
          "power": 12000,
          "efficiency": 0.9
        },
        {
          "power": 13050,
          "efficiency": 0.893
        },
        {
          "power": 15360,
          "efficiency": 0.886
        },
        {
          "power": 16500,
          "efficiency": 0.863
        }
      ],
      "minimum power": 1000,
      "dc_to_bat efficiency": 0.9838,
      "bat_to_dc efficiency": 0.9838,
      "cycle cost": 0,
      "entity set power feedin": "input_number.dao_set_power_feedin",
      "entity set operating mode": "input_select.dao_set_operation_mode",
      "entity stop inverter": "input_datetime.dao_stop_inverter",
      "entity balance switch": "input_boolean.dao_balance_switch",
      "entity from battery": "input_number.dao_from_battery",
      "entity from pv": "input_number.dao_from_pv",
      "entity from ac": "input_number.dao_from_ac",
      "entity calculated soc": "input_number.dao_calculated_soc",
      "solar": []
    }
  ],
  "solar": [
    {
      "name": "woning",
      "tilt": 43,
      "orientation": 20,
      "capacity": 10.2,
      "yield": 0.02375,
      "entity pv switch": "input_boolean.dao_pv_switch",
      "sensor history": "sensor.solaredge_woning_ac_energy_kwh"
    },
    {
      "name": "garage",
      "tilt": 45,
      "orientation": 5,
      "capacity": 2,
      "yield": 0.00175,
      "entity pv switch": "input_boolean.dao_pv_switch",
      "sensor history": "sensor.solaredge_woning_ac_energy_kwh_2"
    }
  ],
  "electric vehicle": [
    {
      "name": "Tesla",
      "capacity": 70,
      "entity position": "device_tracker.redmist_location_tracker",
      "entity max amperage": "input_number.dao_max_amperage",
      "charge three phase": "True",
      "charge stages" : [
        {"ampere": 0, "efficiency": 0.00},
        {"ampere": 16, "efficiency": 0.90}
      ],      
      "entity actual level": "sensor.redmist_battery",
      "entity plugged in": "binary_sensor.dao_ev_plugged_in",
      "entity stop charging": "input_datetime.dao_stop_laden_ev",
      "charge scheduler": {
        "entity set level": "input_number.tesla_gewenste_soc",
        "level margin": 4,
        "entity ready datetime": "input_datetime.dao_redmist_klaar_met_laden"
      },
      "charge switch": "input_boolean.dao_redmist_charger",
      "entity set charging ampere" : "input_number.dao_redmist_set_charge_ampere"
    }
  ],
  "tibber": {
    "api_token": "!secret tibber_api_token"
  },
  "report": {
    "entities grid consumption": [
      "sensor.energy_consumed_tariff_1",
      "sensor.energy_consumed_tariff_2"
    ],
    "entities grid production": [
      "sensor.energy_produced_tariff_1",
      "sensor.energy_produced_tariff_2"
    ],
    "entities solar production ac": [
      "sensor.zonnepanelen_channel_a_energy",
      "sensor.zonnepanelen_channel_b_energy",
      "sensor.zonnepanelen_channel_c_energy",
      "sensor.shellyem3_34945475f512_channel_a_energy",
      "sensor.shellyem3_34945475f512_channel_b_energy",
      "sensor.shellyem3_34945475f512_channel_c_energy"
    ],
    "entities solar production dc": [],
    "entities ev consumption" : ["sensor.redmist_charged_energy_at_home"],
    "entities wp consumption" : [],
    "entities boiler consumption": [],    
    "entities battery consumption": ["sensor.energy_into_battery"],
    "entities battery production": ["sensor.energy_from_battery"]
  },
  "scheduler": {
    "0445": "get_meteo_data",
    "0930": "calc_baseloads",
    "1045": "get_meteo_data",
    "0952": "get_tibber_data",
    "1052": "get_tibber_data",
    "1152": "get_tibber_data",
    "1252": "get_tibber_data",
    "1258": "get_day_ahead_prices",
    "1313": "get_day_ahead_prices",
    "1315": "calc_optimum",
    "1328": "get_day_ahead_prices",
    "1330": "calc_optimum",
    "1350": "get_tibber_data",
    "1358": "get_day_ahead_prices",
    "1452": "get_tibber_data",
    "1458": "get_day_ahead_prices",
    "1445": "get_meteo_data",
    "1558": "get_day_ahead_prices",
    "2245": "get_meteo_data",
    "2355": "clean_data",
    "xx00": "calc_optimum"
  }
}


O ja, mijn EV heb ik al negen jaar geleden gekocht voordat Elon gek werd.
Mochten er nog verbeterpunten zijn dan hoor ik het graag _/-\o_

Tibber; 3-fase Victron 5000 ESS, 60 kWh opslag; Day Ahead Optimizing van @KC27; PV 10kWp sinds 2010, EV sinds 2014; gasloos sinds 2001


Acties:
  • 0 Henk 'm!

  • thys
  • Registratie: December 2004
  • Laatst online: 20:33
tonvanboven schreef op dinsdag 1 april 2025 @ 17:58:
[...]

Zoals DOA nu is ingericht niet, dat zullen we in HA moeten gaan oplossen. Of KC27 gaat nog een hele creatieve oplossing bedenken in zijn Add-on :)
Ik schat zelf in dat handelen vanaf die datum vrijwel nooit meer interessant gaat zijn. Als je salderen weghaalt en voor elke round-trip energiebelasting moet gaan betalen dan kan dat nooit meer uit. Je zou dan alleen je PV overschot van de dag nog optimaal weg kunnen zetten, maar ook dat moet lukken met setpoint direct op AC-IN-1 en de load achter de Victron.
tonvanboven schreef op dinsdag 1 april 2025 @ 18:09:
[...]
code:
1
2
3
...
      "cycle cost": 0,
...
Met een cycle cost van 0 wordt het systeem ook heel trigger happy, en valt er al snel hele bakken energie te verplaatsen. Hoe je dit ziet is natuurlijk een persoonlijke keuze. Één filosofie is dat het systeem toch al is betaald, dus er zijn nu geen kosten meer. De andere filosofie kan zijn om de investering over het totaal aantal cycli te verdelen. Dan zul je wel wat minder handelen. Er is ook geen goed of fout denk ik.

Acties:
  • 0 Henk 'm!

  • DaBit
  • Registratie: Januari 2000
  • Laatst online: 19-04 10:06
Och, in 2027 zullen we ook wel weer ooit 11 cent inkoop en 44 min belasting verkoop hebben. Of dat we 's nachts goedkope windstroom in kunnen kopen voor gebruik overdag. Voorlopig lijkt DAO me niet obsolete worden. Maargoed, de afgelopen jaren kunnen we nog niet eens een half jaar vooruit kijken met al die konijntjes die uit de hoge hoed getoverd worden.

Of 0 cent correct is, hmm. Opzich heb je de efficiëntie al en de kalender levensduur van de cellen tikt onderhand harder aan dan de cycli.

Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
broekieman schreef op dinsdag 1 april 2025 @ 10:28:
Ik had dit eerder geïnstalleerd, maar beide grafieken waren identiek.
Kwam dit omdat ik er niet daadwerkelijk gebruik van maakte, of....
Het programma komt alleen tot een andere grafiek na optimalisering als je het zo configureert dat het ook daadwerkelijk kan schuiven met verbruik en of teruglevering.
Bijvoorbeeld door het programma de inzet van een huishoudelijk apparaat (wasmachine, -droger enz) of een van een ev te laten berekenen. Ook met het laden en ontladen een thuisaccu kan veel "verdiend" worden.

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
ranjo schreef op dinsdag 1 april 2025 @ 09:54:
Leuk dat er een topic komt! Deze ga ik volgen.

Ik heb DAO geïnstalleerd en heb zo nu en dan een simulatie gedraaid. Ik heb echter nog geen thuisbatterij en geen EV. Wel heb ik een full electric warmtepomp. Het slim inplannen van de verwarming en DHW runs hoop ik met deze tool voor elkaar te krijgen. Zeker met de zonnige koude dagen is het een mooie puzzel om de WP zo veel mogelijk tijdens zonuren te laten draaien. Ook de wasmachine (door wasbare luiers om de dag een 60 graden was) zou ik zo slim mogelijk getimed willen hebben.

Een ding wat me opvalt is dat DAO veel backup ruimte inneemt in de home assistant backup, ik wil nog uitzoeken waarom. Mijn vermoeden is dat er een symlink verkeerd zit waardoor de home assistant db ook in de DAO backup zit.
Als je vragen hebt over het inplannen van je warmtepomp en boiler:stel ze hier.
Menigeen heeft er mee geworsteld en is bereid je ermee te helpen.

Wasmachine idem. DAO berekent binnen het tijd-window dat je opgeeft en het programma dat je wilt gaan draaien (met het opgegeven vermogen per kwartier) het optimale start- en eindtijdstip en geeft deze door aan een helper in HA.

Ik zie inderdaad dat de backup van DAO (excl. database) ruim 400 MB vraagt, terwijl een zip-bestand van de hele source (op github), maar 6,2 MB vraagt.
Ik zal eens kijken of ik daar iets aan kan doen. Bedankt voor de tip!

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
thomke schreef op dinsdag 1 april 2025 @ 12:18:
Ikzelf gebruik nu reeds 'EpexSpot' integratie in homeassistant
(ik had zelf niet altijd goeie ervaringen met de prijzen van nordpool, situatie België /Engie)
https://github.com/mampfes/ha_epex_spot

en verder gebruik ik ook de integratie 'Smart EV':
https://github.com/jonasbkarlsson/ev_smart_charging/

aan de SmartEV integratie kan ik eigen 'price' data koppelen (dus de prijsdata van EpexSpot, is gekoppeld aan Smart EV'
Geen idee als dit ook een mogelijkheid is bij de DAO integratie.

Ik zal dit zeker volgen en misschien ook eens integreren.

Verder vroeg ik mij af als deze integratie ook rekening gaat houden met 'Capaciteits Tarief' in België?
(en in de toekomst hopelijk zelf 'dynamisch' capaciteits tarief)


nu is mijn integratie simpel:
Smart EV rekent uit wannee het optimaal is om de auto te laden.
op moment dat de auto gaat laden gaat de warmtepomp uit.
tijdens de 6 goedkoopste uren, en als de auto niet aan het laden is, geef ik de WP een boost (buffervat van 1000l) tijdens de 12 duurste uren ligt de warmtepomp volledig af.

ondanks dat ik 9kWPiek / 6KW omvormer heb, houden deze berekeningen geen rekening met de zon..maar goedkoopste uren zijn sowieso wanneer de zon schijnt is mij al opgevallen (tenzij in de winter, maar dan leveren de zonnepanlen toch amper op)
(maar dit wil wel zeggen, tijdens zonnig weer, dat ik tot 6 +5 (wat ik max van het net wil afhalen ivm capciteits tarief) 11kw ga laden, maar in alle andere gevallen veel minder.

Dus ben ik eerlijk gezegd wel benieuwd als deze DAO nog veel besparing zou kunnen opleveren.
DAO kan de energieprijzen uit verschillende (zelf te kiezen) bronnen ophalen:
Nordpool; heb ik hele goede ervaringen mee, gratis, ze zijn vanaf 12:50 uur voor de volgende dag beschikbaar
Entsoe: werkt ook goed (iets minder dan Nordpool), je moet er een api-key voor ophalen
twee energieleveranciers, die meestal pas later in de middag beschikbaar zijn; Tibber, EasyEnergy

Je kunt in DAO een maximum vermogen van je inkoop instellen. Deze zal nooit worden overschreden worden. Dus hiermee kun je netjes binnen de grenzen van je capaciteitstarief blijven.
Als er verder nog specifieke wensen zijn om DAO aantrekkelijk te maken voor Belgische gebruikers: laat het me weten (evt via dm). Ik sta open voor aanvullingen en verbeteringen.

[ Voor 198% gewijzigd door KC27 op 01-04-2025 23:50 ]

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • vogel6
  • Registratie: Juli 2023
  • Laatst online: 22:53
tonvanboven schreef op dinsdag 1 april 2025 @ 15:36:
Een ander punt waar ik op dti forum aandacht aan wil gaan geven is hoe DAO in combinatie met HA en je variabele belasting op het huis de energiebalans zou kunnen regelen. Een korte uitleg als voorschot. DOA maakt een berekening normaal gesproken één keer per uur. Het setpoint wordt bepaald. Echter dit is de hoeveel energie (in Watt0 dat in of uit de accu moet gaan in dat lopende uur. Dat is dus niet het setpoint dat je één op één naar je Victron kunt sturen omdat immers de belasting in je huis variabel is. Zeker als je ook de PV achter de Victron hebt hangen.
Om dit op te vangen heb ik in HA een aantal automations gemaakt om het setpoint dat elke minuut naar je Victron gaat aan te passen afhankelijk van je belasting. Doordat in mijn situatie alles achter de MP hangt kun je het grid niet overbelasten, daar zorgt (gelukkig!) de Cerbo voor. Ook het over- over onderbelasten van je batterij is gelukkig niet mogelijk, de Cerbo is de baas, vanuit HA kun je vragen om iets te doen maar kan het niet dan doet de Cerbo het niet.
Afbeeldingslocatie: https://tweakers.net/i/UFLEwySUiNcQtB7fcGbVqQ8lqQk=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/cmJT4Rk6OxN7jk9u3h0pEbvW.png?f=user_large
Ik werd getriggerd door het maandsaldo in de DAO tabel in vergelijking met mijn eigen auto-local day optimizer.
Ik ga deze topic zeker bij houden om van te leren ,.

Acties:
  • +2 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
vogel6 schreef op dinsdag 1 april 2025 @ 23:45:
[...]

[Afbeelding]
Ik werd getriggerd door het maandsaldo in de DAO tabel in vergelijking met mijn eigen auto-local day optimizer.
Ik ga deze topic zeker bij houden om van te leren ,.
Mooie tabel.
Dit is mijn tabel voor dit jaar(dus incl. maart).
Automatische gegeneerd door DAO via het DAO-dashboard:
Afbeeldingslocatie: https://tweakers.net/i/CUgWwaBX9_N59c1xG4QY6E8Z2sY=/800x/filters:strip_exif()/f/image/CAVibzHxyajHg0HPPOALwx6I.png?f=fotoalbum_large

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • +2 Henk 'm!

  • Marcjeno1
  • Registratie: Juli 2007
  • Laatst online: 22:17
Hoe kan ik dit gebruiken met home assistant die op docker draait? Iemand daar ervaring mee?

Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
Marcjeno1 schreef op woensdag 2 april 2025 @ 07:19:
Hoe kan ik dit gebruiken met home assistant die op docker draait? Iemand daar ervaring mee?
Ik ben zelf geen docker-expert, maar iemand met een beetje docker kennis zou de huidige Docker-file kunnen ombouwen naar een "stand-alone" Docker-file zodat hij bij het installeren niet meer afhankelijk is van de Home Assistant supervisor.
Wie neemt deze handschoen op? Ik ben graag bereid om mee te denken en te helpen.

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • Marcjeno1
  • Registratie: Juli 2007
  • Laatst online: 22:17
KC27 schreef op woensdag 2 april 2025 @ 10:09:
[...]

Ik ben zelf geen docker-expert, maar iemand met een beetje docker kennis zou de huidige Docker-file kunnen ombouwen naar een "stand-alone" Docker-file zodat hij bij het installeren niet meer afhankelijk is van de Home Assistant supervisor.
Wie neemt deze handschoen op? Ik ben graag bereid om mee te denken en te helpen.
Ik zat al wat te rommelen op chatgpt, maar krijg het daarmee niet voor elkaar helaas. Voor de rest heb ik hier niet genoeg kennis van om dit werkend te krijgen.

Acties:
  • 0 Henk 'm!

  • arro3038
  • Registratie: November 2023
  • Laatst online: 22:04
Net begonnen met DAO en loop tegen een vraag aan. De oplossing zal simpel zijn, maar de uitleg in de documentatie is een tikje verwarrend op dit punt.

Het gaat om de orientatie van de zonnepanelen. In de documentatie staat:

orientation getal -180(N) ..-90(W)..0(Z) ..90(W)..180(N)

Twee maal west?? Een van de twee zal oost zijn, maar is dat dan de 90 of de -90? Mijn panelen liggen ZZO, is dat dan -30 of juist +30?

Acties:
  • +2 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
arro3038 schreef op woensdag 2 april 2025 @ 16:11:
Net begonnen met DAO en loop tegen een vraag aan. De oplossing zal simpel zijn, maar de uitleg in de documentatie is een tikje verwarrend op dit punt.

Het gaat om de orientatie van de zonnepanelen. In de documentatie staat:

orientation getal -180(N) ..-90(W)..0(Z) ..90(W)..180(N)

Twee maal west?? Een van de twee zal oost zijn, maar is dat dan de 90 of de -90? Mijn panelen liggen ZZO, is dat dan -30 of juist +30?
Mijn fout, moet zijn:
orientation getal -180(N) ..-90(O)..0(Z) ..90(W)..180(N)

Verderop staat wel:
* orientation: orientatie in graden, 0 = zuid, -90 is oost, 90 west

Dank voor je opmerkzaamheid en het melden.
Ik heb het ook aangepast in de documentatie voor de volgende versie.

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • +2 Henk 'm!

  • bvw
  • Registratie: September 2020
  • Laatst online: 20:46

bvw

Marcjeno1 schreef op woensdag 2 april 2025 @ 10:28:
[...]


Ik zat al wat te rommelen op chatgpt, maar krijg het daarmee niet voor elkaar helaas. Voor de rest heb ik hier niet genoeg kennis van om dit werkend te krijgen.
In de dockerfile de eerste twee regels vervangen door

code:
1
FROM debian:12.2-slim


Dan bouwen met

code:
1
docker build .


dan runnen met

code:
1
docker run --name dao --privileged -p 5009:5000 -v /media/data/ha-test/config:/homeassistant -v /media/dao/day-ahead/dao/data:/config dao:latest



Nu heb ik een web interface draaien op poort 5009.

Dan nog in de options.json toevoegen:

code:
1
2
3
4
5
"homeassistant": {
    "ip adress": "192.168.2.2",
    "ip port": 8901,
    "token": "je long lived access token"
  },


Krijg in de command line nog een da db error... heb de instellingen gewoon op default

[ Voor 25% gewijzigd door bvw op 02-04-2025 19:47 ]

LG Therma V MonoBloc HM091MR.U44 hybride | Bosch Compress 3000i (split) 5kW hybride | Home Assistant met WAF


Acties:
  • +3 Henk 'm!

  • tonvanboven
  • Registratie: Oktober 2022
  • Laatst online: 21-04 21:51
thys schreef op dinsdag 1 april 2025 @ 17:18:
Anders zou ik continue een herberekening moeten doen om het huis verbruik hierin te corrigeren.
Ik heb dit opgelost in HA en zal mijn automations uiteraard beschikbaar gaan stellen. Geef me even wat tijd om e.e.a. op een rijtje te zetten en netjes te documenteren.

Tibber; 3-fase Victron 5000 ESS, 60 kWh opslag; Day Ahead Optimizing van @KC27; PV 10kWp sinds 2010, EV sinds 2014; gasloos sinds 2001


Acties:
  • 0 Henk 'm!

  • broekieman
  • Registratie: November 2019
  • Laatst online: 21:36
thys schreef op dinsdag 1 april 2025 @ 17:18:
Ook even een kleine bijdrage voor wat betreft mijn setup.

1x Victron MultiPlus-II 48/5000/70-48
16x Eve MB31 in Yixiang V1 ~ 16 kWh
8x 410wp PV op oriëntatie Noord via micro omvormers

DAO gebruik ik voor de aansturing van de Victron. Het PV systeem draait hier helemaal los van. Een stuk bescheidenere opstelling dan mijn bovenbuurman, maar ik ben er blij mee. In Maart een mooie 34 kWh netto afgenomen en ik krijg er ook nog eens € 33 bij kado. Het zijn geen wereldbedragen en ik zal de installatie er ook niet mee terugverdienen maar daar heb ik vrede mee. Het is voor mij een hobby.

[Afbeelding]

[Afbeelding]

Mijn DAO config

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
{
  "homeassistant": {
   "protocol api": "http",
   "ip adress": "192.168.1.2",
   "ip port": 8123,
   "token": "!secret ha_api_token"
 },
  "database da": {
    "server": "192.168.1.3",
    "database": "day_ahead",
    "username": "hassuser",
    "password": "!secret db_da_password"
  },
  "database ha": {
    "server": "192.168.1.3",
    "database": "haos",
    "username": "hassuser",
    "password": "!secret db_ha_password"
  },
  "meteoserver-key": "!secret meteoserver-key",
  "prices": {
    "source day ahead": "nordpool",
    "entsoe-api-key": "!secret entsoe-api-key",
    "regular high": 0.2675,
    "regular low": 0.2575,
    "switch to low": 23,
    "energy taxes delivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "energy taxes redelivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "cost supplier delivery": {
      "2024-04-01": 0.0205
    },
    "cost supplier redelivery": {
      "2024-04-01": 0.0205
    },
    "vat": {
      "2024-01-01": 21
    },
    "last invoice": "2024-10-23",
    "tax refund": "True"
  },
  "logging level": "info",
  "use_calc_baseload": "False",
  "baseload calc periode": 56,
  "baseload": [
    0.13,
    0.13,
    0.13,
    0.13,
    0.13,
    0.13,
    0.13,
    0.13,
    0.18,
    0.18,
    0.18,
    0.18,
    0.18,
    0.18,
    0.18,
    0.18,
    0.18,
    0.28,
    0.28,
    0.28,
    0.18,
    0.18,
    0.13,
    0.13
  ],
  "graphical backend": "",
  "graphics": {
    "style": "Solarize_Light2",
    "show": "true",
    "prices delivery": "True",
    "prices redelivery": "True",
    "average delivery": "True"
  },
  "strategy": "minimize cost",
  "notifications": {
    "notification entity": "",
    "opstarten": "False",
    "berekening": "False",
    "last activity entity": "input_datetime.dao_last_activity"
  },
  "grid": {
    "max_power": 9
  },
  "history": {
    "save days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "boiler": {
    "boiler present": "False"
  },
  "heating": {
    "heater present": "False"
  },
  "battery": [
    {
      "name": "Accu1",
      "entity actual level": "sensor.rs485_bms0_battery_capacity_state_of_charge",
      "capacity": 16,
      "upper limit": 100,
      "lower limit": 10,
      "minimum power": 500,
      "dc_to_bat efficiency": 0.98,
      "bat_to_dc efficiency": 0.99,
      "cycle cost": 0.05,
      "entity set power feedin": "input_number.dao_accu1_power_feedin",
      "entity set operating mode": "input_select.ess_operating_mode",
      "entity stop inverter": "input_datetime.stop_victron",
      "entity balance switch": "input_boolean.balanceer_grid",
      "entity min soc end opt": "input_number.dao_entity_min_soc_end",
      "entity calculated soc": "input_number.dao_entity_calculated_soc",
      "solar": [],
      "charge stages": [
        {
          "power": 0,
          "efficiency": 1
        },
        {
          "power": 500,
          "efficiency": 0.785
        },
        {
          "power": 1000,
          "efficiency": 0.872
        },
        {
          "power": 1500,
          "efficiency": 0.897
        },
        {
          "power": 2000,
          "efficiency": 0.899
        },
        {
          "power": 2500,
          "efficiency": 0.898
        },
        {
          "power": 3000,
          "efficiency": 0.892
        },
        {
          "power": 3500,
          "efficiency": 0.882
        },
        {
          "power": 4000,
          "efficiency": 0.865
        }
      ],
      "discharge stages": [
        {
          "power": 0,
          "efficiency": 1
        },
        {
          "power": 200,
          "efficiency": 0.891
        },
        {
          "power": 500,
          "efficiency": 0.935
        },
        {
          "power": 1000,
          "efficiency": 0.952
        },
        {
          "power": 1250,
          "efficiency": 0.962
        },
        {
          "power": 1500,
          "efficiency": 0.952
        },
        {
          "power": 2000,
          "efficiency": 0.950
        },
        {
          "power": 2500,
          "efficiency": 0.934
        },
        {
          "power": 3000,
          "efficiency": 0.925
        },
        {
          "power": 3500,
          "efficiency": 0.915
        },
        {
          "power": 4000,
          "efficiency": 0.900
        },
        {
          "power": 4350,
          "efficiency": 0.893
        }
      ]
    }
  ],
  "solar": [
    {
      "name": "Solar",
      "tilt": 12,
      "orientation": 204,
      "capacity": 3.28,
      "yield": 0.007,
      "entity pv switch": "input_boolean.solar_pv_on_off"
    }
  ],
  "electric vehicle": [],
  "machines": [],
  "tibber": {
    "api_token": "!secret tibber_api_token"
  },
  "report": {
    "entities grid consumption": [
      "sensor.p1_meter_3c39e7241cfc_total_power_import"
    ],
    "entities grid production": [
      "sensor.p1_meter_3c39e7241cfc_total_power_export"
    ],
    "entities solar production ac": [
      "sensor.kwh_meter_5c2faf0ebcde_total_power_export"
    ],
    "entities solar production dc": [],
    "entities ev consumption": [
      "sensor.easee_lifetime_energy"
    ],
    "entities wp consumption": [],
    "entities boiler consumption": [],
    "entities battery consumption": [],
    "entities battery production": []
  },
  "scheduler": {
    "0430": "get_meteo_data",
    "0930": "calc_baseloads",
    "0950": "get_tibber_data",
    "1030": "get_meteo_data",
    "1050": "get_tibber_data",
    "1150": "get_tibber_data",
    "1250": "get_tibber_data",
    "1255": "get_day_ahead_prices",
    "1350": "get_tibber_data",
    "1355": "get_day_ahead_prices",
    "1450": "get_tibber_data",
    "1455": "get_day_ahead_prices",
    "1554": "get_day_ahead_prices",
    "1630": "get_meteo_data",
    "1655": "get_day_ahead_prices",
    "2230": "get_meteo_data",
    "2359": "clean_data",
    "xx00": "calc_optimum"
  }
}


Het Victron systeem is in HA geïntegreerd via Modbus TCP met het hass-victron component. DAO stelt bij mij in HA een helper in met de waarde voor het Victron systeem. Via een kleine automation pak ik die op en stel ik deze in op het acpowersetpoint van Victron.

Hoewel dit wel voorbekabeld is heb ik het huis en PV momenteel naast ipv achter de Victron geschakeld. Dit omdat ik op het Victron systeem alleen een stuurwaarde op kan geven voor de AC-IN-1. Anders zou ik continue een herberekening moeten doen om het huis verbruik hierin te corrigeren. Vanaf 01-01-2027 zal dit vanzelf opgelost zijn.

Dit draait nu een maand of 6 naar volle tevredenheid en ik heb er weinig omkijken naar 8)
Kan ik deze config kopieren en dan aanpassen aan mijn behoefte?

Acties:
  • 0 Henk 'm!

  • broekieman
  • Registratie: November 2019
  • Laatst online: 21:36
KC27 schreef op dinsdag 1 april 2025 @ 23:26:
[...]

Als je vragen hebt over het inplannen van je warmtepomp en boiler:stel ze hier.
Menigeen heeft er mee geworsteld en is bereid je ermee te helpen.

Wasmachine idem. DAO berekent binnen het tijd-window dat je opgeeft en het programma dat je wilt gaan draaien (met het opgegeven vermogen per kwartier) het optimale start- en eindtijdstip en geeft deze door aan een helper in HA.

Ik zie inderdaad dat de backup van DAO (excl. database) ruim 400 MB vraagt, terwijl een zip-bestand van de hele source (op github), maar 6,2 MB vraagt.
Ik zal eens kijken of ik daar iets aan kan doen. Bedankt voor de tip!
Ik wil het puur gebruiken voor de batterijen. Niet voor aansturing van verbruik/timing wasmachine /droger etc.

Acties:
  • 0 Henk 'm!

  • broekieman
  • Registratie: November 2019
  • Laatst online: 21:36
[quote]KC27 schreef op dinsdag 1 april 2025 @ 23:07:
[...]

Het programma komt alleen tot een andere grafiek na optimalisering als je het zo configureert dat het ook daadwerkelijk kan schuiven met verbruik en of teruglevering.
Bijvoorbeeld door het programma de inzet van een huishoudelijk apparaat (wasmachine, -droger enz) of een van een ev te laten berekenen. Ook met het laden en ontladen een thuisaccu kan veel "verdiend" worden.

[ Voor 11% gewijzigd door broekieman op 02-04-2025 21:02 ]


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
broekieman schreef op woensdag 2 april 2025 @ 20:56:
[...]

Kan ik deze config kopieren en dan aanpassen aan mijn behoefte?
Als je DAO. allen wilt gebruiken voor aansturing van je thuisbatterij is deze config een prima uitgangspunt.
Als je vastloopt helpen we je hier graag verder.

[ Voor 7% gewijzigd door KC27 op 02-04-2025 21:41 ]

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • broekieman
  • Registratie: November 2019
  • Laatst online: 21:36
Ik heb zonnepanelen en 2 batterijen van ieder 15kwh. Hiervan heb ik data in homeassistant.
Moet ik mijn entities configureren in dayahead config?

Is er een basis config hiervoor?

Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
broekieman schreef op woensdag 2 april 2025 @ 22:30:
Ik heb zonnepanelen en 2 batterijen van ieder 15kwh. Hiervan heb ik data in homeassistant.
Moet ik mijn entities configureren in dayahead config?

Is er een basis config hiervoor?
Heb je per batterij een lijst van entities?
Weet je ook welke de efficiency bij laden en ontladen liefst in stappen van vermogen?
Per batterij moet er zoiets worden ingevuld;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
    {"name" : "Accu1",
     "entity actual level": "sensor.ess_battery_soc",
     "capacity": 31,
     "upper limit": 100,
     "lower limit": 18,
     "charge stages" : [
        {"power": 0.0, "efficiency": 1},
        {"power": 30.0, "efficiency": 0.949},
        {"power": 60.0, "efficiency": 0.950},
        {"power": 90.0, "efficiency": 0.951},
        {"power": 150.0, "efficiency": 0.952},
        {"power": 300.0, "efficiency": 0.953},
        {"power": 600.0, "efficiency": 0.954},
        {"power": 1200.0, "efficiency": 0.955},
        {"power": 2400.0, "efficiency": 0.949},
        {"power": 3600.0, "efficiency": 0.934},
        {"power": 4800.0, "efficiency": 0.92},
        {"power": 5500.0, "efficiency": 0.905}
    ],
     "discharge stages" : [
        {"power": 0.0, "efficiency": 1},
        {"power": 30.0, "efficiency": 0.949},
        {"power": 60.0, "efficiency": 0.950},
        {"power": 90.0, "efficiency": 0.951},
        {"power": 150.0, "efficiency": 0.952},
        {"power": 300.0, "efficiency": 0.953},
        {"power": 600.0, "efficiency": 0.954},
        {"power": 1200.0, "efficiency": 0.955},
        {"power": 2400.0, "efficiency": 0.949},
        {"power": 3600.0, "efficiency": 0.934},
        {"power": 4800.0, "efficiency": 0.92}
    ],
     "minimum power" : 1200,
     "dc_to_bat efficiency" : 0.96,
     "bat_to_dc efficiency": 0.96,
     "cycle cost" : 0.01,
     "entity set power feedin": "input_number.feedin_grid",
     "entity set operating mode": "input_select.ess_operating_mode",
     "entity stop inverter": "input_datetime.stop_victron",
     "entity balance switch": "input_boolean.balanceer_grid",
     "solar": [ ]
    }
  ],

solar moet worden ingevuld als pv direct via mppt invoedt op je batterij.
Lees ook DOCS.md voor de details!

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • +1 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
bvw schreef op woensdag 2 april 2025 @ 17:35:
[...]


In de dockerfile de eerste twee regels vervangen door

code:
1
FROM debian:12.2-slim


Dan bouwen met

code:
1
docker build .


dan runnen met

code:
1
docker run --name dao --privileged -p 5009:5000 -v /media/data/ha-test/config:/homeassistant -v /media/dao/day-ahead/dao/data:/config dao:latest



Nu heb ik een web interface draaien op poort 5009.

Dan nog in de options.json toevoegen:

code:
1
2
3
4
5
"homeassistant": {
    "ip adress": "192.168.2.2",
    "ip port": 8901,
    "token": "je long lived access token"
  },


Krijg in de command line nog een da db error... heb de instellingen gewoon op default
Ik ben weer iets verder:
De Dockerfile van DAO moet weten op welke processor het systeem gaat installeren.
Daarom moeten er twee buid-argumenten worden meegegeven.
Bij de installatie van de addon onder HA wordt dat verzorgd door de supervisor van HA.
Met onderstaand commando kun je de image builden:
code:
1
2
3
4
5
docker buildx build \
   --build-arg BUILD_ARCH=amd64 \
   --build-arg BUILD_FROM=ghcr.io/hassio-addons/debian-base/amd64:stable \
   -t dao:latest \
   https://github.com/corneel27/day-ahead.git#main:dao

Opmerkingen:
  • voor BUILD_ARCH moet je de processor invullen van je machine, momenteel worden alleen amd64 (=intel 64 bit), aarch64 (o.a. raspberry pi 4 en 5) en i386 (intel 32 bit)
  • voor BUILD_FROM heb je ook weer de keuze uit:
    • ghcr.io/hassio-addons/debian-base/aarch64:stable
    • ghcr.io/hassio-addons/debian-base/amd64:stable
    • ghcr.io/hassio-addons/debian-base/i386:stable
Met het commando van @bvw kun je dan de container opstarten.

Van verder belang is dan dat je moet weten dat er binnen de container er map "/config"moet zijn die naar een (in eerste instantie lege) map verwijst waar alle configuratie data en evt de sqlite database van dao in terechtkomen. Dat doe je met de parameter volume bij "docker run"
Zo moet er ook een volume zijn waar dao de sqlite database van HA kan bereiken en uitlezen.
Dat alles wordt dan binnen DAO geconfigureerd met de config- optie in het dashboard menu.
Werkt HA met mariadb of postgresql dan is dit niet nodig

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • +1 Henk 'm!

  • bvw
  • Registratie: September 2020
  • Laatst online: 20:46

bvw

KC27 schreef op donderdag 3 april 2025 @ 00:07:
[...]


Ik ben weer iets verder:
De Dockerfile van DAO moet weten op welke processor het systeem gaat installeren.
Daarom moeten er twee buid-argumenten worden meegegeven.
Bij de installatie van de addon onder HA wordt dat verzorgd door de supervisor van HA.
Met onderstaand commando kun je de image builden:
code:
1
2
3
4
5
docker buildx build \
   --build-arg BUILD_ARCH=amd64 \
   --build-arg BUILD_FROM=ghcr.io/hassio-addons/debian-base/amd64:stable \
   -t dao:latest \
   https://github.com/corneel27/day-ahead.git#main:dao

Opmerkingen:
  • voor BUILD_ARCH moet je de processor invullen van je machine, momenteel worden alleen amd64 (=intel 64 bit), aarch64 (o.a. raspberry pi 4 en 5) en i386 (intel 32 bit)
  • voor BUILD_FROM heb je ook weer de keuze uit:
    • ghcr.io/hassio-addons/debian-base/aarch64:stable
    • ghcr.io/hassio-addons/debian-base/amd64:stable
    • ghcr.io/hassio-addons/debian-base/i386:stable
Met het commando van @bvw kun je dan de container opstarten.

Van verder belang is dan dat je moet weten dat er binnen de container er map "/config"moet zijn die naar een (in eerste instantie lege) map verwijst waar alle configuratie data en evt de sqlite database van dao in terechtkomen. Dat doe je met de parameter volume bij "docker run"
Zo moet er ook een volume zijn waar dao de sqlite database van HA kan bereiken en uitlezen.
Dat alles wordt dan binnen DAO geconfigureerd met de config- optie in het dashboard menu.
Werkt HA met mariadb of postgresql dan is dit niet nodig
Bouwt ie bij jou wel de sqlite database correct op? Ik zie alleen een table 'version' (die leeg is), en de rest van de tables wordt niet opgebouwd... (edit: zelfde resultaat met een externe mysql server)

edit:

version.py was leeg, dus moet t dit worden voor het bouwen van de image:

code:
1
2
3
4
5
6
docker buildx build \
   --build-arg BUILD_ARCH=amd64 \
   --build-arg BUILD_FROM=ghcr.io/hassio-addons/debian-base/amd64:stable \
   --build-arg BUILD_VERSION=2025.2.0 \
   -t dao:latest \
   https://github.com/corneel27/day-ahead.git#main:dao

[ Voor 9% gewijzigd door bvw op 03-04-2025 09:25 ]

LG Therma V MonoBloc HM091MR.U44 hybride | Bosch Compress 3000i (split) 5kW hybride | Home Assistant met WAF


Acties:
  • +1 Henk 'm!

  • RudolfR
  • Registratie: Maart 2011
  • Laatst online: 23:24
Misschien kun je wat opsteken van de Dockerfile van EMHASS, een soortgelijk project waar al een HA add-on van is.

https://github.com/davidu...ss/blob/master/Dockerfile
https://github.com/davidusb-geek/emhass/actions

Acties:
  • 0 Henk 'm!

  • stoner1978
  • Registratie: Januari 2012
  • Laatst online: 21:45

stoner1978

Sessy | Megane e-tech

Goedemorgen,

na het toevoegen van een 2e sessy accu wil ik deze natuurlijk ook toevoegen aan DAO, helaas krijg ik steeds een foutmelding over een komma die ergens verkeerd staat. kan iemand een blik op mijn config werpen en vertellen waar het fout gaat? heb al bijna ruzie met chatgpt ;)
alvast bedankt en eventuele andere zaken die beter kunnen zijn ook altijd welkom!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
{
  "homeassistant": {
   "protocol api": "http",
   "ip adress": "192.168.1.***",
   "ip port": 8123,
   "token": "!secret ha_api_token"
 },
  "database ha": {
    "engine": "sqlite",
    "database": "home-assistant_v2.db",
    "db_path": "/homeassistant"
  },
  "database da": {
    "engine": "sqlite",
    "db_path": "../data"
  },
  "meteoserver-key": "!secret",
  "prices": {
    "source day ahead": "Nordpool",
    "regular high": 0.50,
    "regular low": 0.40,
    "switch to low": 23,
    "energy taxes delivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "energy taxes redelivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "cost supplier delivery": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.0248
    },
    "cost supplier redelivery": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.0248
    },
    "vat": {
      "2022-01-01": 21,
      "2022-07-01": 9,
      "2023-01-01": 21
    },
    "last invoice": "2022-09-01",
    "tax refund": "True"
  },
  "logging level" : "info",
  "use_calc_baseload": "false",
  "baseload calc periode": 56,
  "baseload": [
    0.17,
    0.15,
    0.16,
    0.17,
    0.30,
    0.65,
    0.69,
    0.15,
    0.23,
    0.26,
    0.31,
    0.32,
    0.31,
    0.23,
    0.26,
    0.21,
    0.21,
    0.54,
    0.26,
    0.26,
    0.22,
    0.19,
    0.18,
    0.16
  ],
  "graphical backend": "",
  "graphics": {
    "style": "Solarize_Light2",
    "show" : "true",
    "prices delivery": "True",
    "prices redelivery": "True",
    "average delivery": "True"
  },
  "strategy": "minimize cost",
  "notifications": {
  },
  "grid": {
    "max_power": 17
  },
  "history": {
    "save days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "boiler": {
    "boiler present": "False",
    "entity actual temp.": "sensor.boiler_gemeten",
    "entity setpoint": "sensor.boiler_ingesteld",
    "entity hysterese": "sensor.hysterese_hot_water",
    "cop": 2.9,
    "cooling rate": 0.4,
    "volume": 200,
    "heating allowed below": 43,
    "elec. power": 1200,
    "activate service": "press",
    "activate entity": "input_button.hw_trigger"
  },
  "heating": {
    "heater present": "False",
    "degree days factor": 3.6,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7.0
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6.0
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5.0
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4.0
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "battery": [
    {
      "name": "Sessy1",
      "entity actual level": "sensor.sessy_d4ee_state_of_charge",
      "capacity": 5,
      "upper limit": 100,
      "lower limit": 1,
      "optimal lower level": 21,
      "entity min soc end opt": "input_number.dao_min_soc_einde",
      "entity max soc end opt": "input_number.dao_max_soc_einde",
      "charge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 30.0,
          "efficiency": 0.949
        },
        {
          "power": 60.0,
          "efficiency": 0.950
        },
        {
          "power": 90.0,
          "efficiency": 0.951
        },
        {
          "power": 150.0,
          "efficiency": 0.952
        },
        {
          "power": 300.0,
          "efficiency": 0.953
        },
        {
          "power": 600.0,
          "efficiency": 0.954
        },
        {
          "power": 1200.0,
          "efficiency": 0.955
        },
        {
          "power": 1400.0,
          "efficiency": 0.949
        },
        {
          "power": 1600.0,
          "efficiency": 0.934
        },
        {
          "power": 1800.0,
          "efficiency": 0.92
        },
        {
          "power": 2000.0,
          "efficiency": 0.905
        },
        {
          "power": 2200.0,
          "efficiency": 0.885
        }
      ],
      "discharge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 30.0,
          "efficiency": 0.949
        },
        {
          "power": 60.0,
          "efficiency": 0.950
        },
        {
          "power": 90.0,
          "efficiency": 0.951
        },
        {
          "power": 150.0,
          "efficiency": 0.952
        },
        {
          "power": 300.0,
          "efficiency": 0.953
        },
        {
          "power": 600.0,
          "efficiency": 0.954
        },
        {
          "power": 1120.0,
          "efficiency": 0.955
        },
        {
          "power": 1240.0,
          "efficiency": 0.949
        },
        {
          "power": 1360.0,
          "efficiency": 0.934
        },
        {
          "power": 1480.0,
          "efficiency": 0.92
        },
        {
          "power": 1600.0,
          "efficiency": 0.905
        },
        {
          "power": 1700.0,
          "efficiency": 0.885
        }
      ],
      "reduced hours":
       {  "1": 1000,
          "2": 1000,
          "3": 1000,
          "4": 1000,
          "5": 1000,
         "20": 1000,
         "21": 1000,
         "22": 1000,
         "23": 1000,
         "24": 2000
       },
      "minimum power": 50,
      "dc_to_bat efficiency": 0.90,
      "dc_to_bat max power" : 2200.0,
      "bat_to_dc efficiency": 0.90,
      "bat_to_dc max power" : 1700.0,
      "cycle cost": 0.01,
      "entity set power feedin": "input_number.feedin_grid",
      "entity set operating mode": "input_select.ess_operating_mode",
      "entity stop inverter": "input_datetime.stop_victron",
      "entity balance switch": "input_boolean.balanceer_grid",
      "entity from battery": "input_number.growatt_from_battery",
      "entity from pv": "input_number.growatt_from_pv",
      "entity from ac": "input_number.growatt_from_ac",
      "entity calculated soc": "input_number.growatt_calculated_soc",
      "solar": [
        {
          "name": "woning",
          "tilt": 35,
          "orientation": 5,
          "capacity": 4.2,
          "yield": 0.010,
          "entity pv switch": "input_boolean.dao_panelen_aan_uit"
        },
        {
          "name": "garage",
          "tilt": 45,
          "orientation": 5,
          "capacity": 1.8,
          "yield": 0.005,
          "entity pv switch": "input_boolean.dao_panelen_aan_uit"
        },
    {
      "name": "Sessy2",
      "entity actual level": "sensor.sessy_d6cr_state_of_charge",
      "capacity": 5,
      "upper limit": 100,
      "lower limit": 1,
      "optimal lower level": 21,
      "entity min soc end opt": "input_number.dao_min_soc_einde",
      "entity max soc end opt": "input_number.dao_max_soc_einde",
      "charge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 30.0,
          "efficiency": 0.949
        },
        {
          "power": 60.0,
          "efficiency": 0.950
        },
        {
          "power": 90.0,
          "efficiency": 0.951
        },
        {
          "power": 150.0,
          "efficiency": 0.952
        },
        {
          "power": 300.0,
          "efficiency": 0.953
        },
        {
          "power": 600.0,
          "efficiency": 0.954
        },
        {
          "power": 1200.0,
          "efficiency": 0.955
        },
        {
          "power": 1400.0,
          "efficiency": 0.949
        },
        {
          "power": 1600.0,
          "efficiency": 0.934
        },
        {
          "power": 1800.0,
          "efficiency": 0.92
        },
        {
          "power": 2000.0,
          "efficiency": 0.905
        },
        {
          "power": 2200.0,
          "efficiency": 0.885
        }
      ],
      "discharge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 30.0,
          "efficiency": 0.949
        },
        {
          "power": 60.0,
          "efficiency": 0.950
        },
        {
          "power": 90.0,
          "efficiency": 0.951
        },
        {
          "power": 150.0,
          "efficiency": 0.952
        },
        {
          "power": 300.0,
          "efficiency": 0.953
        },
        {
          "power": 600.0,
          "efficiency": 0.954
        },
        {
          "power": 1120.0,
          "efficiency": 0.955
        },
        {
          "power": 1240.0,
          "efficiency": 0.949
        },
        {
          "power": 1360.0,
          "efficiency": 0.934
        },
        {
          "power": 1480.0,
          "efficiency": 0.92
        },
        {
          "power": 1600.0,
          "efficiency": 0.905
        },
        {
          "power": 1700.0,
          "efficiency": 0.885
        }
      ],
      "reduced hours":
       {  "1": 1000,
          "2": 1000,
          "3": 1000,
          "4": 1000,
          "5": 1000,
         "20": 1000,
         "21": 1000,
         "22": 1000,
         "23": 1000,
         "24": 2000
       },
      "minimum power": 50,
      "dc_to_bat efficiency": 0.90,
      "dc_to_bat max power" : 2200.0,
      "bat_to_dc efficiency": 0.90,
      "bat_to_dc max power" : 1700.0,
      "cycle cost": 0.01,
      "entity set power feedin": "input_number.feedin_grid",
      "entity set operating mode": "input_select.ess_operating_mode",
      "entity stop inverter": "input_datetime.stop_victron",
      "entity balance switch": "input_boolean.balanceer_grid",
      "entity from battery": "input_number.growatt_from_battery",
      "entity from pv": "input_number.growatt_from_pv",
      "entity from ac": "input_number.growatt_from_ac",
      "entity calculated soc": "input_number.growatt_calculated_soc",
      "solar": [
        {
          "name": "west",
          "tilt": 35,
          "orientation": 90,
          "capacity": 4.2,
          "yield": 0.010,
          "entity pv switch": "input_boolean.dao_panelen_aan_uit"
        },
        {
          "name": "oost",
          "tilt": 35,
          "orientation": -90,
          "capacity": 3.6,
          "yield": 0.005,
          "entity pv switch": "input_boolean.dao_panelen_aan_uit"
        }
      ]
    }
  ],
  "solar": [
    {
      "name": "oost",
      "tilt": 35,
      "orientation": -90,
      "capacity": 3.6,
      "yield": 0.010,
      "entity pv switch": "input_boolean.dao_panelen_aan_uit"
    },
    {
      "name": "west",
      "tilt": 35,
      "orientation": 90,
      "capacity": 4.3,
      "yield": 0.010,
      "entity pv switch": "input_boolean.dao_panelen_aan_uit"
    } ],
  "electric vehicle": [ ],
  "machines" : [ ],
  "tibber": {
    "api_token": "!secret"
  },
  "report": {
    "entities grid consumption": [
      "sensor.sessy_p5qk_tariff_2_consumed_energy",
      "sensor.sessy_p5qk_tariff_1_consumed_energy"
    ],
    "entities grid production": [
      "sensor.sessy_p5qk_tariff_2_produced_energy",
      "sensor.sessy_p5qk_tariff_1_produced_energy"
    ],
    "entities solar production ac": [
      "sensor.solaredge_i2_ac_energy_kwh"
    ],
    "entities solar production dc": [],
    "entities ev consumption" : [],
    "entities wp consumption" : [],
    "entities boiler consumption": ["sensor.plug_warmtepomp_energy"],
    "entities battery consumption": ["sensor.jaarlijks_sessy_opladen"],
    "entities battery production": ["sensor.jaarlijks_sessy_ontladen"]
  },
  "scheduler": {
    "active": "True",
    "0430": "get_meteo_data",
    "1030": "get_meteo_data",
    "1630": "get_meteo_data",
    "2230": "get_meteo_data",
    "1255": "get_day_ahead_prices",
    "1355": "get_day_ahead_prices",
    "1455": "get_day_ahead_prices",
    "1554": "get_day_ahead_prices",
    "1655": "get_day_ahead_prices",
    "xx00": "calc_optimum",
    "2359": "clean_data"
  }
}

3440wp oost | 4320wp west | SE5K-RWB


Acties:
  • 0 Henk 'm!

  • arro3038
  • Registratie: November 2023
  • Laatst online: 22:04
stoner1978 schreef op donderdag 3 april 2025 @ 11:30:
Goedemorgen,

na het toevoegen van een 2e sessy accu wil ik deze natuurlijk ook toevoegen aan DAO, helaas krijg ik steeds een foutmelding over een komma die ergens verkeerd staat. kan iemand een blik op mijn config werpen en vertellen waar het fout gaat? heb al bijna ruzie met chatgpt ;)":
Bij je eerste sessie na afsluiten solar garage staat een komma achter de }

Die hoort er niet volgens mij

[ Voor 95% gewijzigd door arro3038 op 03-04-2025 12:49 ]


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
stoner1978 schreef op donderdag 3 april 2025 @ 11:30:
Goedemorgen,

na het toevoegen van een 2e sessy accu wil ik deze natuurlijk ook toevoegen aan DAO, helaas krijg ik steeds een foutmelding over een komma die ergens verkeerd staat. kan iemand een blik op mijn config werpen en vertellen waar het fout gaat? heb al bijna ruzie met chatgpt ;)
alvast bedankt en eventuele andere zaken die beter kunnen zijn ook altijd welkom!
code:
1
2
3
4
5
6
7
8
{
  "homeassistant": {
......

.....
    "2359": "clean_data"
  }
}
Volgens mij moet het zijn:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
{
  "homeassistant": {
   "protocol api": "http",
   "ip adress": "192.168.1.***",
   "ip port": 8123,
   "token": "!secret ha_api_token"
 },
  "database ha": {
    "engine": "sqlite",
    "database": "home-assistant_v2.db",
    "db_path": "/homeassistant"
  },
  "database da": {
    "engine": "sqlite",
    "db_path": "../data"
  },
  "meteoserver-key": "!secret",
  "prices": {
    "source day ahead": "Nordpool",
    "regular high": 0.50,
    "regular low": 0.40,
    "switch to low": 23,
    "energy taxes delivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "energy taxes redelivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "cost supplier delivery": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.0248
    },
    "cost supplier redelivery": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.0248
    },
    "vat": {
      "2022-01-01": 21,
      "2022-07-01": 9,
      "2023-01-01": 21
    },
    "last invoice": "2022-09-01",
    "tax refund": "True"
  },
  "logging level" : "info",
  "use_calc_baseload": "false",
  "baseload calc periode": 56,
  "baseload": [
    0.17,
    0.15,
    0.16,
    0.17,
    0.30,
    0.65,
    0.69,
    0.15,
    0.23,
    0.26,
    0.31,
    0.32,
    0.31,
    0.23,
    0.26,
    0.21,
    0.21,
    0.54,
    0.26,
    0.26,
    0.22,
    0.19,
    0.18,
    0.16
  ],
  "graphical backend": "",
  "graphics": {
    "style": "Solarize_Light2",
    "show" : "true",
    "prices delivery": "True",
    "prices redelivery": "True",
    "average delivery": "True"
  },
  "strategy": "minimize cost",
  "notifications": {
  },
  "grid": {
    "max_power": 17
  },
  "history": {
    "save days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "boiler": {
    "boiler present": "False",
    "entity actual temp.": "sensor.boiler_gemeten",
    "entity setpoint": "sensor.boiler_ingesteld",
    "entity hysterese": "sensor.hysterese_hot_water",
    "cop": 2.9,
    "cooling rate": 0.4,
    "volume": 200,
    "heating allowed below": 43,
    "elec. power": 1200,
    "activate service": "press",
    "activate entity": "input_button.hw_trigger"
  },
  "heating": {
    "heater present": "False",
    "degree days factor": 3.6,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7.0
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6.0
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5.0
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4.0
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "battery": [
    {
      "name": "Sessy1",
      "entity actual level": "sensor.sessy_d4ee_state_of_charge",
      "capacity": 5,
      "upper limit": 100,
      "lower limit": 1,
      "optimal lower level": 21,
      "entity min soc end opt": "input_number.dao_min_soc_einde",
      "entity max soc end opt": "input_number.dao_max_soc_einde",
      "charge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 30.0,
          "efficiency": 0.949
        },
        {
          "power": 60.0,
          "efficiency": 0.950
        },
        {
          "power": 90.0,
          "efficiency": 0.951
        },
        {
          "power": 150.0,
          "efficiency": 0.952
        },
        {
          "power": 300.0,
          "efficiency": 0.953
        },
        {
          "power": 600.0,
          "efficiency": 0.954
        },
        {
          "power": 1200.0,
          "efficiency": 0.955
        },
        {
          "power": 1400.0,
          "efficiency": 0.949
        },
        {
          "power": 1600.0,
          "efficiency": 0.934
        },
        {
          "power": 1800.0,
          "efficiency": 0.92
        },
        {
          "power": 2000.0,
          "efficiency": 0.905
        },
        {
          "power": 2200.0,
          "efficiency": 0.885
        }
      ],
      "discharge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 30.0,
          "efficiency": 0.949
        },
        {
          "power": 60.0,
          "efficiency": 0.950
        },
        {
          "power": 90.0,
          "efficiency": 0.951
        },
        {
          "power": 150.0,
          "efficiency": 0.952
        },
        {
          "power": 300.0,
          "efficiency": 0.953
        },
        {
          "power": 600.0,
          "efficiency": 0.954
        },
        {
          "power": 1120.0,
          "efficiency": 0.955
        },
        {
          "power": 1240.0,
          "efficiency": 0.949
        },
        {
          "power": 1360.0,
          "efficiency": 0.934
        },
        {
          "power": 1480.0,
          "efficiency": 0.92
        },
        {
          "power": 1600.0,
          "efficiency": 0.905
        },
        {
          "power": 1700.0,
          "efficiency": 0.885
        }
      ],
      "reduced hours": {
        "1": 1000,
        "2": 1000,
        "3": 1000,
        "4": 1000,
        "5": 1000,
        "20": 1000,
        "21": 1000,
        "22": 1000,
        "23": 1000,
        "24": 2000
      },
      "minimum power": 50,
      "dc_to_bat efficiency": 0.90,
      "dc_to_bat max power": 2200.0,
      "bat_to_dc efficiency": 0.90,
      "bat_to_dc max power": 1700.0,
      "cycle cost": 0.01,
      "entity set power feedin": "input_number.feedin_grid",
      "entity set operating mode": "input_select.ess_operating_mode",
      "entity stop inverter": "input_datetime.stop_victron",
      "entity balance switch": "input_boolean.balanceer_grid",
      "entity from battery": "input_number.growatt_from_battery",
      "entity from pv": "input_number.growatt_from_pv",
      "entity from ac": "input_number.growatt_from_ac",
      "entity calculated soc": "input_number.growatt_calculated_soc",
      "solar": [
        {
          "name": "woning",
          "tilt": 35,
          "orientation": 5,
          "capacity": 4.2,
          "yield": 0.010,
          "entity pv switch": "input_boolean.dao_panelen_aan_uit"
        },
        {
          "name": "garage",
          "tilt": 45,
          "orientation": 5,
          "capacity": 1.8,
          "yield": 0.005,
          "entity pv switch": "input_boolean.dao_panelen_aan_uit"
        }
      ]
    },
    {
      "name": "Sessy2",
      "entity actual level": "sensor.sessy_d6cr_state_of_charge",
      "capacity": 5,
      "upper limit": 100,
      "lower limit": 1,
      "optimal lower level": 21,
      "entity min soc end opt": "input_number.dao_min_soc_einde",
      "entity max soc end opt": "input_number.dao_max_soc_einde",
      "charge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 30.0,
          "efficiency": 0.949
        },
        {
          "power": 60.0,
          "efficiency": 0.950
        },
        {
          "power": 90.0,
          "efficiency": 0.951
        },
        {
          "power": 150.0,
          "efficiency": 0.952
        },
        {
          "power": 300.0,
          "efficiency": 0.953
        },
        {
          "power": 600.0,
          "efficiency": 0.954
        },
        {
          "power": 1200.0,
          "efficiency": 0.955
        },
        {
          "power": 1400.0,
          "efficiency": 0.949
        },
        {
          "power": 1600.0,
          "efficiency": 0.934
        },
        {
          "power": 1800.0,
          "efficiency": 0.92
        },
        {
          "power": 2000.0,
          "efficiency": 0.905
        },
        {
          "power": 2200.0,
          "efficiency": 0.885
        }
      ],
      "discharge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 30.0,
          "efficiency": 0.949
        },
        {
          "power": 60.0,
          "efficiency": 0.950
        },
        {
          "power": 90.0,
          "efficiency": 0.951
        },
        {
          "power": 150.0,
          "efficiency": 0.952
        },
        {
          "power": 300.0,
          "efficiency": 0.953
        },
        {
          "power": 600.0,
          "efficiency": 0.954
        },
        {
          "power": 1120.0,
          "efficiency": 0.955
        },
        {
          "power": 1240.0,
          "efficiency": 0.949
        },
        {
          "power": 1360.0,
          "efficiency": 0.934
        },
        {
          "power": 1480.0,
          "efficiency": 0.92
        },
        {
          "power": 1600.0,
          "efficiency": 0.905
        },
        {
          "power": 1700.0,
          "efficiency": 0.885
        }
      ],
      "reduced hours":
       {  "1": 1000,
          "2": 1000,
          "3": 1000,
          "4": 1000,
          "5": 1000,
         "20": 1000,
         "21": 1000,
         "22": 1000,
         "23": 1000,
         "24": 2000
       },
      "minimum power": 50,
      "dc_to_bat efficiency": 0.90,
      "dc_to_bat max power" : 2200.0,
      "bat_to_dc efficiency": 0.90,
      "bat_to_dc max power" : 1700.0,
      "cycle cost": 0.01,
      "entity set power feedin": "input_number.feedin_grid",
      "entity set operating mode": "input_select.ess_operating_mode",
      "entity stop inverter": "input_datetime.stop_victron",
      "entity balance switch": "input_boolean.balanceer_grid",
      "entity from battery": "input_number.growatt_from_battery",
      "entity from pv": "input_number.growatt_from_pv",
      "entity from ac": "input_number.growatt_from_ac",
      "entity calculated soc": "input_number.growatt_calculated_soc",
      "solar": [
        {
          "name": "west",
          "tilt": 35,
          "orientation": 90,
          "capacity": 4.2,
          "yield": 0.010,
          "entity pv switch": "input_boolean.dao_panelen_aan_uit"
        },
        {
          "name": "oost",
          "tilt": 35,
          "orientation": -90,
          "capacity": 3.6,
          "yield": 0.005,
          "entity pv switch": "input_boolean.dao_panelen_aan_uit"
        }
      ]
    }
  ],
  "solar": [
    {
      "name": "oost",
      "tilt": 35,
      "orientation": -90,
      "capacity": 3.6,
      "yield": 0.010,
      "entity pv switch": "input_boolean.dao_panelen_aan_uit"
    },
    {
      "name": "west",
      "tilt": 35,
      "orientation": 90,
      "capacity": 4.3,
      "yield": 0.010,
      "entity pv switch": "input_boolean.dao_panelen_aan_uit"
    } ],
  "electric vehicle": [ ],
  "machines" : [ ],
  "tibber": {
    "api_token": "!secret"
  },
  "report": {
    "entities grid consumption": [
      "sensor.sessy_p5qk_tariff_2_consumed_energy",
      "sensor.sessy_p5qk_tariff_1_consumed_energy"
    ],
    "entities grid production": [
      "sensor.sessy_p5qk_tariff_2_produced_energy",
      "sensor.sessy_p5qk_tariff_1_produced_energy"
    ],
    "entities solar production ac": [
      "sensor.solaredge_i2_ac_energy_kwh"
    ],
    "entities solar production dc": [],
    "entities ev consumption" : [],
    "entities wp consumption" : [],
    "entities boiler consumption": ["sensor.plug_warmtepomp_energy"],
    "entities battery consumption": ["sensor.jaarlijks_sessy_opladen"],
    "entities battery production": ["sensor.jaarlijks_sessy_ontladen"]
  },
  "scheduler": {
    "active": "True",
    "0430": "get_meteo_data",
    "1030": "get_meteo_data",
    "1630": "get_meteo_data",
    "2230": "get_meteo_data",
    "1255": "get_day_ahead_prices",
    "1355": "get_day_ahead_prices",
    "1455": "get_day_ahead_prices",
    "1554": "get_day_ahead_prices",
    "1655": "get_day_ahead_prices",
    "xx00": "calc_optimum",
    "2359": "clean_data"
  }
}

Dus de "solar" van de eerste sessy goed afsluiten.

Nog een opmerking:
Je hebt solar ingevuld bij beide Sessy's, maar kunnen jouw zonnepanelen via een mppt-tracker rechtstreeks invoeden op de batterij van je Sessy's?
Als je zonnepanelen een eigen ac-omvormer hebben en daarmee invoeden op je huisnetwerk dan moeten ze staan onder het "solar"-item dat begint na afsluiting van het battery-item en dan houdt je "solar" in de battery definities leeg, dus zo "solar": [ ],

[ Voor 100% gewijzigd door KC27 op 03-04-2025 13:19 ]

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • stoner1978
  • Registratie: Januari 2012
  • Laatst online: 21:45

stoner1978

Sessy | Megane e-tech

Zo wordt er wel weer berekend, dus bedankt!
voor wat betreft de omvormers en de Sessies; ik dacht dat doordat ze aangesloten zitten op de Sessy dat ze dan ook daaronder kwamen te staan.
als ik ze weg haal en alleen onder het topic "solar" zet zou dus genoeg zijn?
KC27 schreef op donderdag 3 april 2025 @ 13:17:
[...]


Volgens mij moet het zijn:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
{
  "homeassistant": {
   "protocol api": "http",
   "ip adress": "192.168.1.***",
   "ip port": 8123,
   "token": "!secret ha_api_token"
 },
  "database ha": {
    "engine": "sqlite",
    "database": "home-assistant_v2.db",
    "db_path": "/homeassistant"
  },
  "database da": {
    "engine": "sqlite",
    "db_path": "../data"
  },
  "meteoserver-key": "!secret",
  "prices": {
    "source day ahead": "Nordpool",
    "regular high": 0.50,
    "regular low": 0.40,
    "switch to low": 23,
    "energy taxes delivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "energy taxes redelivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "cost supplier delivery": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.0248
    },
    "cost supplier redelivery": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.0248
    },
    "vat": {
      "2022-01-01": 21,
      "2022-07-01": 9,
      "2023-01-01": 21
    },
    "last invoice": "2022-09-01",
    "tax refund": "True"
  },
  "logging level" : "info",
  "use_calc_baseload": "false",
  "baseload calc periode": 56,
  "baseload": [
    0.17,
    0.15,
    0.16,
    0.17,
    0.30,
    0.65,
    0.69,
    0.15,
    0.23,
    0.26,
    0.31,
    0.32,
    0.31,
    0.23,
    0.26,
    0.21,
    0.21,
    0.54,
    0.26,
    0.26,
    0.22,
    0.19,
    0.18,
    0.16
  ],
  "graphical backend": "",
  "graphics": {
    "style": "Solarize_Light2",
    "show" : "true",
    "prices delivery": "True",
    "prices redelivery": "True",
    "average delivery": "True"
  },
  "strategy": "minimize cost",
  "notifications": {
  },
  "grid": {
    "max_power": 17
  },
  "history": {
    "save days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "boiler": {
    "boiler present": "False",
    "entity actual temp.": "sensor.boiler_gemeten",
    "entity setpoint": "sensor.boiler_ingesteld",
    "entity hysterese": "sensor.hysterese_hot_water",
    "cop": 2.9,
    "cooling rate": 0.4,
    "volume": 200,
    "heating allowed below": 43,
    "elec. power": 1200,
    "activate service": "press",
    "activate entity": "input_button.hw_trigger"
  },
  "heating": {
    "heater present": "False",
    "degree days factor": 3.6,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7.0
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6.0
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5.0
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4.0
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "battery": [
    {
      "name": "Sessy1",
      "entity actual level": "sensor.sessy_d4ee_state_of_charge",
      "capacity": 5,
      "upper limit": 100,
      "lower limit": 1,
      "optimal lower level": 21,
      "entity min soc end opt": "input_number.dao_min_soc_einde",
      "entity max soc end opt": "input_number.dao_max_soc_einde",
      "charge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 30.0,
          "efficiency": 0.949
        },
        {
          "power": 60.0,
          "efficiency": 0.950
        },
        {
          "power": 90.0,
          "efficiency": 0.951
        },
        {
          "power": 150.0,
          "efficiency": 0.952
        },
        {
          "power": 300.0,
          "efficiency": 0.953
        },
        {
          "power": 600.0,
          "efficiency": 0.954
        },
        {
          "power": 1200.0,
          "efficiency": 0.955
        },
        {
          "power": 1400.0,
          "efficiency": 0.949
        },
        {
          "power": 1600.0,
          "efficiency": 0.934
        },
        {
          "power": 1800.0,
          "efficiency": 0.92
        },
        {
          "power": 2000.0,
          "efficiency": 0.905
        },
        {
          "power": 2200.0,
          "efficiency": 0.885
        }
      ],
      "discharge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 30.0,
          "efficiency": 0.949
        },
        {
          "power": 60.0,
          "efficiency": 0.950
        },
        {
          "power": 90.0,
          "efficiency": 0.951
        },
        {
          "power": 150.0,
          "efficiency": 0.952
        },
        {
          "power": 300.0,
          "efficiency": 0.953
        },
        {
          "power": 600.0,
          "efficiency": 0.954
        },
        {
          "power": 1120.0,
          "efficiency": 0.955
        },
        {
          "power": 1240.0,
          "efficiency": 0.949
        },
        {
          "power": 1360.0,
          "efficiency": 0.934
        },
        {
          "power": 1480.0,
          "efficiency": 0.92
        },
        {
          "power": 1600.0,
          "efficiency": 0.905
        },
        {
          "power": 1700.0,
          "efficiency": 0.885
        }
      ],
      "reduced hours": {
        "1": 1000,
        "2": 1000,
        "3": 1000,
        "4": 1000,
        "5": 1000,
        "20": 1000,
        "21": 1000,
        "22": 1000,
        "23": 1000,
        "24": 2000
      },
      "minimum power": 50,
      "dc_to_bat efficiency": 0.90,
      "dc_to_bat max power": 2200.0,
      "bat_to_dc efficiency": 0.90,
      "bat_to_dc max power": 1700.0,
      "cycle cost": 0.01,
      "entity set power feedin": "input_number.feedin_grid",
      "entity set operating mode": "input_select.ess_operating_mode",
      "entity stop inverter": "input_datetime.stop_victron",
      "entity balance switch": "input_boolean.balanceer_grid",
      "entity from battery": "input_number.growatt_from_battery",
      "entity from pv": "input_number.growatt_from_pv",
      "entity from ac": "input_number.growatt_from_ac",
      "entity calculated soc": "input_number.growatt_calculated_soc",
      "solar": [
        {
          "name": "woning",
          "tilt": 35,
          "orientation": 5,
          "capacity": 4.2,
          "yield": 0.010,
          "entity pv switch": "input_boolean.dao_panelen_aan_uit"
        },
        {
          "name": "garage",
          "tilt": 45,
          "orientation": 5,
          "capacity": 1.8,
          "yield": 0.005,
          "entity pv switch": "input_boolean.dao_panelen_aan_uit"
        }
      ]
    },
    {
      "name": "Sessy2",
      "entity actual level": "sensor.sessy_d6cr_state_of_charge",
      "capacity": 5,
      "upper limit": 100,
      "lower limit": 1,
      "optimal lower level": 21,
      "entity min soc end opt": "input_number.dao_min_soc_einde",
      "entity max soc end opt": "input_number.dao_max_soc_einde",
      "charge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 30.0,
          "efficiency": 0.949
        },
        {
          "power": 60.0,
          "efficiency": 0.950
        },
        {
          "power": 90.0,
          "efficiency": 0.951
        },
        {
          "power": 150.0,
          "efficiency": 0.952
        },
        {
          "power": 300.0,
          "efficiency": 0.953
        },
        {
          "power": 600.0,
          "efficiency": 0.954
        },
        {
          "power": 1200.0,
          "efficiency": 0.955
        },
        {
          "power": 1400.0,
          "efficiency": 0.949
        },
        {
          "power": 1600.0,
          "efficiency": 0.934
        },
        {
          "power": 1800.0,
          "efficiency": 0.92
        },
        {
          "power": 2000.0,
          "efficiency": 0.905
        },
        {
          "power": 2200.0,
          "efficiency": 0.885
        }
      ],
      "discharge stages": [
        {
          "power": 0.0,
          "efficiency": 1
        },
        {
          "power": 30.0,
          "efficiency": 0.949
        },
        {
          "power": 60.0,
          "efficiency": 0.950
        },
        {
          "power": 90.0,
          "efficiency": 0.951
        },
        {
          "power": 150.0,
          "efficiency": 0.952
        },
        {
          "power": 300.0,
          "efficiency": 0.953
        },
        {
          "power": 600.0,
          "efficiency": 0.954
        },
        {
          "power": 1120.0,
          "efficiency": 0.955
        },
        {
          "power": 1240.0,
          "efficiency": 0.949
        },
        {
          "power": 1360.0,
          "efficiency": 0.934
        },
        {
          "power": 1480.0,
          "efficiency": 0.92
        },
        {
          "power": 1600.0,
          "efficiency": 0.905
        },
        {
          "power": 1700.0,
          "efficiency": 0.885
        }
      ],
      "reduced hours":
       {  "1": 1000,
          "2": 1000,
          "3": 1000,
          "4": 1000,
          "5": 1000,
         "20": 1000,
         "21": 1000,
         "22": 1000,
         "23": 1000,
         "24": 2000
       },
      "minimum power": 50,
      "dc_to_bat efficiency": 0.90,
      "dc_to_bat max power" : 2200.0,
      "bat_to_dc efficiency": 0.90,
      "bat_to_dc max power" : 1700.0,
      "cycle cost": 0.01,
      "entity set power feedin": "input_number.feedin_grid",
      "entity set operating mode": "input_select.ess_operating_mode",
      "entity stop inverter": "input_datetime.stop_victron",
      "entity balance switch": "input_boolean.balanceer_grid",
      "entity from battery": "input_number.growatt_from_battery",
      "entity from pv": "input_number.growatt_from_pv",
      "entity from ac": "input_number.growatt_from_ac",
      "entity calculated soc": "input_number.growatt_calculated_soc",
      "solar": [
        {
          "name": "west",
          "tilt": 35,
          "orientation": 90,
          "capacity": 4.2,
          "yield": 0.010,
          "entity pv switch": "input_boolean.dao_panelen_aan_uit"
        },
        {
          "name": "oost",
          "tilt": 35,
          "orientation": -90,
          "capacity": 3.6,
          "yield": 0.005,
          "entity pv switch": "input_boolean.dao_panelen_aan_uit"
        }
      ]
    }
  ],
  "solar": [
    {
      "name": "oost",
      "tilt": 35,
      "orientation": -90,
      "capacity": 3.6,
      "yield": 0.010,
      "entity pv switch": "input_boolean.dao_panelen_aan_uit"
    },
    {
      "name": "west",
      "tilt": 35,
      "orientation": 90,
      "capacity": 4.3,
      "yield": 0.010,
      "entity pv switch": "input_boolean.dao_panelen_aan_uit"
    } ],
  "electric vehicle": [ ],
  "machines" : [ ],
  "tibber": {
    "api_token": "!secret"
  },
  "report": {
    "entities grid consumption": [
      "sensor.sessy_p5qk_tariff_2_consumed_energy",
      "sensor.sessy_p5qk_tariff_1_consumed_energy"
    ],
    "entities grid production": [
      "sensor.sessy_p5qk_tariff_2_produced_energy",
      "sensor.sessy_p5qk_tariff_1_produced_energy"
    ],
    "entities solar production ac": [
      "sensor.solaredge_i2_ac_energy_kwh"
    ],
    "entities solar production dc": [],
    "entities ev consumption" : [],
    "entities wp consumption" : [],
    "entities boiler consumption": ["sensor.plug_warmtepomp_energy"],
    "entities battery consumption": ["sensor.jaarlijks_sessy_opladen"],
    "entities battery production": ["sensor.jaarlijks_sessy_ontladen"]
  },
  "scheduler": {
    "active": "True",
    "0430": "get_meteo_data",
    "1030": "get_meteo_data",
    "1630": "get_meteo_data",
    "2230": "get_meteo_data",
    "1255": "get_day_ahead_prices",
    "1355": "get_day_ahead_prices",
    "1455": "get_day_ahead_prices",
    "1554": "get_day_ahead_prices",
    "1655": "get_day_ahead_prices",
    "xx00": "calc_optimum",
    "2359": "clean_data"
  }
}

Dus de "solar" van de eerste sessy goed afsluiten.

Nog een opmerking:
Je hebt solar ingevuld bij beide Sessy's, maar kunnen jouw zonnepanelen via een mppt-tracker rechtstreeks invoeden op de batterij van je Sessy's?
Als je zonnepanelen een eigen ac-omvormer hebben en daarmee invoeden op je huisnetwerk dan moeten ze staan onder het "solar"-item dat begint na afsluiting van het battery-item en dan houdt je "solar" in de battery definities leeg, dus zo "solar": [ ],

3440wp oost | 4320wp west | SE5K-RWB


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
stoner1978 schreef op donderdag 3 april 2025 @ 13:32:
Zo wordt er wel weer berekend, dus bedankt!
voor wat betreft de omvormers en de Sessies; ik dacht dat doordat ze aangesloten zitten op de Sessy dat ze dan ook daaronder kwamen te staan.
als ik ze weg haal en alleen onder het topic "solar" zet zou dus genoeg zijn?


[...]
Yep

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • +3 Henk 'm!

  • tonvanboven
  • Registratie: Oktober 2022
  • Laatst online: 21-04 21:51
@KC27 Vanwege de vele mogelijkheden die DOA heeft kan het verwarrend zijn hoe e.e.a. aan te pakken en en te vullen. Ik heb heel blij dat we daarvoor nu dit forum hebben om elkaar te helpen om het goed in te richten.

Tibber; 3-fase Victron 5000 ESS, 60 kWh opslag; Day Ahead Optimizing van @KC27; PV 10kWp sinds 2010, EV sinds 2014; gasloos sinds 2001


Acties:
  • 0 Henk 'm!

  • Beekforel
  • Registratie: November 2001
  • Laatst online: 00:06

Beekforel

Is eigenlijk geen vis

Interessante addon, opzet ziet er goed uit. Ik zou er wel mee willen testen voor het optimaliseren van PV gebruik, maar ik heb geen dynamische maar vaste energietarieven. Is dit een mogelijkheid?

Acties:
  • 0 Henk 'm!

  • Marcjeno1
  • Registratie: Juli 2007
  • Laatst online: 22:17
bvw schreef op donderdag 3 april 2025 @ 08:13:
[...]


Bouwt ie bij jou wel de sqlite database correct op? Ik zie alleen een table 'version' (die leeg is), en de rest van de tables wordt niet opgebouwd... (edit: zelfde resultaat met een externe mysql server)

edit:

version.py was leeg, dus moet t dit worden voor het bouwen van de image:

code:
1
2
3
4
5
6
docker buildx build \
   --build-arg BUILD_ARCH=amd64 \
   --build-arg BUILD_FROM=ghcr.io/hassio-addons/debian-base/amd64:stable \
   --build-arg BUILD_VERSION=2025.2.0 \
   -t dao:latest \
   https://github.com/corneel27/day-ahead.git#main:dao
Hiermee heb ik nu een webinterface! Ik ga er eens mee aan de gang :) super bedankt

Acties:
  • 0 Henk 'm!

  • bvw
  • Registratie: September 2020
  • Laatst online: 20:46

bvw

Doe ik nu iets nog niet goed? Ik heb mijn zonnepanelen toegevoegd en de warmtepomp, maar ik zie geen productie van de zonnepanelen terug:

code:
1
2
3
4
5
6
7
8
9
10
11
Uur     Verbruik    Productie   Netto verbr.    Kosten  Opbrengst   Netto kosten    Tarief verbr.   Tarief prod.
    kWh     kWh     kWh     eur     eur     eur     eur/kWh     eur/kWh
08:00   0.013   0.000   0.013   0.003   0.000   0.003   0.193   0.000
09:00   0.140   0.000   0.140   0.021   0.000   0.021   0.147   0.000
10:00   0.140   0.000   0.140   0.020   0.000   0.020   0.145   0.000
11:00   0.140   0.000   0.140   0.018   0.000   0.018   0.130   0.000
12:00   0.140   0.000   0.140   0.019   0.000   0.019   0.136   0.000
13:00   0.140   0.000   0.140   0.020   0.000   0.020   0.146   0.000
14:00   0.140   0.000   0.140   0.021   0.000   0.021   0.148   0.000
15:00   0.036   0.000   0.036   0.008   0.000   0.008   0.231   0.000
Totaal  0.889   0.000   0.889   0.130   0.000   0.130   0.146   0.000


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
"solar": [ 
    {"name": "zuid",
      "tilt": 45,
      "orientation": 0,
      "capacity": 1,
      "yield": 0.017
    },
    {"name": "oost",
      "tilt": 45,
      "orientation": -90,
      "capacity": 2.4,
      "yield": 0.025
    },
    {"name": "west",
      "tilt": 45,
      "orientation": 90,
      "capacity": 2.4,
      "yield": 0.025
    },
    {"name": "prieel",
      "tilt": 20,
      "orientation": 0,
      "capacity": 0.4,
      "yield": 0.017
    }
  ],


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2025-04-03 16:30:45 info: Day Ahead Optimalisering versie: 2025.2.0
2025-04-03 16:30:45 info: Day Ahead Optimalisering gestart op: 03-04-2025 16:30:45
2025-04-03 16:30:45 info: Day Ahead Optimalisatie gestart: 03-04-2025 16:30:45 taak: calc_optimum
2025-04-03 16:30:45 info: Debug = False
2025-04-03 16:30:45 info: Baseload uit instellingen
2025-04-03 16:30:45 waarschuwing: All arrays must be of the same length
2025-04-03 16:30:45 info: lengte prognose arrays:
2025-04-03 16:30:45 info: uur: 30
2025-04-03 16:30:45 info: tijd: 30
2025-04-03 16:30:45 info: p_l: 30
2025-04-03 16:30:45 info: p_t: 30
2025-04-03 16:30:45 info: base: 32
2025-04-03 16:30:45 info: pv_ac: 30
2025-04-03 16:30:45 info: pv_ac: 30
2025-04-03 16:30:45 info: Verbruik dit contractjaar: 1.029 kWh
2025-04-03 16:30:45 info: Productie dit contractjaar: 0.000 kWh
2025-04-03 16:30:45 info: All taxes refund (alles wordt gesaldeerd)
2025-04-03 16:30:46 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland
2025-04-03 16:30:46 info: Gewogen graaddagen: 1.4 K.day
2025-04-03 16:30:46 info: Degree days factor: 2.5 kWh/K.day
2025-04-03 16:30:46 info: Reeds geproduceerde warmte: 0.0 kWh
2025-04-03 16:30:46 info: Nog benodigde warmte: 3.4 kWh
2025-04-03 16:30:46 info: Actuele warmtevraag: Ja
2025-04-03 16:30:46 info: Warmtepomp met power-regeling wordt ingepland
2025-04-03 16:30:46 waarschuwing: Geen oplossing  voor: minimize cost

[ Voor 34% gewijzigd door bvw op 03-04-2025 18:31 ]

LG Therma V MonoBloc HM091MR.U44 hybride | Bosch Compress 3000i (split) 5kW hybride | Home Assistant met WAF


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
bvw schreef op donderdag 3 april 2025 @ 18:29:
Doe ik nu iets nog niet goed? Ik heb mijn zonnepanelen toegevoegd en de warmtepomp, maar ik zie geen productie van de zonnepanelen terug:

code:
1
2
3
4
5
6
7
8
9
10
11
Uur     Verbruik    Productie   Netto verbr.    Kosten  Opbrengst   Netto kosten    Tarief verbr.   Tarief prod.
    kWh     kWh     kWh     eur     eur     eur     eur/kWh     eur/kWh
08:00   0.013   0.000   0.013   0.003   0.000   0.003   0.193   0.000
09:00   0.140   0.000   0.140   0.021   0.000   0.021   0.147   0.000
10:00   0.140   0.000   0.140   0.020   0.000   0.020   0.145   0.000
11:00   0.140   0.000   0.140   0.018   0.000   0.018   0.130   0.000
12:00   0.140   0.000   0.140   0.019   0.000   0.019   0.136   0.000
13:00   0.140   0.000   0.140   0.020   0.000   0.020   0.146   0.000
14:00   0.140   0.000   0.140   0.021   0.000   0.021   0.148   0.000
15:00   0.036   0.000   0.036   0.008   0.000   0.008   0.231   0.000
Totaal  0.889   0.000   0.889   0.130   0.000   0.130   0.146   0.000


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
"solar": [ 
    {"name": "zuid",
      "tilt": 45,
      "orientation": 0,
      "capacity": 1,
      "yield": 0.017
    },
    {"name": "oost",
      "tilt": 45,
      "orientation": -90,
      "capacity": 2.4,
      "yield": 0.025
    },
    {"name": "west",
      "tilt": 45,
      "orientation": 90,
      "capacity": 2.4,
      "yield": 0.025
    },
    {"name": "prieel",
      "tilt": 20,
      "orientation": 0,
      "capacity": 0.4,
      "yield": 0.017
    }
  ],


code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
2025-04-03 16:30:45 info: Day Ahead Optimalisering versie: 2025.2.0
2025-04-03 16:30:45 info: Day Ahead Optimalisering gestart op: 03-04-2025 16:30:45
2025-04-03 16:30:45 info: Day Ahead Optimalisatie gestart: 03-04-2025 16:30:45 taak: calc_optimum
2025-04-03 16:30:45 info: Debug = False
2025-04-03 16:30:45 info: Baseload uit instellingen
2025-04-03 16:30:45 waarschuwing: All arrays must be of the same length
2025-04-03 16:30:45 info: lengte prognose arrays:
2025-04-03 16:30:45 info: uur: 30
2025-04-03 16:30:45 info: tijd: 30
2025-04-03 16:30:45 info: p_l: 30
2025-04-03 16:30:45 info: p_t: 30
2025-04-03 16:30:45 info: base: 32
2025-04-03 16:30:45 info: pv_ac: 30
2025-04-03 16:30:45 info: pv_ac: 30
2025-04-03 16:30:45 info: Verbruik dit contractjaar: 1.029 kWh
2025-04-03 16:30:45 info: Productie dit contractjaar: 0.000 kWh
2025-04-03 16:30:45 info: All taxes refund (alles wordt gesaldeerd)
2025-04-03 16:30:46 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland
2025-04-03 16:30:46 info: Gewogen graaddagen: 1.4 K.day
2025-04-03 16:30:46 info: Degree days factor: 2.5 kWh/K.day
2025-04-03 16:30:46 info: Reeds geproduceerde warmte: 0.0 kWh
2025-04-03 16:30:46 info: Nog benodigde warmte: 3.4 kWh
2025-04-03 16:30:46 info: Actuele warmtevraag: Ja
2025-04-03 16:30:46 info: Warmtepomp met power-regeling wordt ingepland
2025-04-03 16:30:46 waarschuwing: Geen oplossing  voor: minimize cost
Hij eindigt meet de regel: "geen oplossing voor minimize cost".
Blijkbaar kan het programma niet schuiven met vebruiken.

Zou jij bij de instellingen "logging level" : "info" willen wijzigen in "logging level" : "debug"?
Dan nog een keer runnen en dan hier de logging delen?

Nog een vraag: jij draait met versie 2025.2.0. Waar geen update naar 2025.3.1?

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • bvw
  • Registratie: September 2020
  • Laatst online: 20:46

bvw

KC27 schreef op donderdag 3 april 2025 @ 19:05:
[...]


Hij eindigt meet de regel: "geen oplossing voor minimize cost".
Blijkbaar kan het programma niet schuiven met vebruiken.

Zou jij bij de instellingen "logging level" : "info" willen wijzigen in "logging level" : "debug"?
Dan nog een keer runnen en dan hier de logging delen?

Nog een vraag: jij draait met versie 2025.2.0. Waar geen update naar 2025.3.1?
Ah. de versie was verkeerd in m'n build argument, da's opgelost. debug info:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
2025-04-03 19:14:09 debug: python pad:['/root/dao/prog', '/root', '/root/dao', '/root/dao/prog', '/usr/lib/python311.zip', '/usr/lib/python3.11', '/usr/lib/python3.11/lib-dynload', '/root/dao/venv/day_ahead/lib/python3.11/site-packages']
2025-04-03 19:14:09 info: Day Ahead Optimalisering versie: 2025.3.1
2025-04-03 19:14:09 info: Day Ahead Optimalisering gestart op: 03-04-2025 19:14:09
2025-04-03 19:14:09 debug: Locatie: latitude 52.x longitude: 4.x
2025-04-03 19:14:09 info: Day Ahead Optimalisatie gestart: 03-04-2025 19:14:09 taak: calc_optimum_met_debug
2025-04-03 19:14:09 debug: Connection status Pool size: 5  Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 477 in /root/dao/prog/da_base.py
2025-04-03 19:14:09 debug: Starting new HTTP connection (1): 192.168.2.2:8901
2025-04-03 19:14:09 debug: http://192.168.2.2:8901 "GET /api/ HTTP/1.1" 200 34
2025-04-03 19:14:09 debug: Starting new HTTP connection (1): 192.168.2.2:8901
2025-04-03 19:14:09 debug: http://192.168.2.2:8901 "GET /api/config HTTP/1.1" 200 939
2025-04-03 19:14:09 debug: Connection status Pool size: 5  Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 144 in /root/dao/prog/da_base.py
2025-04-03 19:14:09 info: Debug = True
2025-04-03 19:14:09 debug: Prognose data:
          time                tijd  temp  glob_rad      pv_rad  da_price
0   1743703200 2025-04-03 20:00:00  18.0       0.0    0.000000   0.15331
1   1743706800 2025-04-03 21:00:00  17.0       0.0    0.000000   0.13147
2   1743710400 2025-04-03 22:00:00  16.0       0.0    0.000000   0.11137
3   1743714000 2025-04-03 23:00:00  15.0       0.0    0.000000   0.10268
4   1743717600 2025-04-04 00:00:00  14.0       0.0    0.000000   0.10497
5   1743721200 2025-04-04 01:00:00  13.0       0.0    0.000000   0.09888
6   1743724800 2025-04-04 02:00:00  12.0       0.0    0.000000   0.09887
7   1743728400 2025-04-04 03:00:00  12.0       0.0    0.000000   0.09895
8   1743732000 2025-04-04 04:00:00  12.0       0.0    0.000000   0.10030
9   1743735600 2025-04-04 05:00:00  11.0       0.0    0.000000   0.10537
10  1743739200 2025-04-04 06:00:00  11.0      11.0    9.711270   0.13516
11  1743742800 2025-04-04 07:00:00  12.0      56.0   49.439192   0.16683
12  1743746400 2025-04-04 08:00:00  13.0     113.0   10.375168   0.13673
13  1743750000 2025-04-04 09:00:00  15.0     167.0  117.194064   0.09448
14  1743753600 2025-04-04 10:00:00  16.0     211.0  246.770890   0.06091
15  1743757200 2025-04-04 11:00:00  17.0     240.0  311.096713   0.00782
16  1743760800 2025-04-04 12:00:00  18.0     253.0  341.796525   0.00000
17  1743764400 2025-04-04 13:00:00  19.0     250.0  339.939525  -0.00227
18  1743768000 2025-04-04 14:00:00  20.0     228.0  298.454717  -0.00214
19  1743771600 2025-04-04 15:00:00  20.0     192.0  239.804162  -0.00011
20  1743775200 2025-04-04 16:00:00  20.0     140.0  163.438034   0.02478
21  1743778800 2025-04-04 17:00:00  20.0      83.0   88.933955   0.07073
22  1743782400 2025-04-04 18:00:00  19.0      30.0   29.780953   0.11103
23  1743786000 2025-04-04 19:00:00  18.0       1.0    1.000000   0.13299
24  1743789600 2025-04-04 20:00:00  16.0       0.0    0.000000   0.14006
25  1743793200 2025-04-04 21:00:00  14.0       0.0    0.000000   0.10900
26  1743796800 2025-04-04 22:00:00  13.0       0.0    0.000000   0.09810
27  1743800400 2025-04-04 23:00:00  12.0       0.0    0.000000   0.09106
2025-04-03 19:14:09 info: Baseload uit instellingen
2025-04-03 19:14:09 debug: Query: 
 SELECT strftime(?, datetime(t1.time, ?, ?)) AS maand, min(datetime(t1.time, ?, ?)) AS vanaf, max(datetime(t1.time, ?, ?)) AS tot, sum(t1.value) AS consumption 
FROM "values" AS t1, variabel AS v1 
WHERE t1.variabel = v1.id AND v1.code = ? AND t1.time >= strftime(?, ?, ?) AND t1.time < strftime(?, ?, ?) GROUP BY maand
2025-04-03 19:14:09 debug: Query: 
 SELECT strftime(?, datetime(t1.time, ?, ?)) AS maand, min(datetime(t1.time, ?, ?)) AS vanaf, max(datetime(t1.time, ?, ?)) AS tot, sum(t1.value) AS production 
FROM "values" AS t1, variabel AS v1 
WHERE t1.variabel = v1.id AND v1.code = ? AND t1.time >= strftime(?, ?, ?) AND t1.time < strftime(?, ?, ?) GROUP BY maand
2025-04-03 19:14:09 debug: Query: 
 SELECT strftime(?, datetime(t1.time, ?, ?)) AS maand, min(datetime(t1.time, ?, ?)) AS vanaf, max(datetime(t1.time, ?, ?)) AS tot, sum(t1.value) AS cost 
FROM "values" AS t1, variabel AS v1 
WHERE t1.variabel = v1.id AND v1.code = ? AND t1.time >= strftime(?, ?, ?) AND t1.time < strftime(?, ?, ?) GROUP BY maand
2025-04-03 19:14:09 debug: Query: 
 SELECT strftime(?, datetime(t1.time, ?, ?)) AS maand, min(datetime(t1.time, ?, ?)) AS vanaf, max(datetime(t1.time, ?, ?)) AS tot, sum(t1.value) AS profit 
FROM "values" AS t1, variabel AS v1 
WHERE t1.variabel = v1.id AND v1.code = ? AND t1.time >= strftime(?, ?, ?) AND t1.time < strftime(?, ?, ?) GROUP BY maand
2025-04-03 19:14:09 debug: query get sensor data:
 SELECT strftime(?, datetime(t2.start_ts, ?, ?)) AS uur, datetime(t2.start_ts, ?, ?) AS tijd, datetime(t2.start_ts, ?, ?) AS tot, CASE WHEN (t2.state > t1.state) THEN t2.state - t1.state ELSE ? END AS consumption 
FROM statistics AS t1 JOIN statistics AS t2 ON t2.start_ts = t1.start_ts + ? JOIN statistics_meta AS v1 ON v1.id = t1.metadata_id AND v1.id = t2.metadata_id 
WHERE v1.statistic_id = ? AND t1.state IS NOT NULL AND t2.state IS NOT NULL AND t1.start_ts >= strftime(?, ?, ?) - ? AND t1.start_ts < strftime(?, ?, ?) - ?
2025-04-03 19:14:09 debug: sensordata raw, sensor sensor.grid_consumption_low,
 Empty DataFrame
Columns: [uur, tijd, tot, consumption]
Index: []

2025-04-03 19:14:09 debug: query get sensor data:
 SELECT strftime(?, datetime(t2.start_ts, ?, ?)) AS uur, datetime(t2.start_ts, ?, ?) AS tijd, datetime(t2.start_ts, ?, ?) AS tot, CASE WHEN (t2.state > t1.state) THEN t2.state - t1.state ELSE ? END AS consumption 
FROM statistics AS t1 JOIN statistics AS t2 ON t2.start_ts = t1.start_ts + ? JOIN statistics_meta AS v1 ON v1.id = t1.metadata_id AND v1.id = t2.metadata_id 
WHERE v1.statistic_id = ? AND t1.state IS NOT NULL AND t2.state IS NOT NULL AND t1.start_ts >= strftime(?, ?, ?) - ? AND t1.start_ts < strftime(?, ?, ?) - ?
2025-04-03 19:14:09 debug: sensordata raw, sensor sensor.grid_consumption_high,
 Empty DataFrame
Columns: [uur, tijd, tot, consumption]
Index: []

2025-04-03 19:14:09 debug: query get sensor data:
 SELECT strftime(?, datetime(t2.start_ts, ?, ?)) AS uur, datetime(t2.start_ts, ?, ?) AS tijd, datetime(t2.start_ts, ?, ?) AS tot, CASE WHEN (t2.state > t1.state) THEN t2.state - t1.state ELSE ? END AS production 
FROM statistics AS t1 JOIN statistics AS t2 ON t2.start_ts = t1.start_ts + ? JOIN statistics_meta AS v1 ON v1.id = t1.metadata_id AND v1.id = t2.metadata_id 
WHERE v1.statistic_id = ? AND t1.state IS NOT NULL AND t2.state IS NOT NULL AND t1.start_ts >= strftime(?, ?, ?) - ? AND t1.start_ts < strftime(?, ?, ?) - ?
2025-04-03 19:14:09 debug: sensordata raw, sensor sensor.grid_production_low,
 Empty DataFrame
Columns: [uur, tijd, tot, production]
Index: []

2025-04-03 19:14:09 debug: query get sensor data:
 SELECT strftime(?, datetime(t2.start_ts, ?, ?)) AS uur, datetime(t2.start_ts, ?, ?) AS tijd, datetime(t2.start_ts, ?, ?) AS tot, CASE WHEN (t2.state > t1.state) THEN t2.state - t1.state ELSE ? END AS production 
FROM statistics AS t1 JOIN statistics AS t2 ON t2.start_ts = t1.start_ts + ? JOIN statistics_meta AS v1 ON v1.id = t1.metadata_id AND v1.id = t2.metadata_id 
WHERE v1.statistic_id = ? AND t1.state IS NOT NULL AND t2.state IS NOT NULL AND t1.start_ts >= strftime(?, ?, ?) - ? AND t1.start_ts < strftime(?, ?, ?) - ?
2025-04-03 19:14:09 debug: sensordata raw, sensor sensor.grid_production_high,
 Empty DataFrame
Columns: [uur, tijd, tot, production]
Index: []

2025-04-03 19:14:09 debug: query get prognose data:
 SELECT datetime(p1.time, ?, ?) AS tijd, p1.value AS consumption, p2.value AS production, ? AS datasoort 
FROM prognoses AS p1, prognoses AS p2, variabel AS v1, variabel AS v2 
WHERE p1.time = p2.time AND p1.variabel = v1.id AND v1.code = ? AND p2.variabel = v2.id AND v2.code = ? AND p1.time >= strftime(?, ?, ?) AND p1.time < strftime(?, ?, ?)
2025-04-03 19:14:09 info: Verbruik dit contractjaar: 0.000 kWh
2025-04-03 19:14:09 info: Productie dit contractjaar: 0.000 kWh
2025-04-03 19:14:09 info: All taxes refund (alles wordt gesaldeerd)
2025-04-03 19:14:10 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland
Welcome to the CBC MILP Solver 
Version: Trunk
Build Date: Oct 24 2021 

Starting solution of the Linear programming relaxation problem using Dual Simplex

Clp0024I Matrix will be packed to eliminate 57 small elements
Coin0507I Presolve determined that the problem was infeasible with tolerance of 1e-08
Clp3003W Analysis indicates model infeasible or unbounded
Clp0014I Perturbing problem by 0.001% of 0.41667179 - largest nonzero change 0 ( 0%) - largest zero change 0.00019824157
Clp0001I Primal infeasible - objective value -26.649265
Clp0032I PrimalInfeasible objective -26.64926487 - 190 iterations time 0.002
2025-04-03 19:14:10 waarschuwing: Geen oplossing  voor: minimize cost
2025-04-03 19:14:10 debug: Connection status Pool size: 5  Connections in pool: 1 Current Overflow: -4 Current Checked out connections: 0 at line 480 in /root/dao/prog/da_base.py
2025-04-03 19:14:10 debug: Connection status Pool size: 5  Connections in pool: 1 Current Overflow: -4 Current Checked out connections: 0 at line 3444 in /root/dao/webserver/../prog/day_ahead.py
debug:root:Dialect: sqlite, database: day_ahead.db, db_path: ../data
debug:root:db_url: sqlite://///root/dao/data/day_ahead.db
debug:root:Dialect: sqlite, database: home-assistant_v2.db, db_path: /homeassistant
debug:root:db_url: sqlite://///homeassistant/home-assistant_v2.db
debug:root:Connection status Pool size: 5  Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 144 in /root/dao/prog/da_base.py


Hier valt ook wat om zie ik:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Logging van bewerking "Bereken de baseloads":

2025-04-03 19:16:59 debug: python pad:['/root/dao/prog', '/root', '/root/dao', '/root/dao/prog', '/usr/lib/python311.zip', '/usr/lib/python3.11', '/usr/lib/python3.11/lib-dynload', '/root/dao/venv/day_ahead/lib/python3.11/site-packages']
2025-04-03 19:16:59 info: Day Ahead Optimalisering versie: 2025.3.1
2025-04-03 19:16:59 info: Day Ahead Optimalisering gestart op: 03-04-2025 19:16:59
2025-04-03 19:16:59 debug: Locatie: latitude 52.3731339 longitude: 4.8903147
2025-04-03 19:16:59 info: Day Ahead Optimalisatie gestart: 03-04-2025 19:16:59 taak: calc_baseloads
2025-04-03 19:16:59 debug: Connection status Pool size: 5  Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 477 in /root/dao/prog/da_base.py
2025-04-03 19:16:59 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
  File "/root/dao/prog/da_base.py", line 478, in run_task_function
    getattr(self, run_task["function"])()
  File "/root/dao/prog/da_base.py", line 424, in calc_baseloads
    report.calc_save_baseloads()
  File "/root/dao/prog/da_report.py", line 2713, in calc_save_baseloads
    baseload = self.calc_weekday_baseload(weekday)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_report.py", line 2704, in calc_weekday_baseload
    result = result.groupby("uur", as_index=False).agg(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/pandas/core/frame.py", line 9183, in groupby
    return DataFrameGroupBy(
           ^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/pandas/core/groupby/groupby.py", line 1329, in __init__
    grouper, exclusions, obj = get_grouper(
                               ^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/pandas/core/groupby/grouper.py", line 1043, in get_grouper
    raise KeyError(gpr)
KeyError: 'uur'
debug:root:Dialect: sqlite, database: day_ahead.db, db_path: ../data
debug:root:db_url: sqlite://///root/dao/data/day_ahead.db
debug:root:Dialect: sqlite, database: home-assistant_v2.db, db_path: /homeassistant
debug:root:db_url: sqlite://///homeassistant/home-assistant_v2.db
debug:root:Connection status Pool size: 5  Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 144 in /root/dao/prog/da_base.py
Traceback (most recent call last):
  File "/root/dao/webserver/../prog/day_ahead.py", line 3448, in <module>
    main()
  File "/root/dao/webserver/../prog/day_ahead.py", line 3442, in main
    da_calc.run_task_function("calc_baseloads")
  File "/root/dao/prog/da_base.py", line 478, in run_task_function
    getattr(self, run_task["function"])()
  File "/root/dao/prog/da_base.py", line 424, in calc_baseloads
    report.calc_save_baseloads()
  File "/root/dao/prog/da_report.py", line 2713, in calc_save_baseloads
    baseload = self.calc_weekday_baseload(weekday)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_report.py", line 2704, in calc_weekday_baseload
    result = result.groupby("uur", as_index=False).agg(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/pandas/core/frame.py", line 9183, in groupby
    return DataFrameGroupBy(
           ^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/pandas/core/groupby/groupby.py", line 1329, in __init__
    grouper, exclusions, obj = get_grouper(
                               ^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/pandas/core/groupby/grouper.py", line 1043, in get_grouper
    raise KeyError(gpr)
KeyError: 'uur'

[ Voor 26% gewijzigd door bvw op 03-04-2025 19:21 ]

LG Therma V MonoBloc HM091MR.U44 hybride | Bosch Compress 3000i (split) 5kW hybride | Home Assistant met WAF


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
@bvw @Marcjeno1
Er moet nog een build-argument bij: versie nummer.
Blijkbaar was @bvw daar al achter:
De commandline moet worden:
code:
1
2
3
4
5
6
docker buildx build \
   --build-arg BUILD_ARCH=amd64 \
   --build-arg BUILD_FROM=ghcr.io/hassio-addons/debian-base/amd64:stable \
   --build-arg BUILD_VERSION=2025.3.1 \
   -t dao:latest \
   https://github.com/corneel27/day-ahead.git#main:dao

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
bvw schreef op donderdag 3 april 2025 @ 19:15:
[...]


Ah. de versie was verkeerd in m'n build argument, da's opgelost. debug info:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
2025-04-03 19:14:09 debug: python pad:['/root/dao/prog', '/root', '/root/dao', '/root/dao/prog', '/usr/lib/python311.zip', '/usr/lib/python3.11', '/usr/lib/python3.11/lib-dynload', '/root/dao/venv/day_ahead/lib/python3.11/site-packages']
2025-04-03 19:14:09 info: Day Ahead Optimalisering versie: 2025.3.1
2025-04-03 19:14:09 info: Day Ahead Optimalisering gestart op: 03-04-2025 19:14:09
2025-04-03 19:14:09 debug: Locatie: latitude 52.x longitude: 4.x
2025-04-03 19:14:09 info: Day Ahead Optimalisatie gestart: 03-04-2025 19:14:09 taak: calc_optimum_met_debug
2025-04-03 19:14:09 debug: Connection status Pool size: 5  Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 477 in /root/dao/prog/da_base.py
2025-04-03 19:14:09 debug: Starting new HTTP connection (1): 192.168.2.2:8901
2025-04-03 19:14:09 debug: http://192.168.2.2:8901 "GET /api/ HTTP/1.1" 200 34
2025-04-03 19:14:09 debug: Starting new HTTP connection (1): 192.168.2.2:8901
2025-04-03 19:14:09 debug: http://192.168.2.2:8901 "GET /api/config HTTP/1.1" 200 939
2025-04-03 19:14:09 debug: Connection status Pool size: 5  Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 144 in /root/dao/prog/da_base.py
2025-04-03 19:14:09 info: Debug = True
2025-04-03 19:14:09 debug: Prognose data:
          time                tijd  temp  glob_rad      pv_rad  da_price
0   1743703200 2025-04-03 20:00:00  18.0       0.0    0.000000   0.15331
1   1743706800 2025-04-03 21:00:00  17.0       0.0    0.000000   0.13147
2   1743710400 2025-04-03 22:00:00  16.0       0.0    0.000000   0.11137
3   1743714000 2025-04-03 23:00:00  15.0       0.0    0.000000   0.10268
4   1743717600 2025-04-04 00:00:00  14.0       0.0    0.000000   0.10497
5   1743721200 2025-04-04 01:00:00  13.0       0.0    0.000000   0.09888
6   1743724800 2025-04-04 02:00:00  12.0       0.0    0.000000   0.09887
7   1743728400 2025-04-04 03:00:00  12.0       0.0    0.000000   0.09895
8   1743732000 2025-04-04 04:00:00  12.0       0.0    0.000000   0.10030
9   1743735600 2025-04-04 05:00:00  11.0       0.0    0.000000   0.10537
10  1743739200 2025-04-04 06:00:00  11.0      11.0    9.711270   0.13516
11  1743742800 2025-04-04 07:00:00  12.0      56.0   49.439192   0.16683
12  1743746400 2025-04-04 08:00:00  13.0     113.0   10.375168   0.13673
13  1743750000 2025-04-04 09:00:00  15.0     167.0  117.194064   0.09448
14  1743753600 2025-04-04 10:00:00  16.0     211.0  246.770890   0.06091
15  1743757200 2025-04-04 11:00:00  17.0     240.0  311.096713   0.00782
16  1743760800 2025-04-04 12:00:00  18.0     253.0  341.796525   0.00000
17  1743764400 2025-04-04 13:00:00  19.0     250.0  339.939525  -0.00227
18  1743768000 2025-04-04 14:00:00  20.0     228.0  298.454717  -0.00214
19  1743771600 2025-04-04 15:00:00  20.0     192.0  239.804162  -0.00011
20  1743775200 2025-04-04 16:00:00  20.0     140.0  163.438034   0.02478
21  1743778800 2025-04-04 17:00:00  20.0      83.0   88.933955   0.07073
22  1743782400 2025-04-04 18:00:00  19.0      30.0   29.780953   0.11103
23  1743786000 2025-04-04 19:00:00  18.0       1.0    1.000000   0.13299
24  1743789600 2025-04-04 20:00:00  16.0       0.0    0.000000   0.14006
25  1743793200 2025-04-04 21:00:00  14.0       0.0    0.000000   0.10900
26  1743796800 2025-04-04 22:00:00  13.0       0.0    0.000000   0.09810
27  1743800400 2025-04-04 23:00:00  12.0       0.0    0.000000   0.09106
2025-04-03 19:14:09 info: Baseload uit instellingen
2025-04-03 19:14:09 debug: Query: 
 SELECT strftime(?, datetime(t1.time, ?, ?)) AS maand, min(datetime(t1.time, ?, ?)) AS vanaf, max(datetime(t1.time, ?, ?)) AS tot, sum(t1.value) AS consumption 
FROM "values" AS t1, variabel AS v1 
WHERE t1.variabel = v1.id AND v1.code = ? AND t1.time >= strftime(?, ?, ?) AND t1.time < strftime(?, ?, ?) GROUP BY maand
2025-04-03 19:14:09 debug: Query: 
 SELECT strftime(?, datetime(t1.time, ?, ?)) AS maand, min(datetime(t1.time, ?, ?)) AS vanaf, max(datetime(t1.time, ?, ?)) AS tot, sum(t1.value) AS production 
FROM "values" AS t1, variabel AS v1 
WHERE t1.variabel = v1.id AND v1.code = ? AND t1.time >= strftime(?, ?, ?) AND t1.time < strftime(?, ?, ?) GROUP BY maand
2025-04-03 19:14:09 debug: Query: 
 SELECT strftime(?, datetime(t1.time, ?, ?)) AS maand, min(datetime(t1.time, ?, ?)) AS vanaf, max(datetime(t1.time, ?, ?)) AS tot, sum(t1.value) AS cost 
FROM "values" AS t1, variabel AS v1 
WHERE t1.variabel = v1.id AND v1.code = ? AND t1.time >= strftime(?, ?, ?) AND t1.time < strftime(?, ?, ?) GROUP BY maand
2025-04-03 19:14:09 debug: Query: 
 SELECT strftime(?, datetime(t1.time, ?, ?)) AS maand, min(datetime(t1.time, ?, ?)) AS vanaf, max(datetime(t1.time, ?, ?)) AS tot, sum(t1.value) AS profit 
FROM "values" AS t1, variabel AS v1 
WHERE t1.variabel = v1.id AND v1.code = ? AND t1.time >= strftime(?, ?, ?) AND t1.time < strftime(?, ?, ?) GROUP BY maand
2025-04-03 19:14:09 debug: query get sensor data:
 SELECT strftime(?, datetime(t2.start_ts, ?, ?)) AS uur, datetime(t2.start_ts, ?, ?) AS tijd, datetime(t2.start_ts, ?, ?) AS tot, CASE WHEN (t2.state > t1.state) THEN t2.state - t1.state ELSE ? END AS consumption 
FROM statistics AS t1 JOIN statistics AS t2 ON t2.start_ts = t1.start_ts + ? JOIN statistics_meta AS v1 ON v1.id = t1.metadata_id AND v1.id = t2.metadata_id 
WHERE v1.statistic_id = ? AND t1.state IS NOT NULL AND t2.state IS NOT NULL AND t1.start_ts >= strftime(?, ?, ?) - ? AND t1.start_ts < strftime(?, ?, ?) - ?
2025-04-03 19:14:09 debug: sensordata raw, sensor sensor.grid_consumption_low,
 Empty DataFrame
Columns: [uur, tijd, tot, consumption]
Index: []

2025-04-03 19:14:09 debug: query get sensor data:
 SELECT strftime(?, datetime(t2.start_ts, ?, ?)) AS uur, datetime(t2.start_ts, ?, ?) AS tijd, datetime(t2.start_ts, ?, ?) AS tot, CASE WHEN (t2.state > t1.state) THEN t2.state - t1.state ELSE ? END AS consumption 
FROM statistics AS t1 JOIN statistics AS t2 ON t2.start_ts = t1.start_ts + ? JOIN statistics_meta AS v1 ON v1.id = t1.metadata_id AND v1.id = t2.metadata_id 
WHERE v1.statistic_id = ? AND t1.state IS NOT NULL AND t2.state IS NOT NULL AND t1.start_ts >= strftime(?, ?, ?) - ? AND t1.start_ts < strftime(?, ?, ?) - ?
2025-04-03 19:14:09 debug: sensordata raw, sensor sensor.grid_consumption_high,
 Empty DataFrame
Columns: [uur, tijd, tot, consumption]
Index: []

2025-04-03 19:14:09 debug: query get sensor data:
 SELECT strftime(?, datetime(t2.start_ts, ?, ?)) AS uur, datetime(t2.start_ts, ?, ?) AS tijd, datetime(t2.start_ts, ?, ?) AS tot, CASE WHEN (t2.state > t1.state) THEN t2.state - t1.state ELSE ? END AS production 
FROM statistics AS t1 JOIN statistics AS t2 ON t2.start_ts = t1.start_ts + ? JOIN statistics_meta AS v1 ON v1.id = t1.metadata_id AND v1.id = t2.metadata_id 
WHERE v1.statistic_id = ? AND t1.state IS NOT NULL AND t2.state IS NOT NULL AND t1.start_ts >= strftime(?, ?, ?) - ? AND t1.start_ts < strftime(?, ?, ?) - ?
2025-04-03 19:14:09 debug: sensordata raw, sensor sensor.grid_production_low,
 Empty DataFrame
Columns: [uur, tijd, tot, production]
Index: []

2025-04-03 19:14:09 debug: query get sensor data:
 SELECT strftime(?, datetime(t2.start_ts, ?, ?)) AS uur, datetime(t2.start_ts, ?, ?) AS tijd, datetime(t2.start_ts, ?, ?) AS tot, CASE WHEN (t2.state > t1.state) THEN t2.state - t1.state ELSE ? END AS production 
FROM statistics AS t1 JOIN statistics AS t2 ON t2.start_ts = t1.start_ts + ? JOIN statistics_meta AS v1 ON v1.id = t1.metadata_id AND v1.id = t2.metadata_id 
WHERE v1.statistic_id = ? AND t1.state IS NOT NULL AND t2.state IS NOT NULL AND t1.start_ts >= strftime(?, ?, ?) - ? AND t1.start_ts < strftime(?, ?, ?) - ?
2025-04-03 19:14:09 debug: sensordata raw, sensor sensor.grid_production_high,
 Empty DataFrame
Columns: [uur, tijd, tot, production]
Index: []

2025-04-03 19:14:09 debug: query get prognose data:
 SELECT datetime(p1.time, ?, ?) AS tijd, p1.value AS consumption, p2.value AS production, ? AS datasoort 
FROM prognoses AS p1, prognoses AS p2, variabel AS v1, variabel AS v2 
WHERE p1.time = p2.time AND p1.variabel = v1.id AND v1.code = ? AND p2.variabel = v2.id AND v2.code = ? AND p1.time >= strftime(?, ?, ?) AND p1.time < strftime(?, ?, ?)
2025-04-03 19:14:09 info: Verbruik dit contractjaar: 0.000 kWh
2025-04-03 19:14:09 info: Productie dit contractjaar: 0.000 kWh
2025-04-03 19:14:09 info: All taxes refund (alles wordt gesaldeerd)
2025-04-03 19:14:10 info: Boiler niet aanwezig of staat uit, boiler wordt niet ingepland
Welcome to the CBC MILP Solver 
Version: Trunk
Build Date: Oct 24 2021 

Starting solution of the Linear programming relaxation problem using Dual Simplex

Clp0024I Matrix will be packed to eliminate 57 small elements
Coin0507I Presolve determined that the problem was infeasible with tolerance of 1e-08
Clp3003W Analysis indicates model infeasible or unbounded
Clp0014I Perturbing problem by 0.001% of 0.41667179 - largest nonzero change 0 ( 0%) - largest zero change 0.00019824157
Clp0001I Primal infeasible - objective value -26.649265
Clp0032I PrimalInfeasible objective -26.64926487 - 190 iterations time 0.002
2025-04-03 19:14:10 waarschuwing: Geen oplossing  voor: minimize cost
2025-04-03 19:14:10 debug: Connection status Pool size: 5  Connections in pool: 1 Current Overflow: -4 Current Checked out connections: 0 at line 480 in /root/dao/prog/da_base.py
2025-04-03 19:14:10 debug: Connection status Pool size: 5  Connections in pool: 1 Current Overflow: -4 Current Checked out connections: 0 at line 3444 in /root/dao/webserver/../prog/day_ahead.py
debug:root:Dialect: sqlite, database: day_ahead.db, db_path: ../data
debug:root:db_url: sqlite://///root/dao/data/day_ahead.db
debug:root:Dialect: sqlite, database: home-assistant_v2.db, db_path: /homeassistant
debug:root:db_url: sqlite://///homeassistant/home-assistant_v2.db
debug:root:Connection status Pool size: 5  Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 144 in /root/dao/prog/da_base.py


Hier valt ook wat om zie ik:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Logging van bewerking "Bereken de baseloads":

2025-04-03 19:16:59 debug: python pad:['/root/dao/prog', '/root', '/root/dao', '/root/dao/prog', '/usr/lib/python311.zip', '/usr/lib/python3.11', '/usr/lib/python3.11/lib-dynload', '/root/dao/venv/day_ahead/lib/python3.11/site-packages']
2025-04-03 19:16:59 info: Day Ahead Optimalisering versie: 2025.3.1
2025-04-03 19:16:59 info: Day Ahead Optimalisering gestart op: 03-04-2025 19:16:59
2025-04-03 19:16:59 debug: Locatie: latitude 52.3731339 longitude: 4.8903147
2025-04-03 19:16:59 info: Day Ahead Optimalisatie gestart: 03-04-2025 19:16:59 taak: calc_baseloads
2025-04-03 19:16:59 debug: Connection status Pool size: 5  Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 477 in /root/dao/prog/da_base.py
2025-04-03 19:16:59 fout: Er is een fout opgetreden, zie de fout-tracering
Traceback (most recent call last):
  File "/root/dao/prog/da_base.py", line 478, in run_task_function
    getattr(self, run_task["function"])()
  File "/root/dao/prog/da_base.py", line 424, in calc_baseloads
    report.calc_save_baseloads()
  File "/root/dao/prog/da_report.py", line 2713, in calc_save_baseloads
    baseload = self.calc_weekday_baseload(weekday)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_report.py", line 2704, in calc_weekday_baseload
    result = result.groupby("uur", as_index=False).agg(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/pandas/core/frame.py", line 9183, in groupby
    return DataFrameGroupBy(
           ^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/pandas/core/groupby/groupby.py", line 1329, in __init__
    grouper, exclusions, obj = get_grouper(
                               ^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/pandas/core/groupby/grouper.py", line 1043, in get_grouper
    raise KeyError(gpr)
KeyError: 'uur'
debug:root:Dialect: sqlite, database: day_ahead.db, db_path: ../data
debug:root:db_url: sqlite://///root/dao/data/day_ahead.db
debug:root:Dialect: sqlite, database: home-assistant_v2.db, db_path: /homeassistant
debug:root:db_url: sqlite://///homeassistant/home-assistant_v2.db
debug:root:Connection status Pool size: 5  Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0 at line 144 in /root/dao/prog/da_base.py
Traceback (most recent call last):
  File "/root/dao/webserver/../prog/day_ahead.py", line 3448, in <module>
    main()
  File "/root/dao/webserver/../prog/day_ahead.py", line 3442, in main
    da_calc.run_task_function("calc_baseloads")
  File "/root/dao/prog/da_base.py", line 478, in run_task_function
    getattr(self, run_task["function"])()
  File "/root/dao/prog/da_base.py", line 424, in calc_baseloads
    report.calc_save_baseloads()
  File "/root/dao/prog/da_report.py", line 2713, in calc_save_baseloads
    baseload = self.calc_weekday_baseload(weekday)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/prog/da_report.py", line 2704, in calc_weekday_baseload
    result = result.groupby("uur", as_index=False).agg(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/pandas/core/frame.py", line 9183, in groupby
    return DataFrameGroupBy(
           ^^^^^^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/pandas/core/groupby/groupby.py", line 1329, in __init__
    grouper, exclusions, obj = get_grouper(
                               ^^^^^^^^^^^^
  File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/pandas/core/groupby/grouper.py", line 1043, in get_grouper
    raise KeyError(gpr)
KeyError: 'uur'
Laten we de fouten een voor een tackelen.
Dus ik stel voor eerst maar de optimaliseringsberekening.
Ik zie zo niks geks.
Kun jij je instellingen hier delen?
Dan run ik hem hier en kan ik er waarschijnlijk iets meer over zeggen.

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • bvw
  • Registratie: September 2020
  • Laatst online: 20:46

bvw

KC27 schreef op donderdag 3 april 2025 @ 19:27:
[...]


Laten we de fouten een voor een tackelen.
Dus ik stel voor eerst maar de optimaliseringsberekening.
Ik zie zo niks geks.
Kun jij je instellingen hier delen?
Dan run ik hem hier en kan ik er waarschijnlijk iets meer over zeggen.
d:)b

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
{
  "homeassistant": {
    "ip adress": "192.168.2.2",
    "ip port": 8901,
    "token": "!secret ha_api_token"
  },
  "database ha": {
    "engine": "sqlite",
    "database": "home-assistant_v2.db",
    "db_path": "/homeassistant"
  },
  "database da": {
    "engine": "sqlite",
    "db_path": "../data"    
  },
  "meteoserver-key": "!secret meteoserver-key",
  "prices": {
    "source day ahead": "easyenergy",
    "regular high": 0.50,
    "regular low": 0.40,
    "switch to low": 23,
    "energy taxes delivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "energy taxes redelivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "cost supplier delivery": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496
    },
    "cost supplier redelivery": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496
    },
    "vat": {
      "2022-01-01": 21,
      "2022-07-01": 9,
      "2023-01-01": 21
    },
    "last invoice": "2022-09-01",
    "tax refund": "True"
  },
  "logging level" : "debug",
  "use_calc_baseload": "False",
  "baseload calc periode": 56,
  "baseload": [
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14
  ],
  "graphical backend": "",
  "graphics": {
    "style": "Solarize_Light2",
    "show" : "true",
    "prices delivery": "True",
    "prices redelivery": "True",
    "average delivery": "True"
  },
  "strategy": "minimize cost",
  "notifications": {
  },
  "grid": {
    "max_power": 17
  },
  "history": {
    "save days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "boiler": {
    "boiler present": "False",
    "entity actual temp.": "sensor.boiler_gemeten",
    "entity setpoint": "sensor.boiler_ingesteld",
    "entity hysterese": "sensor.hysterese_hot_water",
    "cop": 2.9,
    "cooling rate": 0.4,
    "volume": 180,
    "heating allowed below": 44,
    "elec. power": 1500,
    "activate service": "press",
    "activate entity": "input_button.hw_trigger"
  },
  "heating": {
    "heater present": "False",
    "degree days factor": 2.5,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7.0
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6.0
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5.0
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4.0
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "solar": [    
    {"name": "zuid",
      "tilt": 45,
      "orientation": 0,
      "capacity": 1,
      "yield": 0.017
    },
    {"name": "oost",
      "tilt": 45,
      "orientation": -90,
      "capacity": 2.4,
      "yield": 0.025
    },
    {"name": "west",
      "tilt": 45,
      "orientation": 90,
      "capacity": 2.4,
      "yield": 0.025
    },
    {"name": "prieel",
      "tilt": 20,
      "orientation": 0,
      "capacity": 0.4,
      "yield": 0.017
    } 
  ],
  "battery": [ ],
  "electric vehicle": [ ],
  "machines" : [ ],
  "tibber": {
    "api_token": "!secret tibber_api_token"
  },
  "report": {
    "entities grid consumption": [
      "sensor.grid_consumption_low",
      "sensor.grid_consumption_high"
    ],
    "entities grid production": [
      "sensor.grid_production_low",
      "sensor.grid_production_high"
    ],
    "entities solar production ac": [
      "sensor.solaredge_woning_ac_energy_kwh"
    ],
    "entities solar production dc": [],
    "entities ev consumption" : ["sensor.laadpunt_total_energy"],
    "entities wp consumption" : [],
    "entities boiler consumption": [],
    "entities battery consumption": ["sensor.ess_grid_consumption"],
    "entities battery production": ["sensor.ess_grid_production"]
  },
  "scheduler": {
    "active": "true",
    "0430": "get_meteo_data",
    "1030": "get_meteo_data",
    "1630": "get_meteo_data",
    "2230": "get_meteo_data",
    "1255": "get_day_ahead_prices",
    "1355": "get_day_ahead_prices",
    "1455": "get_day_ahead_prices",
    "1554": "get_day_ahead_prices",
    "1655": "get_day_ahead_prices",
    "xx00": "calc_optimum",
    "2359": "clean_data"
  }
}

LG Therma V MonoBloc HM091MR.U44 hybride | Bosch Compress 3000i (split) 5kW hybride | Home Assistant met WAF


Acties:
  • +1 Henk 'm!

  • broekieman
  • Registratie: November 2019
  • Laatst online: 21:36
KC27 schreef op woensdag 2 april 2025 @ 23:22:
[...]

Heb je per batterij een lijst van entities?
Weet je ook welke de efficiency bij laden en ontladen liefst in stappen van vermogen?
Per batterij moet er zoiets worden ingevuld;
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
    {"name" : "Accu1",
     "entity actual level": "sensor.ess_battery_soc",
     "capacity": 31,
     "upper limit": 100,
     "lower limit": 18,
     "charge stages" : [
        {"power": 0.0, "efficiency": 1},
        {"power": 30.0, "efficiency": 0.949},
        {"power": 60.0, "efficiency": 0.950},
        {"power": 90.0, "efficiency": 0.951},
        {"power": 150.0, "efficiency": 0.952},
        {"power": 300.0, "efficiency": 0.953},
        {"power": 600.0, "efficiency": 0.954},
        {"power": 1200.0, "efficiency": 0.955},
        {"power": 2400.0, "efficiency": 0.949},
        {"power": 3600.0, "efficiency": 0.934},
        {"power": 4800.0, "efficiency": 0.92},
        {"power": 5500.0, "efficiency": 0.905}
    ],
     "discharge stages" : [
        {"power": 0.0, "efficiency": 1},
        {"power": 30.0, "efficiency": 0.949},
        {"power": 60.0, "efficiency": 0.950},
        {"power": 90.0, "efficiency": 0.951},
        {"power": 150.0, "efficiency": 0.952},
        {"power": 300.0, "efficiency": 0.953},
        {"power": 600.0, "efficiency": 0.954},
        {"power": 1200.0, "efficiency": 0.955},
        {"power": 2400.0, "efficiency": 0.949},
        {"power": 3600.0, "efficiency": 0.934},
        {"power": 4800.0, "efficiency": 0.92}
    ],
     "minimum power" : 1200,
     "dc_to_bat efficiency" : 0.96,
     "bat_to_dc efficiency": 0.96,
     "cycle cost" : 0.01,
     "entity set power feedin": "input_number.feedin_grid",
     "entity set operating mode": "input_select.ess_operating_mode",
     "entity stop inverter": "input_datetime.stop_victron",
     "entity balance switch": "input_boolean.balanceer_grid",
     "solar": [ ]
    }
  ],

solar moet worden ingevuld als pv direct via mppt invoedt op je batterij.
Lees ook DOCS.md voor de details!
Jazeker heb ik alle entities. Vandaag een Esphome bordje aangesloten op de rs485 poort van de batterijen en lees nu beide bms'en en idem cell waardes uit. Ik heb een Victron systeem en deze leest via mqtt mijn pv productie zodat de batterij laadt als er zon is.

Acties:
  • +1 Henk 'm!

  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 20:32
tip om langdurig scrollen van coderegels tegen te gaan, gebruik de [Quote] optie

Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal


Acties:
  • +1 Henk 'm!

  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 20:32
mooi topic en ontwikkeling, deze ga ik volgen

nog een vraag, wat is de grote toegevoegde waarde van DOA wanneer je geen Accu hebt en dus alleen verbruik kan schuiven en sturen?

aanwezig zijn een full electric warmtepomp, een EV, PV en een vaatwasser die ik kan sturen
wasmachine en wasdroger zijn niet te sturen

Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
bvw schreef op donderdag 3 april 2025 @ 19:28:
[...]

d:)b

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
{
  "homeassistant": {
    "ip adress": "192.168.2.2",
    "ip port": 8901,
    "token": "!secret ha_api_token"
  },
  "database ha": {
    "engine": "sqlite",
    "database": "home-assistant_v2.db",
    "db_path": "/homeassistant"
  },
  "database da": {
    "engine": "sqlite",
    "db_path": "../data"    
  },
  "meteoserver-key": "!secret meteoserver-key",
  "prices": {
    "source day ahead": "easyenergy",
    "regular high": 0.50,
    "regular low": 0.40,
    "switch to low": 23,
    "energy taxes delivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "energy taxes redelivery": {
      "2022-01-01": 0.06729,
      "2023-01-01": 0.12599,
      "2024-01-01": 0.10880,
      "2025-01-01": 0.10154
    },
    "cost supplier delivery": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496
    },
    "cost supplier redelivery": {
      "2022-01-01": 0.002,
      "2023-03-01": 0.018,
      "2024-04-01": 0.0175,
      "2024-08-01": 0.020496
    },
    "vat": {
      "2022-01-01": 21,
      "2022-07-01": 9,
      "2023-01-01": 21
    },
    "last invoice": "2022-09-01",
    "tax refund": "True"
  },
  "logging level" : "debug",
  "use_calc_baseload": "False",
  "baseload calc periode": 56,
  "baseload": [
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14,
    0.14
  ],
  "graphical backend": "",
  "graphics": {
    "style": "Solarize_Light2",
    "show" : "true",
    "prices delivery": "True",
    "prices redelivery": "True",
    "average delivery": "True"
  },
  "strategy": "minimize cost",
  "notifications": {
  },
  "grid": {
    "max_power": 17
  },
  "history": {
    "save days": 7
  },
  "dashboard": {
    "port": 5000
  },
  "boiler": {
    "boiler present": "False",
    "entity actual temp.": "sensor.boiler_gemeten",
    "entity setpoint": "sensor.boiler_ingesteld",
    "entity hysterese": "sensor.hysterese_hot_water",
    "cop": 2.9,
    "cooling rate": 0.4,
    "volume": 180,
    "heating allowed below": 44,
    "elec. power": 1500,
    "activate service": "press",
    "activate entity": "input_button.hw_trigger"
  },
  "heating": {
    "heater present": "False",
    "degree days factor": 2.5,
    "stages": [
      {
        "max_power": 225,
        "cop": 7.1
      },
      {
        "max_power": 300,
        "cop": 7.0
      },
      {
        "max_power": 400,
        "cop": 6.5
      },
      {
        "max_power": 500,
        "cop": 6.0
      },
      {
        "max_power": 600,
        "cop": 5.5
      },
      {
        "max_power": 750,
        "cop": 5.0
      },
      {
        "max_power": 1000,
        "cop": 4.5
      },
      {
        "max_power": 1250,
        "cop": 4.0
      }
    ],
    "entity adjust heating curve": "input_number.stooklijn_verschuiving_day_ahead",
    "adjustment factor": 0.04
  },
  "solar": [    
    {"name": "zuid",
      "tilt": 45,
      "orientation": 0,
      "capacity": 1,
      "yield": 0.017
    },
    {"name": "oost",
      "tilt": 45,
      "orientation": -90,
      "capacity": 2.4,
      "yield": 0.025
    },
    {"name": "west",
      "tilt": 45,
      "orientation": 90,
      "capacity": 2.4,
      "yield": 0.025
    },
    {"name": "prieel",
      "tilt": 20,
      "orientation": 0,
      "capacity": 0.4,
      "yield": 0.017
    } 
  ],
  "battery": [ ],
  "electric vehicle": [ ],
  "machines" : [ ],
  "tibber": {
    "api_token": "!secret tibber_api_token"
  },
  "report": {
    "entities grid consumption": [
      "sensor.grid_consumption_low",
      "sensor.grid_consumption_high"
    ],
    "entities grid production": [
      "sensor.grid_production_low",
      "sensor.grid_production_high"
    ],
    "entities solar production ac": [
      "sensor.solaredge_woning_ac_energy_kwh"
    ],
    "entities solar production dc": [],
    "entities ev consumption" : ["sensor.laadpunt_total_energy"],
    "entities wp consumption" : [],
    "entities boiler consumption": [],
    "entities battery consumption": ["sensor.ess_grid_consumption"],
    "entities battery production": ["sensor.ess_grid_production"]
  },
  "scheduler": {
    "active": "true",
    "0430": "get_meteo_data",
    "1030": "get_meteo_data",
    "1630": "get_meteo_data",
    "2230": "get_meteo_data",
    "1255": "get_day_ahead_prices",
    "1355": "get_day_ahead_prices",
    "1455": "get_day_ahead_prices",
    "1554": "get_day_ahead_prices",
    "1655": "get_day_ahead_prices",
    "xx00": "calc_optimum",
    "2359": "clean_data"
  }
}
Ik heb wel even moeten zoeken.
Maar het probleem zit in de combinatie van hoge productie van je PV en je grid-limiet . Op het hoogste punt is die pv productie 20 kWh/uur. En dat past niet binnen de grid-grens van 17 kW (3 x 25 A)
Ik heb als voorbeeld even alle yields gehalveerd en krijg dan deze grafiek:
Afbeeldingslocatie: https://tweakers.net/i/0hc1m7XB1ZnddRhiVGLdgRu90k8=/x800/filters:strip_exif()/f/image/O1Rgzcw74ZGFmYZWBswXBHOd.png?f=fotoalbum_large

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
broekieman schreef op donderdag 3 april 2025 @ 19:46:
[...]
Jazeker heb ik alle entities. Vandaag een Esphome bordje aangesloten op de rs485 poort van de batterijen en lees nu beide bms'en en idem cell waardes uit. Ik heb een Victron systeem en deze leest via mqtt mijn pv productie zodat de batterij laadt als er zon is.
Kun je nu vooruit of heb je nog concrete vragen?

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • +2 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
hemertje schreef op donderdag 3 april 2025 @ 21:33:
mooi topic en ontwikkeling, deze ga ik volgen

nog een vraag, wat is de grote toegevoegde waarde van DOA wanneer je geen Accu hebt en dus alleen verbruik kan schuiven en sturen?

aanwezig zijn een full electric warmtepomp, een EV, PV en een vaatwasser die ik kan sturen
wasmachine en wasdroger zijn niet te sturen
Je kunt ook zonder thuisaccu nog prima gebruik maken DAO:
  • Als je je warmtepomp kunt sturen vanuit HA en je hebt een vloerverwarming met een beton-warmtebuffer, dan kan DAO berekenen wanneer het gunstiger is om de wp wat harder of zachter te laten draaien. Dat levert je geld op zonder dat je comfort inlevert.
  • Bij een EV kun je in DAO opgeven wanneer hij tot een bepaald percentage gevuld moet zijn. DAO rekent dan uit in welke uren en met welk vermogen de EV moet worden geladen en stuurt dat (via HA) dan ook aan.
  • DAO kan (ook weer via HA) de PV-omvormer(s) uitzetten op het moment dat jouw all-in teruglevertarief negatief wordt.
  • Ook je vaatwasser kan DAO inplannen: je geeft het tijd-window op waarbinnen hij moet draaien, je geeft voor ieder "programma" per kwartier het opgenomen vermogen op en DAO zoekt uit wanneer hij moet worden ingepland, geeft dat door aan HA en HA start de vaatwasser.
  • Dat kun je ook doen met de andere huishoudelijke apparaten, maar dan zul je zelf op het aangegeven tijdstip "de knop om" moeten zetten:
    Afbeeldingslocatie: https://tweakers.net/i/aKic6kz7tZIEbgLWY0APCXJoYo4=/fit-in/4000x4000/filters:no_upscale():strip_exif()/f/image/hgJRsOUBXxSPgnjDckA3eQVF.png?f=user_large

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • broekieman
  • Registratie: November 2019
  • Laatst online: 21:36
KC27 schreef op donderdag 3 april 2025 @ 22:45:
[...]


Kun je nu vooruit of heb je nog concrete vragen?
Ik weet niet hoe en wat over je genoemde efficiency. Ik zal er eens aan beginnen met de handleiding van je addon en de entities van de batterijen invoeren. Hoe doe ik het met de zonnepanelen?

Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
broekieman schreef op donderdag 3 april 2025 @ 23:08:
[...]
Ik weet niet hoe en wat over je genoemde efficiency. Ik zal er eens aan beginnen met de handleiding van je addon en de entities van de batterijen invoeren. Hoe doe ik het met de zonnepanelen?
Mijn eigen ervaring is: pak met DAO geen twee of meer apparaten tegelijk aan. Pak een onderdeel aan en zorg dat dat goed werkt en daarna zet je de volgende stap en pak je er een volgend apparaat bij.
Dus ook: eerst 1 batterij, daarna de tweede (en de derde?).

[ Voor 5% gewijzigd door KC27 op 03-04-2025 23:15 ]

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 20:32
KC27 schreef op donderdag 3 april 2025 @ 23:00:
[...]

Je kunt ook zonder thuisaccu nog prima gebruik maken DAO:
  • Als je je warmtepomp kunt sturen vanuit HA en je hebt een vloerverwarming met een beton-warmtebuffer, dan kan DAO berekenen wanneer het gunstiger is om de wp wat harder of zachter te laten draaien. Dat levert je geld op zonder dat je comfort inlevert.
  • Bij een EV kun je in DAO opgeven wanneer hij tot een bepaald percentage gevuld moet zijn. DAO rekent dan uit in welke uren en met welk vermogen de EV moet worden geladen en stuurt dat (via HA) dan ook aan.
  • DAO kan (ook weer via HA) de PV-omvormer(s) uitzetten op het moment dat jouw all-in teruglevertarief negatief wordt.
  • Ook je vaatwasser kan DAO inplannen: je geeft het tijd-window op waarbinnen hij moet draaien, je geeft voor ieder "programma" per kwartier het opgenomen vermogen op en DAO zoekt uit wanneer hij moet worden ingepland, geeft dat door aan HA en HA start de vaatwasser.
  • Dat kun je ook doen met de andere huishoudelijke apparaten, maar dan zul je zelf op het aangegeven tijdstip "de knop om" moeten zetten:
    [Afbeelding]
dank voor je uitgebreide reactie! (y)

Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal


Acties:
  • 0 Henk 'm!

  • Marcjeno1
  • Registratie: Juli 2007
  • Laatst online: 22:17
KC27 schreef op donderdag 3 april 2025 @ 19:22:
@bvw @Marcjeno1
Er moet nog een build-argument bij: versie nummer.
Blijkbaar was @bvw daar al achter:
De commandline moet worden:
code:
1
2
3
4
5
6
docker buildx build \
   --build-arg BUILD_ARCH=amd64 \
   --build-arg BUILD_FROM=ghcr.io/hassio-addons/debian-base/amd64:stable \
   --build-arg BUILD_VERSION=2025.3.1 \
   -t dao:latest \
   https://github.com/corneel27/day-ahead.git#main:dao
Ah oke! Ik draai nog op 2024.12.5. Dus dan wordt het:

--build-arg BUILD_VERSION=2024.12.5 \

Zo heb ik het goed toch?

Acties:
  • 0 Henk 'm!

  • bvw
  • Registratie: September 2020
  • Laatst online: 20:46

bvw

KC27 schreef op donderdag 3 april 2025 @ 22:44:
[...]


Ik heb wel even moeten zoeken.
Maar het probleem zit in de combinatie van hoge productie van je PV en je grid-limiet . Op het hoogste punt is die pv productie 20 kWh/uur. En dat past niet binnen de grid-grens van 17 kW (3 x 25 A)
Ik heb als voorbeeld even alle yields gehalveerd en krijg dan deze grafiek:
[Afbeelding]
Dank! Ik heb een 0 te weinig in de manual gelezen, daarom was mijn yield zo hoog :+

Ik puzzel weer even verder!

LG Therma V MonoBloc HM091MR.U44 hybride | Bosch Compress 3000i (split) 5kW hybride | Home Assistant met WAF


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
Marcjeno1 schreef op vrijdag 4 april 2025 @ 07:42:
[...]


Ah oke! Ik draai nog op 2024.12.5. Dus dan wordt het:

--build-arg BUILD_VERSION=2024.12.5 \

Zo heb ik het goed toch?
Nee, niet helemaal.
Je haalt versie 2025.3.1 op en je noemt hem 2024.12.5.
Je moet het zo zien: met "docker build.." en "docker run .." doen we de HA supervisor na.
Die gebruikt behalve Dockerfile ook de bestanden config.yaml (daar staat o.a. het versienummer in) en build.yaml.
DAOheeft tijdens installatie het versienummer nodig om te checken of de database "up to date" is.
Dus toch maar:
--build-arg BUILD_VERSION=2025.3.1 \

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • +1 Henk 'm!

  • DaBit
  • Registratie: Januari 2000
  • Laatst online: 19-04 10:06
Die ENTSO-e API is aardig vervelend aan het doen met geen prijzen beschikbaar stellen. Knettergestoord word je van al die externe services die of de voorwaarden of API wijzigen of simpelweg even niet goed werken. Als de ene braaf werkt heeft een ander wel weer kuren. Magoed, einde rant, DAO heb ik naar Nordpool gezet en die geeft wel prijzen. Mooi, probleem opgelost, tot Nordpool degene is met gedoe en een ander weer niet.

Dan heb ik verder nog 'vandaag' prijsdata nodig in de zaken buiten DAO om (luchtontvochtiger schuur laat ik bijvoorbeeld de 6 goedkoopste uren draaien). Dat deed ik ook via ENTSO-e, maar dat zou net zo goed moeten kunnen met een aanroep naar de API van DAO. En 1 bron van de waarheid is wel fijn.

http://192.168.100.18:5003/api/report/da/vandaag

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
  "message": "Success",
  "recorded": [
    {
      "time": 1743724800000,
      "da_ex": 0.10497,
      "da_cons": 0.2763761,
      "da_prod": 0.2763761
    },
    {
      "time": 1743728400000,
      "da_ex": 0.09888,
      "da_cons": 0.2690072,
      "da_prod": 0.2690072
    },
..
..
    {
      "time": 1743793200000,
      "da_ex": 0.13299,
      "da_cons": 0.3102803,
      "da_prod": 0.3102803
    },
    {
      "time": 1743796800000,
      "da_ex": 0.14006,
      "da_cons": 0.318835,
      "da_prod": 0.318835
    },
..
..


Even voor de zekerheid: de timestamps in het JSON-blok, dat komt overeen met lokale tijd en dat is ook de bedoeling?
(timestamp 1743793200000 komt overeen met 2025-04-04T19:00:00.000Z en de kale prijs is dan 0.13299, wat zou moeten kloppen voor vanavond 19.00 lokale tijd en niet UTC)

[ Voor 8% gewijzigd door DaBit op 04-04-2025 14:43 ]


Acties:
  • 0 Henk 'm!

  • desalnietemin
  • Registratie: December 2018
  • Laatst online: 00:35
Super cool, dank voor het delen en het creëren van deze post.

Zelf had ik net het AIO energy management Home assistent component draaien en schakelt mijn hotfill boiler o.b.v. de 5 goedkoopste dag uurprijzen. Maar verder is deze integratie heel beperkt aangezien enkel naar de ENTSO-E prijzen gekeken wordt en ik ook graag mijn Zon-PV en warmtepomp buffers wil kunnen optimaliseren.

Deze Day Ahead Optimizer zit er uitgebreider uit maar toch weer een stuk gebruiksvriendelijker dan EMHASS of Flexmeasures. Ik ga ermee aan de slag en zal mijn bevindingen delen in dit topic.

Groet

Nibe F1145-15 EXP | PCM42 koeling | KV300 buffervat vloerverwarming | VPA300 boilervat | UKV20 500L buffervat zwembad + ELK9(kW) elek.backup element | POOL40 | 80L E-boiler | NibeGW voor HASS MODBUS koppeling | Zon-PV: 23,49 kWP + SE25K Solaredge omvormer


Acties:
  • 0 Henk 'm!

  • bvw
  • Registratie: September 2020
  • Laatst online: 20:46

bvw

Ben nu bezig om m'n warmtepomp er in te zetten.

Hoe moet ik dit interpreteren in de documentatie? Moet ik een sensor aanmaken met een curve er in? hoe doe ik dat? of moet het actuele vermogen daarin komen?
entity hp power : Bij "on/off" warmtepomp: HA 'sensor' entiteit die aangeeft op welk vermogen in kW de warmtepomp zal draaien bij een gegeven buitentemperatuur.

LG Therma V MonoBloc HM091MR.U44 hybride | Bosch Compress 3000i (split) 5kW hybride | Home Assistant met WAF


Acties:
  • +1 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
DaBit schreef op vrijdag 4 april 2025 @ 14:41:
Die ENTSO-e API is aardig vervelend aan het doen met geen prijzen beschikbaar stellen. Knettergestoord word je van al die externe services die of de voorwaarden of API wijzigen of simpelweg even niet goed werken. Als de ene braaf werkt heeft een ander wel weer kuren. Magoed, einde rant, DAO heb ik naar Nordpool gezet en die geeft wel prijzen. Mooi, probleem opgelost, tot Nordpool degene is met gedoe en een ander weer niet.

Dan heb ik verder nog 'vandaag' prijsdata nodig in de zaken buiten DAO om (luchtontvochtiger schuur laat ik bijvoorbeeld de 6 goedkoopste uren draaien). Dat deed ik ook via ENTSO-e, maar dat zou net zo goed moeten kunnen met een aanroep naar de API van DAO. En 1 bron van de waarheid is wel fijn.

http://192.168.100.18:5003/api/report/da/vandaag

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
{
  "message": "Success",
  "recorded": [
    {
      "time": 1743724800000,
      "da_ex": 0.10497,
      "da_cons": 0.2763761,
      "da_prod": 0.2763761
    },
    {
      "time": 1743728400000,
      "da_ex": 0.09888,
      "da_cons": 0.2690072,
      "da_prod": 0.2690072
    },
..
..
    {
      "time": 1743793200000,
      "da_ex": 0.13299,
      "da_cons": 0.3102803,
      "da_prod": 0.3102803
    },
    {
      "time": 1743796800000,
      "da_ex": 0.14006,
      "da_cons": 0.318835,
      "da_prod": 0.318835
    },
..
..


Even voor de zekerheid: de timestamps in het JSON-blok, dat komt overeen met lokale tijd en dat is ook de bedoeling?
(timestamp 1743793200000 komt overeen met 2025-04-04T19:00:00.000Z en de kale prijs is dan 0.13299, wat zou moeten kloppen voor vanavond 19.00 lokale tijd en niet UTC)
Ik denk dat jij een fout hebt opgeduikeld in de api-module van DAO.
Mijn excuses daarvoor en dank voor het melden!
Gelukkig rekent DAO intern wel met de goede tijden en wordt alles ook netjes met utc-timestamps opgeslagen.

Ik heb ook in de logging gekeken van de run-actie van gisteren waarbij de prijzen van vandaag zijn opgehaald bij Nordpool. Daar staat:
code:
1
2
3
4
5
6
.....
  
  { 'end': datetime.datetime(2025, 4, 4, 18, 0, tzinfo=tzutc()),
    'start': datetime.datetime(2025, 4, 4, 17, 0, tzinfo=tzutc()),
    'value': 132.99},
....

Start dus om 17:00 uur UTC is 19:00 lokale tijd.
Value: 132,99 eur / MWh = 0,13299 eur/kWh

Gelukkig hebben we templates en een template editor/tester in Home Assistant:
{{ (1743793200000/1000) | int| as_datetime() | as_local() }}
geeft als resultaat: 2025-04-04 21:00:00+02:00
En dat zou moeten zijn 2025-04-04 19:00:00+02:00
Dus de utc-timestamp in het api-result zit er twee uur naast.
Ik ga dit z.s.m. in de eerstvolgende versie van DAO repareren.

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • +1 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
bvw schreef op vrijdag 4 april 2025 @ 18:56:
Ben nu bezig om m'n warmtepomp er in te zetten.

Hoe moet ik dit interpreteren in de documentatie? Moet ik een sensor aanmaken met een curve er in? hoe doe ik dat? of moet het actuele vermogen daarin komen?


[...]
Voordat ik hier goed op kan antwoorden is het belangrijk om te weten hoe jij vanuit HA je warmtepomp kan "sturen".
DAO heeft momenteel 3 drie mogelijkheden:
  1. stooklijnverschuiving per uur aanpassen
  2. het actuele elektrische vermogen voor het komende uur instellen
  3. de wp aan/uit zetten.
Dit lijstje kan ik desgewenst nog uitbreiden, maar eerst is het belangrijk om te weten hoe jij je wp kunt aansturen. Dan kan ik daarna helpen hoe je dat implementeert in DAO.

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • bvw
  • Registratie: September 2020
  • Laatst online: 20:46

bvw

KC27 schreef op zaterdag 5 april 2025 @ 00:14:
[...]

Voordat ik hier goed op kan antwoorden is het belangrijk om te weten hoe jij vanuit HA je warmtepomp kan "sturen".
DAO heeft momenteel 3 drie mogelijkheden:
  1. stooklijnverschuiving per uur aanpassen
  2. het actuele elektrische vermogen voor het komende uur instellen
  3. de wp aan/uit zetten.
Dit lijstje kan ik desgewenst nog uitbreiden, maar eerst is het belangrijk om te weten hoe jij je wp kunt aansturen. Dan kan ik daarna helpen hoe je dat implementeert in DAO.
Ik stuur 'm op lucht en water, dus stooklijn en aan/uit op de kamerthermostaat. Het zwaartepunt ligt op de stooklijn.

LG Therma V MonoBloc HM091MR.U44 hybride | Bosch Compress 3000i (split) 5kW hybride | Home Assistant met WAF


Acties:
  • +1 Henk 'm!

  • DaBit
  • Registratie: Januari 2000
  • Laatst online: 19-04 10:06
KC27 schreef op vrijdag 4 april 2025 @ 23:44:
Ik denk dat jij een fout hebt opgeduikeld in de api-module van DAO.
Mijn excuses daarvoor en dank voor het melden!
Ik had al een vermoeden dat je UTC-tijden had willen doorgeven anders is het elke keer gedoe met zomer/wintertijd (daar kwam ik vorige week achter tenminste).

Vreemd is wel dat ik bij mijn grafiekje in het HA dashboard wel moet compenseren voor de tijdzone:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
type: custom:apexcharts-card
graph_span: 36h
span:
  start: day
now:
  show: false
  label: Now
header:
  show: true
  title: Stroomprijs (€/kWh)
series:
  - entity: sensor.da_price
    attribute: recorded
    stroke_width: 2
    float_precision: 3
    type: column
    opacity: 1
    color: ""
    data_generator: |
      return entity.attributes.recorded.map(row => {
            return [row.time + (new Date().getTimezoneOffset() * 60 * 1000), row.da_cons];
            });
  - entity: sensor.da_price
    attribute: bla
    stroke_width: 2
    float_precision: 3
    type: column
    opacity: 1
    color: ""
    data_generator: |
      return entity.attributes.expected.map(row => {
            return [row.time + (new Date().getTimezoneOffset() * 60 * 1000), row.da_cons];
            });
yaxis:
  - id: Prijs
    decimals: 2



(voor de volledigheid: de REST sensor in HA)

code:
1
2
3
4
5
6
7
8
9
10
11
  - resource: http://192.168.100.18:5003/api/report/da/vandaag_en_morgen
    verify_ssl: false
    scan_interval: 600
    sensor:
      - name: DA Price
        unique_id: da_price
        unit_of_measurement: 'EUR/kWh'
        value_template: "{{ (value_json.recorded[now().hour].da_cons) | round(5) }}"
        json_attributes:
          - recorded
          - expected


En het zal wel aan mijn beperkte handigheid met moderne software liggen, maar ik vind die opsplitsing in recorded en expected niet erg handig want dat kost extra moeite met verwerken. Ik zag liever 1 array met waarden.
(en wat historie en toekomst is weet ik ook als ik de tijd weet)

Acties:
  • 0 Henk 'm!

  • Robje1244
  • Registratie: Augustus 2009
  • Laatst online: 22:30
Ik heb deze foutmelding:
hassapi.exceptions.InternalServerError: 500 status code returned from http://supervisor/core/api/

Opgelost door dit toe te voegen:
"homeassistant": {
"protocol api": "http",
"ip adress": "192.168.178.36",
"ip port": 8123,
"token": "!secret ha_api_token"
},

Echter werkt dit alleen als ik geen gebruik maak van https. Hierdoor is homeassistant dus niet meer te benaderen buiten mijn eigen netwerk. Zodra ik https weer aan zet werkt DAO niet meer.

Uiteraard heb ik geprobeerd om bij protocol api https te gebruiken, maar dan krijg ik de melding API not running. Iemand een idee hoe ik dit probleem op kan lossen?

Acties:
  • 0 Henk 'm!

  • RudolfR
  • Registratie: Maart 2011
  • Laatst online: 23:24
@Robje1244

Ik denk dat je gewoon de domeinnaam moet hebben (ook al heet de optie "ip adress")
Anders krijg je certificaatfouten en er staat niets in de code om die te negeren.

Acties:
  • 0 Henk 'm!

  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 20:32
hoe kom ik erachter op welke processor Home Assistant draait?

en kan aan de start post toegevoegd worden hoe je DAO installeert op HA?
in de Add-on Store zie ik geen Day Ahead Optimizer

Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal


Acties:
  • 0 Henk 'm!

  • RudolfR
  • Registratie: Maart 2011
  • Laatst online: 23:24
@hemertje

Je moet een add-on repository toevoegen met deze URL:
https://github.com/corneel27/day-ahead

Acties:
  • 0 Henk 'm!

  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 20:32
thx,

hoe simpel kan het zijn d:)b

Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal


Acties:
  • 0 Henk 'm!

  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 20:32
installatie is gelukt

plaatje onder Documentation wordt niet getoond
DAO eerste keer starten
Klik op Starten om de add-on te starten. Je moet nu het dashboard kunnen benaderen via de zijbalk of via de knop Open web-ui. De addon opent het dashboard/web-gui op poort 5000:
home_1.png

Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal


Acties:
  • 0 Henk 'm!

  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 20:32
code:
1
2
Failed to start add-on
Port '5000' is already in use by something else on the host.


ideetje:
Kan er een overzicht van de reeds gebruikte poorten worden weergegeven zodat je kan zien welke nog vrij is je je dus voor DAO kunt gebruiken?

Of gelijk een keuzemenu geven van een vrije poort en die kunnen selecteren?

Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal


Acties:
  • 0 Henk 'm!

  • RudolfR
  • Registratie: Maart 2011
  • Laatst online: 23:24
@hemertje

EMHASS zit ook op 5000 ;)

Acties:
  • 0 Henk 'm!

  • Robje1244
  • Registratie: Augustus 2009
  • Laatst online: 22:30
RudolfR schreef op zaterdag 5 april 2025 @ 20:31:
@Robje1244

Ik denk dat je gewoon de domeinnaam moet hebben (ook al heet de optie "ip adress")
Anders krijg je certificaatfouten en er staat niets in de code om die te negeren.
Oke dit lijkt inderdaad te werken, echter gaat hij naar onderstaande link:
https://MIJNDOMEIN.duckdns.org/core/api/

Dit klopt niet aangezien deze niet bestaat. Is dit nog ergens te wijzigen?

Acties:
  • 0 Henk 'm!

  • RudolfR
  • Registratie: Maart 2011
  • Laatst online: 23:24
@Robje1244

Nu volg ik je niet meer, waarom bestaat dat domein niet dan?

JSON:
1
2
3
4
5
6
"homeassistant": {
   "protocol api": "https",
   "ip adress": "domein.duckdns.org",
   "ip port": 8123,
   "token": "!secret ha_api_token"
 },


Dat is hoe mijn HA van buitenaf te bereiken is en dat lijkt ook te werken voor DAO.

[ Voor 62% gewijzigd door RudolfR op 05-04-2025 21:14 ]


Acties:
  • 0 Henk 'm!

  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 20:32
Uninstall EMHASS-test :P
oke, EMHASS is Uninstalled

krijg nu de volgende melding

code:
1
503: Service Unavailable


de Log:
=> directory dao_data made, files copied
=> /root/dao/data doesn't exist, made
=> /root/dao/webserver/app/static/data exist
Setting up watches.
Watches established.
[2025-04-05 21:08:43 +0200] [14] [INFO] Starting gunicorn 23.0.0
[2025-04-05 21:08:43 +0200] [14] [INFO] Listening at: http://0.0.0.0:5000 (14)
[2025-04-05 21:08:43 +0200] [14] [INFO] Using worker: sync
[2025-04-05 21:08:43 +0200] [20] [INFO] Booting worker with pid: 20
[2025-04-05 21:08:43 +0200] [21] [INFO] Booting worker with pid: 21
Traceback (most recent call last):
File "/root/dao/prog/da_scheduler.py", line 65, in <module>
main()
File "/root/dao/prog/da_scheduler.py", line 60, in main
da_sched = DaScheduler("../data/options.json")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/prog/da_scheduler.py", line 10, in __init__
super().__init__(file_name)
File "/root/dao/prog/da_base.py", line 94, in __init__
super().__init__(hassurl=self.hassurl, token=self.hasstoken)
File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/hassapi/client/base.py", line 36, in __init__
self._assert_api_running()
File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/hassapi/client/base.py", line 40, in _assert_api_running
if not self._api_is_running():
^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/hassapi/client/base.py", line 46, in _api_is_running
return self._get("/")["message"] == "API running." # type: ignore
^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/hassapi/client/base.py", line 54, in _get
return self._process_response(
^^^^^^^^^^^^^^^^^^^^^^^
File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/hassapi/client/base.py", line 90, in _process_response
self._raise_error(response.status_code, response.url)
File "/root/dao/venv/day_ahead/lib/python3.11/site-packages/hassapi/client/base.py", line 95, in _raise_error
raise error(f"{status_code} status code returned from {url}",) # type: ignore
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
hassapi.exceptions.InternalServerError: 500 status code returned from http://supervisor/core/api/

Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal


Acties:
  • 0 Henk 'm!

  • RudolfR
  • Registratie: Maart 2011
  • Laatst online: 23:24
@hemertje

Ik heb gewoon de poort van DOA aangepast naar 5039, werkt ook.
Je moet HA expliciet opgeven in de config, met een token. Zie mijn post hierboven (en die van Robje iets eerder vandaag)

Acties:
  • 0 Henk 'm!

  • hemertje
  • Registratie: Juli 2015
  • Laatst online: 20:32
hemertje schreef op zaterdag 5 april 2025 @ 21:15:
krijg nu de volgende melding

code:
1
503: Service Unavailable


de Log:


[...]
dit was met openen via DAO in het linkermenu voor de eerste keer

terug naar de Add-On sectie en daar geopend via Open via WEB GUI
dan geen foutmelding

in die hoek zit blijkbaar nog een verbeterpuntje dat de Add-On onderwater niet gestart wordt terwijl je Show in sidebar hebt aangevinkt en vervolgens de Add-On hebt gestart

Gasloos 2019 + WP Panasonic H-serie 7kW + 300 liter boilervat + PV 12.415Wp + Home Assistant + Hyundai Ioniq 6 First Edition + Zaptec laadpaal


Acties:
  • 0 Henk 'm!

  • Robje1244
  • Registratie: Augustus 2009
  • Laatst online: 22:30
RudolfR schreef op zaterdag 5 april 2025 @ 21:11:
@Robje1244

Nu volg ik je niet meer, waarom bestaat dat domein niet dan?

JSON:
1
2
3
4
5
6
"homeassistant": {
   "protocol api": "https",
   "ip adress": "domein.duckdns.org",
   "ip port": 8123,
   "token": "!secret ha_api_token"
 },


Dat is hoe mijn HA van buitenaf te bereiken is en dat lijkt ook te werken voor DAO.
Ik doe exact hetzelfde als wat jij omschrijft.
Echter krijg ik een 404 error. Volgens mij komt dit omdat hij de link aanpast naar domein.duckdns.org/core/api.

Moet dit niet domein.duckdns.org/api oid zijn? Ik ga morgen verder. Alvast bedankt voor het meedenken d:)b

Acties:
  • 0 Henk 'm!

  • RudolfR
  • Registratie: Maart 2011
  • Laatst online: 23:24
@Robje1244

Dat /core komt er misschien bij als je geen poort configureert?

Zie:
https://github.com/cornee...e/dao/prog/da_base.py#L80

Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
Robje1244 schreef op zaterdag 5 april 2025 @ 21:31:
[...]


Ik doe exact hetzelfde als wat jij omschrijft.
Echter krijg ik een 404 error. Volgens mij komt dit omdat hij de link aanpast naar domein.duckdns.org/core/api.

Moet dit niet domein.duckdns.org/api oid zijn? Ik ga morgen verder. Alvast bedankt voor het meedenken d:)b
Volgens mij gaat het met een domein-naam niet werken.
Je HA-machine (of virtuele machine) heeft een eigen ip-adres binnen je lokale netwerk. Begint meestal met 192.168.
Dat adres moet worden ingevuld bij ip-adres.
Bij mij ziet er dat zo uit:
code:
1
2
3
4
5
6
   "homeassistant": {
    "protocol api": "http",
    "ip adress": "192.168.178.36",
    "ip port": 8123,
    "token": "!secret ha_api_token"
  },

Wat ook vaak werkt: "ip adress": "homeassistant.local".
Dat is de naam waarmee HA zich meldt bij de router na de eerste installatie.

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
Robje1244 schreef op zaterdag 5 april 2025 @ 20:07:
Ik heb deze foutmelding:
hassapi.exceptions.InternalServerError: 500 status code returned from http://supervisor/core/api/

Opgelost door dit toe te voegen:
"homeassistant": {
"protocol api": "http",
"ip adress": "192.168.178.36",
"ip port": 8123,
"token": "!secret ha_api_token"
},

Echter werkt dit alleen als ik geen gebruik maak van https. Hierdoor is homeassistant dus niet meer te benaderen buiten mijn eigen netwerk. Zodra ik https weer aan zet werkt DAO niet meer.

Uiteraard heb ik geprobeerd om bij protocol api https te gebruiken, maar dan krijg ik de melding API not running. Iemand een idee hoe ik dit probleem op kan lossen?
Ik wil dit probleem graag oplossen.
Ik heb zelf HomeAssistant op http.
Hoe zet ik deze over naar https zodat ik een en ander kan testen en opnemen in de code?

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • +1 Henk 'm!

  • RudolfR
  • Registratie: Maart 2011
  • Laatst online: 23:24
@KC27

Makkelijkst is waarschijnlijk een reverse proxy ertussen, zoals nginx proxy manager addon.

Dan kun je https (via proxy) en http (zonder proxy)

@Robje1244
Draai je wel HA OS? Daar hoort de toevoeging core bij, denk ik

Bij mij werkt het overigens met https/ssl en domeinnaam op HA OS.

Acties:
  • +1 Henk 'm!

  • Robje1244
  • Registratie: Augustus 2009
  • Laatst online: 22:30
Het is gelukt!
in mijn configuratie had ik de verkeerde poort gebruikt waardoor het niet werkte 8)7

Werkt nu dus ook via https://domein.duckdns.org

[ Voor 3% gewijzigd door Robje1244 op 06-04-2025 08:45 ]


Acties:
  • 0 Henk 'm!

  • KC27
  • Registratie: December 2009
  • Niet online
Robje1244 schreef op zondag 6 april 2025 @ 08:44:
Het is gelukt!
in mijn configuratie had ik de verkeerde poort gebruikt waardoor het niet werkte 8)7

Werkt nu dus ook via https://domein.duckdns.org
Kun je je instelling delen zonder je geheimen te delen?

WP: Alpha Innotec MSW2-6S | PV: 20 x 300 Wp AEG | ACCU: 2x16x280Ah LiFePO4 3 x Multiplus II 48/3000 | DYN: Tibber | Gasloos | Day Ahead Optimizer


Acties:
  • 0 Henk 'm!

  • rogervdh
  • Registratie: Augustus 2008
  • Laatst online: 19:56
Interessant topic en mooie initiatieven. Ik sta nog helemaal aan het begin qua slim aansturen van apparaten voor zo'n efficiënt mogelijk elektra verbruik. Medio juli stap ik van een vast contract over naar dynamisch (Tibber) en wil dan zoveel mogelijk efficiënt aansturen. Voorhanden:
  • EV (Tesla Model 3 - Long Range). Eigen laadpaal ga ik ergens mei/juni installeren (als de oprit nieuw gemaakt wordt), waarschijnlijk Peblar Home 11 kW
  • Daikin Altherma 3 warmtepomp 8kW (via SG relais contacten van ESPAltherma te sturen).
  • Atlantic Calypso 150l warmtepompboiler (nog geen SG contacten aangesloten, maar dat is snel gemaakt).
  • Inventum Modesto Q10 plintboiler in de keuken, achter een Homewizard socket.
  • PV installatie, verschillende windrichtingen en hellingen, zo'n 9000-9500 kWh opwek per jaar. Solaredge en Enphase systeem, beide achter een eigen Homewizard kWh meter
  • Vooralsnog geen thuisbatterij plannen, maar sluit het niet uit in de toekomst.
Ik zie EMHASS voorbij komen, ben ook al een tijdje EVCC het volgen (die nu ook warmtepompen gaan ondersteunen), maar kwam recentelijk DAO tegen. Ik ben een beetje zoekende wat de voors- en tegens zijn van de verschillende oplossingen. Het liefste kies ik natuurlijk direct de oplossing die het beste/fijnste werkt met bovenstaande middelen. Wat zijn jullie bevindingen of adviezen?
Pagina: 1 2 3 Laatste