Ankündigung

Einklappen
Keine Ankündigung bisher.

Tibber - dynamische Strompreise - Anbindung an Loxone

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #31
    Die "One More Thing"-Ankündigung auf der Loxone Homepage lässt hoffen, dass sie eine Schnittstelle in der Config anbieten.
    Die Bemerkung von Johannes in dem Beitrag würde zumindest passen...

    Kommentar


    • #32
      So, ich hab nun das Program soweit das ich die Awattar API nachgebaut habe und per UDP an den Loxone Server sende, hier der Output. Ich glaube nämlich das Loxone die Schnittstelle von Awattar einfach vorraussetzen für ihr neues Modul, da sind viele Sachen gleich vom Eingang etc. Es fehlen noch ein paar Einträge, die muss ich noch nachliefern (Rel +/- z.B., wobei ich nicht weiss ob man die braucht).

      Selbst wenn Loxone das nicht macht, könnt ihr alle Beispiele von Awattar mit dem Prg verwenden. Ihr könnt es überall laufen lassen (NAS, Loxberry, ....). Halt in Intervallen von 5min. Das UDP XML könntet ihr somit auch von Awattar nehmen.
      (https://loxwiki.atlassian.net/wiki/s...Tar+hourly+API)

      Code:
      date_now: 2022-11-25
      date_now_epoch: 1669330800.0
      date_now_day: 25
      date_now_month: 11
      date_now_year: 2022
      price_low: 0.3013
      price_high: 0.537
      price_median: 0.4433
      price_average: 0.4276
      price_current: 0.4253
      price_unit: Cent/kWh
      price_threshold_00: 0.3013
      price_threshold_01: 0.31
      price_threshold_02: 0.3147
      price_threshold_03: 0.3291
      price_threshold_04: 0.3368
      price_threshold_05: 0.3435
      price_threshold_06: 0.3896
      price_threshold_07: 0.395
      price_threshold_08: 0.4253
      price_threshold_09: 0.4342
      price_threshold_10: 0.4376
      price_threshold_11: 0.4418
      price_threshold_12: 0.4448
      price_threshold_13: 0.4469
      price_threshold_14: 0.4544
      price_threshold_15: 0.4656
      price_threshold_16: 0.4659
      price_threshold_17: 0.4741
      price_threshold_18: 0.4867
      price_threshold_19: 0.4947
      price_threshold_20: 0.4995
      price_threshold_21: 0.5102
      price_threshold_22: 0.5228
      price_threshold_23: 0.537
      data_price_hour_abs_00_amount: 0.3435
      data_price_hour_abs_01_amount: 0.3291
      data_price_hour_abs_02_amount: 0.3147
      data_price_hour_abs_03_amount: 0.3013
      data_price_hour_abs_04_amount: 0.31
      data_price_hour_abs_05_amount: 0.3368
      data_price_hour_abs_06_amount: 0.395
      data_price_hour_abs_07_amount: 0.4741
      data_price_hour_abs_08_amount: 0.4867
      data_price_hour_abs_09_amount: 0.4656
      data_price_hour_abs_10_amount: 0.4544
      data_price_hour_abs_11_amount: 0.4342
      data_price_hour_abs_12_amount: 0.4253
      data_price_hour_abs_13_amount: 0.4448
      data_price_hour_abs_14_amount: 0.4659
      data_price_hour_abs_15_amount: 0.4995
      data_price_hour_abs_16_amount: 0.5102
      data_price_hour_abs_17_amount: 0.537
      data_price_hour_abs_18_amount: 0.5228
      data_price_hour_abs_19_amount: 0.4947
      data_price_hour_abs_20_amount: 0.4469
      data_price_hour_abs_21_amount: 0.4376
      data_price_hour_abs_22_amount: 0.4418
      data_price_hour_abs_23_amount: 0.3896​

      Kommentar


      • CyCl0ne
        CyCl0ne kommentierte
        Kommentar bearbeiten
        Als Frage von meiner Seite, reicht das, oder sollte man noch den Tag danach mit reinnehmen mit der Stunde 24, 25,.....? Und dann price_median_tomorrow, price_average_tomorrow? Da bin ich mir noch nicht sicher ob man das wirklich braucht.

        Ich hab gerade überlegt: Ihr müsst das Skript rein theoretisch nur 1x ausführen um 0:00 Uhr da die Preise gleich bleiben über den Tag. Und dann in Loxone den aktuellen Preis holen über die Uhrzeit..
        Zuletzt geändert von CyCl0ne; vor 3 Tagen.

      • challo
        challo kommentierte
        Kommentar bearbeiten
        14 uhr würde ja sinn machen wenn die preise für den Folgetag feststehen. dann kann man bei manchen Sachen auch entscheiden ob sie spät abends oder früh morgens laufen sollen, oder?

      • CyCl0ne
        CyCl0ne kommentierte
        Kommentar bearbeiten
        Wenn du es alle 15min macht bist du auch irgendwann bei "tomorrow" .. Frage ist nur ob deine Loxone Logik die du bauen möchtest auch hinbekommst vom komplexitätsgrad. Da Tomorrow irgendwann auch "Today" wird.

        Also ich hab mir folgendes gedacht:

        If (Aktueller Preis) kleiner gleich price_threshold_02 setze einen Ausgang auf High

        Ausgang High = Günstig Strom = Mach damit was du möchtest.

    • #33
      So hier nun die xml von mir für euch zu importieren mit den Virtuellen Eingängen.
      Klicke auf die Grafik für eine vergrößerte Ansicht

Name: TibberLoxApi.png
Ansichten: 63
Größe: 66,7 KB
ID: 368377


      Und hier das Skript (Fehlendes Modul mir "PIP3 install tibber.py" installieren):

      Code:
      import sys
      import socket
      import tibber
      import time
      import statistics
      from datetime import date
      
      #Config
      ACCESS_TOKEN = "[B]TOKENVONTIBBER[/B]"
      msip= "[B]IP VON MINISERVER[/B]"
      msport = [B]5005[/B]
      
      #Prg
      account = tibber.Account(ACCESS_TOKEN)
      home = account.homes[0]
      
      def sendudp(data):
          connection = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
          res = connection.sendto(data.encode(), (msip, msport))
          #Debug: print(data)
          connection.close()
          if res != data.encode().__len__():
              print("Sent bytes do not match - expected {0} : got {1}".format(data.__len__(), res))
              print("Packet-Payload {0}".format(data))
              sys.exit(-1)
      def sendudp2ms():
          sendudp("date_now: {}".format(date.today()))
          sendudp("date_now_epoch: {}".format(time.mktime(date.today().timetuple())))
          sendudp("date_now_day: {}".format(date.today().day))
          sendudp("date_now_month: {}".format(date.today().month))
          sendudp("date_now_year: {}".format(date.today().year))
          price_data = home.current_subscription.price_info.today
          i = 0
          calc = 0
          list1 = []
          for prices in price_data:
              list1.append(prices.total)
              calc = calc + prices.total
              i = i + 1
          sendudp("price_low: {}".format(min(list1)))
          sendudp("price_high: {}".format(max(list1)))
          sendudp("price_median: {}".format(statistics.median(list1)))
          sendudp("price_average: {:.4f}".format(calc/i))
          sendudp("price_current: {}".format(home.current_subscription.price_info.current.total) )
          sendudp("price_unit: Cent/kWh")
          list1.sort()
          i = 0
          for listelem in list1:
              sendudp("price_threshold_{}: {}" .format(str(i).zfill(2), listelem))
              i = i+1
          i = 0
          for prices in price_data:
              sendudp("data_price_hour_abs_{}_amount: {}" .format(str(i).zfill(2), prices.total))
              i = i + 1
      sendudp2ms()
      Also ich denke mal man müsste das Skript nur 1x am Tag ausführen und die Berechnung im Loxone Server machen. Aber kann sein das bei Stromausfall / Server neustart die Daten weg sind. Keine Ahnung. So weit noch nicht getestet.

      Kommentar


      • devilseye
        devilseye kommentierte
        Kommentar bearbeiten
        Ja absolut nachvollziehbar. Ich werde hier von meinen Erfahrungen berichten. Mir fehlt halt noch die Wärmepumpe, um auch da entsprechend ala großer Verbraucher mit die Stromkosten zu optimieren. Aber ansonsten wird das E-Auto schonmal nur bei Sturmlage in Deutschland getankt 😅

      • challo
        challo kommentierte
        Kommentar bearbeiten
        Eauto und Wärmepumpe hab ich ... Und hoffentlich hab ich im Januar auch meine PV Anlage fertig installiert. Aktuell bin ich bei 19 Cent, da tut in Vergleich alles weh..

      • CyCl0ne
        CyCl0ne kommentierte
        Kommentar bearbeiten
        19 cent und 27 cent.. das ist bei uns alles vorbei. Mein Anbieter möchte 42 Ct/Kwh und die Grundversorgung möchte 56ct/kwh haben. Damit ist Tibber def. günstiger als die Alternativen.
    Lädt...
    X