aWATTar Strompreis shelly ansteuern

Das sind zwei numbers und ein string.
Wenn du mehrere Templates eingibst und da ein string bei ist, steht als Ergebnis immer string da. Nur zu deiner Info.
Das weiß ich. Es ging nur darum, die drei Möglichkeiten auf einmal inkl. Ergebnis zu sehen.
Auf dem Bild ist aber nicht ersichtlich, dass der gesuchte Wert der state vom Sensor ist. Zu sehen ist da nur das Attribut 'Data', das ein Array aus Preis, Start-und Endzeit für jede Stunde ist.
Richtig. Weil der Threadersteller von Anfang an den falschen Weg hier gezeigt hatte. Deswegen hatte ich mir die Erweiterung geladen und selbst angesehen, wer was zurück gibt.
Aber man kann aus der Ansammlung an Strings ja auch schon sehen, das der Preis da je Stunde steht und somit sollte klar sein, das eine Abfrage mit .....data[0].... nur zwischen Mitternacht und 1 Uhr das richtige Ergebnis liefern kann, sonst aber niemals.

YAML:
  - platform: numeric_state
    entity_id:
      - sensor.epex_spot_data_net_price
    value_template: "{{ states('sensor.epex_spot_data_net_price')|float(0) }}"
    below: 20.8
Das ist unnötig kompliziert und vor allem doppelt gemoppelt. Value_template wird benutzt, um den gewünschten Wert vor Verarbeitung zu bearbeiten, zum Beispiel aus ner -1 ne +1 machen.

Nehmt einfach als Trigger numerischer Zustand mit eurer Entität, bei Attribut tragt ihr gar nix ein und dann funktioniert das auch ohne Templates etc.
Funktioniert nur nicht, wie Du es beschreibst. Als Trigger habe ich ja "Numerischer Zustand" und bei Attribut auch nichts eingetragen.
ABER, wenn ich dann bei "Über" oder "Unter" einen Wert eintrage, wurde bisher halt die Automatisierung nie ausgelöst.
Trage ich das Template so ein, dann funktioniert sie.
 
YAML:
id: '1699725037488'
alias: Strompreissteuerung ein
description: Einschaltpreis unter 5
trigger:
  - platform: numeric_state
    entity_id:
      - sensor.epex_spot_data_net_price
    below: 5
    for:
      hours: 0
      minutes: 0
      seconds: 0
    value_template: '"{{ states(''sensor.epex_spot_data_net_price'')|float(0) }}"'
condition: []
action:
  - type: turn_on
    device_id: faa4f2d385c6e4b34db7805996b226f6
    entity_id: 333be71bbcbc3c7fb316aa856f0264ae
    domain: switch
  - type: turn_on
    device_id: 0d1aab7c7f799b4e9e63660e3f3ef447
    entity_id: 7887669b390fcbc34fccaebbdca3595c
    domain: switch
mode: single
 
Hallo!

Danke für eure Beiträge, für mich als Laie, doch etwas verwirrend, weil mir das Grundwissen dazu etwas fehlt. Oben seht ihr, wie es im Moment bei mir aussieht.
Irritierend ist allerdings das:

Trace-Line-2023-12-30 155019.png
 
Hallo!

Jetzt einmal eine grundsätzliche Frage:

Die EPEX Börsenpreise werden immer jeden Tag um ca. 14 Uhr für den nächsten Tag veröffentlicht. Es wird also eine Tabelle/Liste von Homeassistant heruntergeladen die dann "statisch" zur Verfügung steht.
Aus dieser Liste muss nun jeder Stundenwert herangezogen werden, um damit etwas steuern zu können.

Eine Abfrage auf einen sich selbst ändernden Wert ist daher sinnfrei, da alle Werte ja fix in dieser Liste stehen.

Gehe ich recht in der Annahme, dass man eigentlich für jede Stunde den entsprechenden Stundenwert aus dieser Liste auslesen müsste und diesen dann mit dem gewünschten Wert vergleicht um damit dann eine Aktion auslösen zu können???

Es gibt ja keinen dynamischen Börsenpreis der stündlich ausgegeben wird.....


