Benachrichtigungen
Alles löschen

[Script] Tibber / aWATTar usw. : Victron & Shelly Plug S & AVM-Fritz-DECT200-210 Spotmarket-Switcher

94 Beiträge
7 Benutzer
13 Likes
2,578 Ansichten
(@christian1980)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 55
Themenstarter  
  1. Hallo,

ich möchte Euch heute mal mein kleines Projekt vorstellen:

Ein Script das automatisch je nach Börsenstrompreis nachts Victron ESS-Systeme aufladen kann
oder über schaltbare Steckdosen von AVM zusätzliche Verbraucher wie z.B. Brauchwasserwärmepumpen einschalten kann.
Der ein oder andere wird ja demnächst neue Tarife brauchen.
Also warum dann nicht einen dynamischen mit stündlichen Börsenstrompreisen wenn man schon einen Akku hat?

Man braucht zum Einsatz nicht unbedingt beides. Es ist alternativ auch entweder mit AVM Schaltsteckdosen ODER mit Venus OS verwendbar.

Das Script kann für alle europäischen Länder eingesetzt werden und berücksichtigt auch Datenquellen wie eine Solar- Wettervorhersage um ggf. doch nicht nachts aufzuladen.

Es können noch kleine Bugs enthalten sein, ich denke aber der Code ist soweit einsetzbar.

Victron-ESS & Shelly Plug S & AVM-Fritz-DECT200-210 Spotmarket-Switcher

https://github.com/christian1980nrw/Victron-ESS__Shelly-Plug-S__AVM-Fritz-DECT200-210__Spotmarket-Switcher

Es ist unter Venus OS getestet.

In irgendeinem Video hat @drbacke ja auch neulich erzählt das er ggf. börsenstromabhängig laden will. Also viel Spaß beim testen.

Viele Grüße und guten Rutsch ins neue Jahr!

Christian


   
Zitat
(@jarek)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 291
 

Eine geniale Idee...  

hab mir dein Ding jetzt installiert (theoretisch wie du es beschrieben hast) - aber irgendwie blicke ich da nicht durch... (wie so oft :))

Hab jetzt conrtoller angepast und ausgeführt - die Daten sind da. 

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  2949  100  2949    0     0   1181      0  0:00:02  0:00:02 --:--:--  1181
/tmp/awattar_today_prices.yaml downloaded
Please verify correct system time and timezone:
Thu Jan 12 17:26:55 CET 2023
Current price is 18.51500 Cent/kWh netto.
Lowest price will be 12.92000 Cent/kWh netto.
Second lowest price will be 12.92700 Cent/kWh netto.
Third lowest price will be 13.10000 Cent/kWh netto.
Fourth lowest price will be 13.94800 Cent/kWh netto.
Fifth lowest price will be 15.00800 Cent/kWh netto.
Sixth lowest price will be 16.19600 Cent/kWh netto.

Hab auch Scheduller angepasst und deaktiviert und dann noch run ausgeführt (dauert länger/keine debugs...)

aber ich sehe irgendwie nicht was und wo da installiert wurde oder keine Veränderungen beim Scheduler... 

In tmp werden die 3 Files erstellt.

Was mache ich falsch?

Edit:

hier noch meine (aktuellen) Einstellungen

)
stop_price=50.1 # stop above this price
start_price=3.0 # start below this price
feedin_price=3.87 # your feed-in-tariff of your solar system
energy_fee=5.3 # proofs of origin, allocations, duties and taxes (in case if stock price is at 0 Cent/kWh)
abort_price=55.1 # abort and never charge if actual price is same or higher than this (Energy fees not included)

