24. Apr 2025

Wie wird das Smart Home zu einem Green Home?

Wie können wir Energie sparen, ohne auf Komfort zu verzichten? Smart Home bietet durch intelligente Technologien eine nachhaltige Möglichkeit, CO₂ zu reduzieren – und das ohne Einbußen im Alltag.
1060 x 710 Freise Kollin

Author

Kollin Freise

Eine Person liegt entspannt auf einem Sofa und hält ein Smartphone in der Hand. Auf dem Bildschirm des Smartphones ist eine Grafik mit einem Energieeffizienz-Label zu sehen, das die Energieeffizienz eines Hauses darstellt. Die Grafik zeigt eine farbige Skala von grün bis rot, die die Effizienzstufen anzeigt. Die Person berührt den Bildschirm, um die Informationen zu betrachten. Im Hintergrund ist ein gemütlicher Wohnraum mit einem Fenster zu erkennen.

Jeder Bereich, der viel Energie verbraucht und häufig genutzt wird, ist ein gutes Feld für nachhaltige IT. Sei es in der Industrie oder in den eigenen vier Wänden – Software ist Bestandteil jedes Lebensbereichs und beeinflusst den CO₂-Verbrauch enorm.

Es gibt drei Pfeiler, um in der Softwareentwicklung grüner zu werden:

  1. Energieeffizienz: Das Verringern des Energieverbrauchs, der durch unseren Code ausgelöst wird.
  2. Hardwareeffizienz: Indem Hardware möglichst lange und effektiv genutzt wird, kann das energie- und CO₂-intensive Herstellen neuer Hardware vermieden werden.
  3. Carbon Awareness: Energieintensive Aufgaben sollten dann oder dort ausgeführt werden, wo der Anteil erneuerbarer Energien im Stromnetz möglichst groß ist. Aufgaben, die nicht zeitkritisch sind, könnten für eine gewisse Zeit aufgeschoben werden, bis der Grünstromanteil maximal ist.

Carbon Awareness

Das Berücksichtigen des CO₂-Verbrauchs bei Aufgaben ist ein wichtiges Thema und hat sowohl eine räumliche als auch eine zeitliche Dimension.

Das tägliche Server-Backup ist ein gutes Beispiel, das mittels räumlicher Carbon Awareness optimiert werden kann. Aktuell werden solche Aufgaben häufig in der Nacht ausgeführt, zu Zeiten, in denen wenig User eine Anwendung nutzen. Leider sind dies oft auch Zeiten, zu denen weniger erneuerbare Energien verfügbar sind. Verschieben wir die Aufgabe auf einen Zeitpunkt mit einem höheren Anteil erneuerbarer Energien, kann der CO₂-Fußabdruck maximal reduziert werden.

In der IT können Aufgaben häufig auch räumlich verschoben werden. So könnten rechenintensive Aufgaben an Orten ausgeführt werden, an denen CO₂-armer Strom verfügbar ist – beispielsweise dort, wo die Sonne scheint oder der Wind weht. In der Cloud ist dies oft nur eine Frage der Konfiguration.

Timeshifting im smarten Zuhause

Gerade wenn Green IT den persönlichen Alltag betrifft, müssen die Anforderungen der Nachhaltigkeit mit der Vereinbarkeit des Lebens abgewägt werden. Das räumliche Verschieben von Aufgaben ist im privaten Haushalt praktisch nicht möglich. Es hilft nicht, wenn mein Kaffee zwar CO₂-neutral in einem sonnigen US-Bundesstaat gekocht wird, ich jedoch im windstillen und bewölkten Darmstadt sitze. Auch das zeitliche Verschieben ist nicht immer mit dem Alltag vereinbar. Der Kaffee am Morgen funktioniert nicht, wenn erst auf die ersten Sonnenstrahlen gewartet werden muss.

In den eigenen vier Wänden gibt es jedoch Aufgaben, die energiehungrig sind und sich sinnvoll zeitlich aufschieben lassen. Im Falle der Waschmaschine ist es beispielsweise irrelevant, ob die Wäsche eine Stunde früher oder später fertig wird. Auch der eingeräumte Trockner kann vermutlich um ein oder zwei Stunden verzögert starten.

Ein Diagramm veranschaulicht die Verschiebung von Arbeitslasten zur Optimierung des Energieverbrauchs basierend auf der Kohlenstoffintensität an einem Standort. Die x-Achse zeigt die Zeit von 03:00 bis 19:00 Uhr, die y-Achse die Kohlenstoffintensität von 300 bis 800. Eine rote Kurve zeigt die Schwankungen der Intensität. Ein hervorgehobenes "Zeitfenster" zeigt, wie die Laufzeit einer Aufgabe, dargestellt durch ein Waschmaschinen-Symbol, in eine Phase mit niedrigerer Kohlenstoffintensität verschoben wird.

Timeshifting-Aufgaben identifizieren

Ziel ist es, im eigenen Zuhause Aufgaben zu identifizieren, die nicht zeitkritisch sind, gleichzeitig aber viel Energie benötigen. Geschirrspülmaschine, Waschmaschine oder Trockner sind gute Beispiele dafür. Aber auch das Laden des Elektroautos oder des E-Bikes bietet großes Potenzial.

Die Anforderung des Nutzers an einen Ladevorgang des Fahrzeugs ist, dass es morgens zu 100 % geladen ist. Wann geladen wird, ist jedoch irrelevant.