Vereinfacht gesagt:

Abfrage für ............... 01:00:00 Uhr Preis "price_ct_per_kw"?
Wenn ist höher als xy dann Aktion "Schalter aus"
Wenn ist niedriger als XY dann Aktion "Schalter ein"
Abfrage für ................02:00:00 Uhr Preis "price_ct_per_kw"?
........

Und das für alle 24 Stunden extra ohne dass das Datum darauf einen Einfluss hat (Siehe Anhang)

Das Ganze müsste dann aber so abgestimmt sein, dass die Abfrage um 13 Uhr jeden Tag startet und es keinen Einfluss geben darf, wenn seitens homeassistant die neue Liste für den nächsten Tag abgerufen und wieder abgelegt wird.

Ich hoffe, ich habe das jetzt halbwegs verständlich formuliert...

Grüße,

Peter
 

Anhänge

  • Attribute-EPEX-SPot-Data-Net-Price.PNG
    Attribute-EPEX-SPot-Data-Net-Price.PNG
    125,3 KB · Aufrufe: 5
Zuletzt bearbeitet:
Nein, entferne dich mal von dieser Liste. Die zeigt nur die Vergangenen Strompreise an und eine Prognose für zukünftige. Mehr nicht.
Ich habe bei mir aktuell folgenden Code laufen.

Code:
alias: niedriger Strompreis
description: ""
trigger:
  - platform: time_pattern
    hours: /1
    minutes: "1"
condition: []
action:
  - variables:
      Strompreis: >-
        Der aktuelle Strompreis beträgt {{
        states('sensor.epex_spot_data_net_price')[:5] }}
  - service: notify.mobile_app_sm_s918b
    data:
      message: TTS
      title: Neuer Strompreis
      data:
        tts_text: "{{ Strompreis }}"
        media_stream: alarm_stream_max
mode: single
Jede Stunde + 1 Minute wird diese Automatisierung aufgerufen. Die +1 Minute ist notwendig, da HA sonst die Automatisierung startet, aber noch keine neuen Werte bereit stehen und man will ja den aktuellen Strompreis haben.
Dann weise ich einer Variablen "Strompreis" den auf 5 Stellen gerundeten Wert zu. Sprich, die 5 Nachkommastelle interessiert nicht.
Diesen Preis lasse ich dann auf meinem Handy ausgeben.
Hier kannst Du aber mit "wenn---dann" abfragen alles mögliche Regel.
WENN Strompreis > 15.00, DANN.......
Da kannst Du auch mehrere Abfragen machen, also wenn der Strompreis unter 14 Cent fällt, dann schalte den Heizstab für Warm Wasser ein usw.

Wie Du die Daten unter DATA, also diese Liste verwendest, dafür hat der Programmierer doch auch zig Beispiele aufgezeigt, die ich mal getestet habe und meist auch funktionieren. :D

HA Einstellungen -> Geräte & Dienste -> Epex Spot und dann links auf Dokumentation. Runter scrollen und sich die zig Beispiele mal genauer ansehen.
Aber ich würde niemals aufgrund einen prognostizierten Strompreis irgendwas steuern. Was, wenn die Vorhersage nicht zutrifft ?
Klar kann ich sagen "warten wir mit dem Start der Waschmaschine noch, der Strom wird gleich billiger". Aber was, wenn nicht ? Wie lange willst Du den Start verzögern ?
 
Hallo RudiP!

Die Ausgegebene Börsenpreise von aWATTar bzw. EPEX sind fix für den nächsten Tag, bzw. die nächsten 24 Stunden. Da ändert sich nix mehr. Das sind die Preise in der Zukunft und keine vergangenen Preise. Diese Preise sind bindend für die Stromverrechnung an Private und Industrie.

Danke für deine Ausführung, ich werde es bei nächste Möglichkeit testen.

Gruß,

Peter
 
Dann sind es keine Börsenpreise, sondern Preise irgendeiner Firma. Soweit mir bekannt sind Börsenpreise nicht vorherbestimmt.
Aber gut. Wenn dein Versorger Dir diese Preise weiter gibt, dann kannst Du natürlich damit arbeiten. Beispiele, wie man die Werte abfragen kann, findet man ja in der Doku.

Was ich mich in dem Zusammenhang frage:
Wenn die kWh Strom an der Börse 15 Cent kostet, zahle ich darauf Steuern. Logisch.
Ab und zu und gerade zur Weihnachtszeit, war der Strompreis an der Börse aber im negativen.
Hätten wir alle da nicht Steuern zurück bekommen müssen ?
 
Dann sind es keine Börsenpreise, sondern Preise irgendeiner Firma. Soweit mir bekannt sind Börsenpreise nicht vorherbestimmt.
Aber gut. Wenn dein Versorger Dir diese Preise weiter gibt, dann kannst Du natürlich damit arbeiten. Beispiele, wie man die Werte abfragen kann, findet man ja in der Doku.

Was ich mich in dem Zusammenhang frage:
Wenn die kWh Strom an der Börse 15 Cent kostet, zahle ich darauf Steuern. Logisch.
Ab und zu und gerade zur Weihnachtszeit, war der Strompreis an der Börse aber im negativen.
Hätten wir alle da nicht Steuern zurück bekommen müssen ?


Servus RudiP!

Der Börsenpreis ist der Preis, für den der Strom für den nächsten Tag bereits gehandelt wurde. Große Stromhändler kaufen teilweise schon lange vorweg, ganze Kontingente/Strommengen im Voraus. Das ist ja auch der Grund, warum unsere Strompreise, je nach Anbieter und Vertrag, teilweise weit über dem Börsenpreis liegen, da die Defizite, die durch den Handel zu teuren Zeiten verursacht wurden, versucht wird, wieder rein zu holen.

Zum Börsenpreis kommen dann ja noch die ganze Abgaben und Gebühren und zum Schluss die Steuer. Ist, so wie in den Tagen rund um Weihnachten, der Strompreis negativ und vorausgesetzt du hast einen Tarif der stündlich oder noch kürzer abrechnet, kannst du die negativen Preise wirklich nutzen. Somit fallen für das Grundpordukt "Strom" keine Kosten an, ja, du bekommst teilweise sogar etwas dafür. Hinzu kommt dennoch für deinen Verbrauch, die Netzgebühren, Leitungsverluste, Messgebühren etc. verrechnet. Sollte diese Summe einmal wirklich unter Null sein, bezahlst du keine Steuern dafür, es bleibt somit nichts, was für dich steuerpflichtig wäre übrig. Wenn man es ganz genau nehmen würde, müsste man die Einnahmen vom Strom zur Lohnsteier dazu rechnen.......

Warum zahlen Netzbetreiber für Strom?
Dies dient lediglich zur Stabilisierung des Stromnetzes. Energie nicht los zu werden, verursacht einen enormen Aufwand und Kosten, daher wird der Strom verschleudert, ja sogar dafür bezahlt, dass du ihn nimmst.
Das die Netzbetreiber sehr viel Geld in die Hand genommen haben um mit Smartmetern besser steuern zu können, zeigt, was es den Betreibern Wert ist, die Verbräuche genau zu erfassen.

Das war natürlich jetzt nur eine sehr vereinfachte Erklärung

Deinen Code werde ich heute noch probieren, danke.

Grüße,

Peter
 
Hallo!

Jetzt habe ich einmal wieder probiert.
Die Variable "Strompreis" lässt sich so nicht verwenden, sie wird als Fehlerhaft ausgegeben und lässt sich somit auch nicht speichern.
Ich muss es noch einmal erwähnen, ich bin bezüglich Programmierung ein echter Anfänger!

YAML:
id: '1704280574931'
alias: Strom unter 5 Abfrage jede Stunde +1Min
description: Schaltet unter 5ct./Kwh den Kontakt ein
trigger:
  - platform: time_pattern
    hours: /1
    minutes: '1'
condition: []
action:
  - variables: {}
  - type: turn_on
    device_id: 0d1aab7c7f799b4e9e63660e3f3ef447
    entity_id: 7887669b390fcbc34fccaebbdca3595c
    domain: switch
mode: single

Die Variable fehlt mir, darum geht auch nix. Habe unterschiedliche Versuche unternommen, die Beispiel-Variable rein zu kopieren, leider ohne Erfolg.

Grüße,

Peter
 
Erst mal Danke für deine Erklärung zu den Börsenpreisen. Ich war tatsächlich der Meinung, das die die aktuellen Preise abbilden.

Das "variables: {}" mußt Du komplett raus nehmen, wenn Du keine Variable definieren willst.
Wenn Du im Visual Editor bist, darf unter Aktionen nur eine Zeile stehen. Bei Dir halt das "turn on"
Und es fehlt deine "Wenn, dann" abfrage. Du willst dich nur bei einem bestimmten Strompreis schalten.

Ich habe mal eben eine Automatisierung gemacht, die das machen sollte, was Du willst.
Code:
description: ""
mode: single
trigger:
  - platform: time_pattern
    hours: /1
    minutes: "1"
condition: []
action:
  - if:
      - condition: numeric_state
        entity_id: sensor.epex_spot_data_net_price
        below: 5
    then:
      - type: turn_on
        device_id: 0328b6bf242fd06a1abfaa81095ec40a
        entity_id: 5e4c3cf6520f6bbdea21435acd74e055
        domain: light

Die wird also jede volle Stunde + 1 Minute ausgeführt.
Dann wird geprüft, ob sensor.epex_spot_data_net_price unter 5 gesunken ist.
Wenn ja, dann wird die Lampe eingeschaltet. Wenn nein, dann passiert nichts.

Du mußt aber noch DEINE Lampe eintragen und nicht meine Werte übernehmen.
 
Guten Morgen!
Hallo RudiP!

Dank deiner Hilfe und deiner Geduld für einen Neuling wie mir, scheint das ganze jetzt zu klappen. Der Code sieht nun so aus:
YAML:
id: '1704280574931'
alias: EPEX Strom unter 5 ct Abfrage jede Stunde +1Min on
description: Schaltet unter 5ct./Kwh den Kontakt ein
trigger:
  - platform: time_pattern
    hours: /1
    minutes: '1'
condition: []
action:
  - if:
      - condition: numeric_state
        entity_id: sensor.epex_spot_data_net_price
        below: 5
    then:
      - type: turn_on
        device_id: 0d1aab7c7f799b4e9e63660e3f3ef447
        entity_id: 7887669b390fcbc34fccaebbdca3595c
        domain: switch
      - type: turn_on
        device_id: a450be7afc4b77edde94d4d5f7a89470
        entity_id: 829758f7cacae610536e5092f80f7f4f
        domain: switch
mode: single

Laut EPEX Börsenpreise (EPEX Homepage) war heute ab 02:00 Uhr (€ 0,04) bis 06:00 Uhr (€ 0,05773) der Strompreis unter 5 Cent.
Die Shellys wurden aber erst um 03:00 Uhr eingeschalten und schon um 04:00 Uhr wieder ausgeschalten.

Die Abfrage jetzt um 06:00 Uhr sah so aus:

Executed: 4. Januar 2024 um 06:01:00

if​

Executed: 4. Januar 2024 um 06:01:00
Result: result: false


if/condition/0​

Executed: 4. Januar 2024 um 06:01:00
Result: result: false


if/condition/0/entity_id/0​

Executed: 4. Januar 2024 um 06:01:00
Result: result: false
state: 10.77954
wanted_state_below: 5


Nach längerer Recherche musste ich feststellen, dass trotz angeblicher identer Quelle für den Börsenpreis, die Angaben unterschiedlich sind.
Mein Fronius WattPilot ist trotz korrekter Einstellung EPEX-Austria folgender Meinung:
Screenshot_20240104_062110_Solarwattpilot (002).jpg

Dagegen die EPEX Preise die via HomeAssistant eingeholt wurden:
EPEX-NET-Price 030124-040124.JPG
Und was die Spotprice APP am Handy sagt:
Screenshot_20240104_062630.jpg

Bis hin zu den ANgaben auf der EPEX Homepage selber....EPEX-Internet-Price.JPG


Warum die Preise im HA gegenüber den Anderen Abweichen, finde ich schon noch heraus, inzwischen passe ich einfach die Schwellenwerte an.

An dieser Stelle noch einmal vielen Dank, an alle die mitgeholfen haben, danke RudiP. Ich hoffe, dass diesen Beitrag noch viele nutzen können!

Jetzt suche ich noch eine Möglichkeit, meinem Fronius Hybrid Wechselrichter anhand dieser Steuerung das Laden des BYD Akkus beizubringen.

Ich berichte weiter,

Gruß,

Peter
 
Zuletzt bearbeitet:
Das die Schaltzeiten nicht passen kann an der Uhrzeit liegen.
Nur mal angenommen, dein Gerät, auf dem HA läuft, hat jetzt 02:00 Uhr. Der Rechner bei EPEX aber noch 01:59.
Heißt, in einer Minute fragt dein Gerät den neuen Preis an, der da aber noch nicht vorliegt, sondern der alte Preis übermittelt wird.
Denkbar wäre auch eine Zeitzone, aber bei Austria wohl eher nicht zutreffend. :D

Was die Unterschiedlichen Preise angeht. Du weißt schon, das man bei EPEX die Zuschläge einstellen kann ?
Einstellungen -> Geräte & Dienste -> EPEX Spot und dann auf Konfigurieren.
Da kann man einen Prozentwert einstellen. Nennt sich Aufpreis. Dürfte das sein, was sich dein Versorger eventuell in die Tasche stecken will. :D
Dann einen absoluten Wert in cent je kWh, was die zusatzkosten sind. Also Netzentgelte, Durchleitungskosten, CO2 Steuer und und und.
Und dann eben noch die MwSt.
Daraus errechnet EPEX dann den angezeigten Betrag. Wenn diese Werte nicht stimmen, wird natürlich etwas abweichendes zu den anderen angezeigt.
Da ich die genauen Kosten auch nicht kenne, kann ich da auch nur Schätzwerte eintragen. Bei meinem Versorger in der App steht, das der Strom gerade 26 cent 7 kWh kostet, EPEC sagt 26,37 cent je kWh. Damit kann ich leben, Runden will ich hier auch nicht unbedingt.
 
Für mein nächstes Projekt, billigen Strom in meinen Stromspeicher zu laden, gäbe es eine Lösung für IO Broker, noch eine Baustelle, die ich nie hinbekommen habe. Ich hatte einmal einen IO Broker laufen, kam mit dem aber überhaupt nicht zurecht. Ich werde weiter versuchen, Daten zu sammeln.

BYD Akku über Fronius via ModBus laden

Gruß,

Peter
 
@RudiP

Das mit den Aufschlägen ist mir wieder eingefallen, das ich das zu Beginn ja eingerichtet habe. Ich hätte das im nächsten Beitrag dann eh geschieben, aber da warst du jetzt schneller. Dadurch ergeben sich auch die unterschiedlichen Werte. Ich werde diese Aufschläge aus EPEX entfernen um einmal vergleichen zu können.

Danke!!

Gruß,

Peter
 
Zuletzt bearbeitet:
Guten Abend, benötige ich HA um meine Shelly per spotpreis schalten zu können, oder geht es auch so?
Wenn ich um HA nicht herum komme, gibt es eine Lösung?
Danke im Voraus
 
Hallo Roadjet!

Hm,....was ist ein Shelly? Eigentlich nur ein smartes Relais. Mir ist nicht bekannt, dass shelly die Option anbeitet, seine smarten Helfer via Spotpreis zu steuern, daher benötigst du eine Software die das macht. HA ist eine davon und die Lösung mit HA dazu steht hier quasi Schritt für Schritt.

Grüße,

Peter
 
Hallo mc_givertechnik,
Danke mal für die Info. Habe nur gelesen das Shelly scripting unterstützt. Gibt es für HA eine HW Empfehlung? Gelb, grün, raspberry?
Danke und LG
 
Zurück
Oben