use_start_stop_logic=1 # Set to 1 to activate start/stop logic (start_stop_price).
fritz_dect_at_start_stop=0 # You can add a additional load (like water heater) with AVM Fritz DECT200/210 switch sockets if you like.
charge_at_solar_breakeven_logic=0 # Charge if energy including fees is cheaper than your own feedin-tariff of your solar system
fritz_dect_at_solar_breakeven_logic=0
charge_at_lowest_price=1 # set 1 to charge at lowest price per day no matter which start/stop price was defined
fritz_dect_at_lowest_price=0
charge_at_second_lowest_price=1
fritz_dect_at_second_lowest_price=0
charge_at_third_lowest_price=1
fritz_dect_at_third_lowest_price=0
charge_at_fourth_lowest_price=0
fritz_dect_at_fourth_lowest_price=0
charge_at_fifth_lowest_price=0
fritz_dect_at_fifth_lowest_price=0
charge_at_sixth_lowest_price=0
fritz_dect_at_sixth_lowest_price=0
TZ='Europe/Amsterdam' # Set Correct Timezone
select_pricing_api=1 # please enter 1 for awattar or 2 for entsoe / Awattar: only germany DE-LU or austrian AT prices, but no API key needed / Entsoe: much mor
include_second_day=0 # Set to 0 to compare only the today prices.

# Awattar Api setup
awattar=at # enter de for Germany or at for Austria (no other countrys available, for other countrys use Entsoe API)



 

 

 

 

 

 

 

 


   
AntwortZitat
(@christian1980)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 55
Themenstarter  

@jarek Der Victron Scheduler wird nicht verändert, er wird nur ein- und ausgeschaltet wenn die günstigsten Preise erreicht sind.

Theoretisch kannst Du ihn auch auf eine Dauer von 23 Stunden 59 Minuten einstellen, dann lädt er rund um die Uhr und nicht nur nachts wenn er aktiviert wird.

Wichtig ist ihn nur nach der Erstellung wieder zu deaktivieren, sonst wird Deine Batterie sinnlos aufgeladen.

Wenn Du alle Befehle des Installer Scriptes ausgeführt hast, wird unter Venus OS automatisch der passende Cronjob erstellt welcher das Script zur vollen Stunde laufen lässt.

Gib mal auf der Shell crontab -l ein, dann müsste Dir was angezeigt werden.

use_start_stop_logic=1

...diese Logik mit den Preisen muss nicht unbedingt genutzt werden.

charge_at_lowest_price=1

...würde ausreichen um täglich zum günstigsten Preis zu laden.

energy_fee=5.3

...ist bestimmt 10 Cent zu niedrig eingestellt. Bist Du Dir sicher das das korrekt ist? Bei mir sind es bei Tibber etwa 15 Cent.

charge_at_solar_breakeven_logic=0 

Da Du diese Logik nicht nutzt, ist es andererseits auch egal was Du an Gebühren einträgst, es wird nicht damit gerechnet.

Gruß!

Christian


   
AntwortZitat
(@jarek)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 291
 

Hi, 

cron liefert:  root@raspberrypi4:~# crontab -l
0 * * * * /data/etc/Spotmarket-Switcher/controller.sh

die Variablen hab ich verschieden ausprobiert... File werden in Temp erstellt... aber ich sehe nicht wo die Skripte/Logik installiert wurde. 

Wo sollen die Logs sein?

Ich glaube, bei mir wird das nicht fertig installiert... 

 


   
AntwortZitat
(@christian1980)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 55
Themenstarter  

@jarek Es wird kein Log geschrieben,  das ist momentan nicht vorgesehen. Du kannst es z.b. an den Dateidaten im tmp Verzeichnis erkennen wenn Du es am nächsten Tag vergleichst.


   
AntwortZitat
(@christian1980)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 55
Themenstarter  

@jarek Der Befehl

dbus -y com.victronenergy.settings /Settings/CGwacs/BatteryLife/Schedule/Charge/0/Day SetValue -- 7

aktiviert den Ladevorgang bzw. aktiviert Deinen ESS-Zeitplan den Du an erster Stelle angelegt hast und der Befehl

dbus -y com.victronenergy.settings /Settings/CGwacs/BatteryLife/Schedule/Charge/0/Day SetValue -- -7

deaktiviert ihn wieder. Das kannst Du auch auf der Konsole testen.


   
jarek reacted
AntwortZitat
(@christian1980)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 55
Themenstarter  

@jarek In der neuesten Version ist ein Log hinzugefügt.

Da kannst Du dann einfacher nachvollziehen welche Preise jeweils gültig sind und wann geschaltet wird.


   
jarek reacted
AntwortZitat
(@jarek)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 291
 

Kleinigkeit hab ich noch: 

den aktuellen Preis sehe ich hier nicht:  