Time Shifting API

Eine Carbon-Aware-Aufgabe kann mit drei Variablen verschoben werden:

  1. Time Window: Eine Aufgabe hat immer ein Zeitfenster. Bei der Waschmaschine ist es beispielsweise die Zeit zwischen 09:00 Uhr und 19:00 Uhr, damit die Waschmaschine zu Schlafenszeiten keinen Lärm erzeugt.
  2. Runtime: Die voraussichtliche Laufzeit der Aufgabe. Für die Waschmaschine ist das je nach Waschgang 30 Minuten bis 2 Stunden.
  3. Location: Der Ort, an dem der Strom genutzt wird. Je nach Ort unterscheiden sich die Verfügbarkeit und der Anteil erneuerbarer Energien.

Die Carbon Aware Computing Library bietet die Möglichkeit, anhand der drei Timeshifting-Variablen den besten Zeitpunkt zu finden, an dem eine Aufgabe gestartet werden soll. Es existieren Erweiterungen für .Net, PowerShell, Hangfire, Prometheus oder Kubernetes. Für unseren Fall ist die Carbon Aware Computing Web-API von besonderem Interesse.

Der Homeassistant Trockner mit grünem Gewissen

Home Assistant ist ein Open-Source-Projekt für das smarte Zuhause. Hier kann IoT-Hardware verschiedenster Hersteller und mit verschiedensten Technologien angebunden und mittels Automationen intelligent verknüpft werden. Wir vereinen die intelligente Waschmaschine mit Green-IT-Schnittstellen. Home Assistant ist der perfekte Ort, um Timeshifting in den Alltag zu integrieren.

REST APIAllgemeine Konfiguration mit REST-Command

In der allgemeinen Konfiguration (configuration.yaml) wird der REST-Command hinzugefügt. Als Übergabeparameter existieren “data_start”, “data_end” und “window_size”.

rest_command:
  carbon_aware_computing:
    url: "https://forecast.carbon-aware-computing.com/emissions/forecasts/current?location=de&dataStartAt={{ data_start }}&dataEndAt={{ data_end }}&windowSize={{ window_size }}"
    method: "GET"
    headers:
      Content-Type: "application/json"
      x-api-key: "59j7uQE37K49sj38d/ntu6JPKTT7QodN+Mqidfxx5L0QOMaT6tJ/QAvC68sHeYdH"

In einer Automation können wir unsere zuvor definierte API nun aufrufen. Der Aufruf carbon_aware_computing wird in der data section um die drei Variaben angereichert. Das Ergebnis des API Aufrufs wird in der Variable “response” gesichert.

 - action: rest_command.carbon_aware_computing
    data:
      data_start: "2025-01-23T12:40:32"
      data_end: "2025-01-23T13:40:32"
      window_size: 10
    response_variable: response
Waschmaschinen-AutomationBeispiel-Automation für die Waschmaschine

In dieser Beispiel-Automation werden die Timeshifting-Variablen definiert (variables:). Wenn ich den Waschmaschinenschalter betätige, wird die aktuelle Zeit als Startzeit genommen. Weil das Standard-Waschprogramm eine Stunde (60 Minuten) läuft, wird dies als Laufzeit angenommen. Das Zeitfenster wird mit 240 Minuten (4 Stunden) angegeben.

Mit diesen Werten wird die API aufgerufen (action: rest_command.carbon_aware_computing). Das Ergebnis der Abfrage sorgt dafür, dass die Automation um die Zeitdifferenz verzögert wird (wait_template:). Nach der Verzögerung wird schließlich der Task ausgeführt (action: switch.turn_on).

actions:
  - variables:
      start_of_time_window: "{{ (now()+timedelta(minutes=1)).strftime('%Y-%m-%dT%H:%M:%S') }}"
      time_window: 240
      runtime: 6
    alias: "Define time Window Size and runtime "
  - action: rest_command.carbon_aware_computing
    data:
      data_start: "{{ start_of_time_window }}"
      data_end: >-
        {{ (as_datetime(start_of_time_window) +
        timedelta(minutes=time_window)).strftime('%Y-%m-%dT%H:%M:%S') }}
      window_size: "{{ runtime }}"
    response_variable: response
    alias: "Get best time to start"
  - variables:
      optimal_datetime: "{{ (response['content'][0]['optimalDataPoints'][0]['timestamp'])[:-6] }}"
    alias: "Best start time"
  - wait_template: >-
      {{ as_datetime(now().strftime('%Y-%m-%dT%H:%M:%S')) >=
      as_datetime(optimal_datetime) }}
    alias: "TimeShifting" 
  - action: switch.turn_on
    target:
      device_id: c9c25d1bf9f799f8a59a505ad9cd1f49
    data: {}
    alias: "Run Task" 
2025 Green IT Smart Home Time Shifting Code

Fazit: Nachhaltiges Smart Home

Energieeffizienz ist ein wichtiges Thema. Smarte Technologie hat das Ziel, unser Leben einfacher zu gestalten. Durch die Konnektivität und intelligente Algorithmen kann gleichzeitig CO₂ eingespart werden. Das smarte Zuhause ist ein gutes Beispiel dafür, wie ohne Einbußen in der Nutzbarkeit und im Funktionsumfang intelligent CO₂ eingespart werden kann.