Fri Jan 20 08:00:02 CET 2023
Current price is  Cent/kWh netto.
root@raspberrypi4:/data/etc/Spotmarket-Switcher# sh controller.sh
Maybe we are still charging from last script runtime. Stopping scheduled charging.
0
Awattar today-data is up to date.
controller.sh: line 201: 2*08: value too great for base (error token is "08")
controller.sh: line 223: printf: e15: invalid number
Please verify correct system time and timezone:
Fri Jan 20 08:34:54 CET 2023
Current price is  Cent/kWh netto.
Lowest price will be 13.52000 Cent/kWh netto.
Second lowest price will be 13.55400 Cent/kWh netto.
Third lowest price will be 14.27600 Cent/kWh netto.
Fourth lowest price will be 14.45000 Cent/kWh netto.
Fifth lowest price will be 14.49800 Cent/kWh netto.
Sixth lowest price will be 14.66200 Cent/kWh netto.

 

Ist bei denen etwas Unscharf?

weil lowest price ist laut  API: anders als auf der HP

 

 


   
AntwortZitat
(@christian1980)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 55
Themenstarter  

Installier Dir die neueste Version des Scriptes nochmal neu und teste nochmal. Ggf. nutzt Du noch eine alte. Die Fehlermeldungen dürfen eigentlich nicht auftauchen. Deshalb wird auch kein "current price" angezeigt. Ansonsten mal entso-e als Api einrichten. Ich hab die letzte Zeit nur mit dieser Api getestet. Die Preise kannst Du auch hier vergleichen:

https://www.epexspot.com/en/market-data?market_area=DE-LU&trading_date=2023-01-19&delivery_date=2023-01-20&underlying_year=&modality=Auction&sub_modality=DayAhead&technology=&product=60&data_mode=table&period=&production_period=


   
AntwortZitat
(@christian1980)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 55
Themenstarter  

@jarek Dein Problem mit der Awattar API habe ich heute behoben nach einem Hinweis eines anderen Nutzers.

https://github.com/christian1980nrw/Victron-ESS__Shelly-Plug-S__AVM-Fritz-DECT200-210__Spotmarket-Switcher/issues/3


   
jarek reacted
AntwortZitat
(@jarek)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 291
 

Das ist natürlich super. 

Sobald ich zuhause bin Installiere ich es und werde weiter testen und berichten.

Falls du es weiter entwickeln willst... hätte ich paar Ideen für neue Funktionen.  

Z.B.:

SOC kontrollieren und mit Ladestrom und Kapazität kombinieren und auf Grund dessen ungefähre Ladezeit berechnen und dann nur bei den günstigsten Stunden das laden aktivieren... 


   
AntwortZitat
(@christian1980)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 55
Themenstarter  

@jarek Ehrlich gesagt weiß ich nicht wie ich den SOC über den Dbus auf der Shell auslese. Ich habe der Richtung zwar kurz getestet, es klappte aber nicht.
Wenn Du Informationen dazu hast, kannst Du mir diese gerne mitteilen.


   
AntwortZitat
(@jarek)
Batterielecker
Beigetreten: Vor 2 Jahren
Beiträge: 291
 

@christian1980 

Holdregister 843 vom System (100) ?

so bekomme ich es in den ioBroker. 

Edit: 

hab noch nach 'dbus-spy' gesehen, dass unter 'com.victronenergy.system' der aktueller SOC unter 'Dc/Battery/Soc angezeigt wird. 


   
AntwortZitat
(@christian1980)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 55
Themenstarter  

@jarek Ich hab den SOC mal hinzugefügt und logge ihn jetzt erstmal nur. Kannst Du mit der neuesten Version aus dem Github Master testen.


   
jarek reacted
AntwortZitat
 zx6r
(@zx6r)
Autarkiekönig
Beigetreten: Vor 1 Jahr
Beiträge: 459
 

@christian1980

Hi,
kannst du mal bitte ne Installations Anleitung für Dummis hier rein stellen?
Ich würde das ganze gerne zusammen mit meinen Solpiplog und Emoncms auf meinem Raspberry laufen lassen um damit eine oder mehrere AVM Fritz!DECT200 / 210 Steckdosen nach Tibber Tarif zu steuern :-/

Warum einfach wenn's auch kompliziert geht


   
AntwortZitat
Seite 1 / 7
Teilen: