Technologie – schieber.info

Kategorie: Technologie

Werkzeuge aus dem Eigenbau, Messreihen, Auswertungen. Was automatisiert werden kann, wird automatisiert — was ein Urteil braucht, bleibt beim Menschen. Die Unterkategorien führen zu den einzelnen Feldern: das Haus messen und steuern, die Geräte dahinter, Sprachmodelle im Arbeitsablauf und das Programmieren im Dialog mit ihnen.

  • Home Assistant: vom Messwert zur Entscheidung

    Technologie · Smarthome

    Ein Haus sammelt schnell Insellösungen: Die Wetterstation hat ihre App, die Lampen ihre, der Router seine Oberfläche, die Kameras ihren Dienst in der Cloud. Jede für sich funktioniert. Zusammen ergeben sie nichts — bis eine Zentrale sie unter ein Dach holt.

    Home Assistant ist diese Zentrale: quelloffen, läuft im Haus, spricht mit fast allem. Der eigentliche Gewinn ist nicht die eine App für alles, sondern das, was erst durch die Kombination möglich wird — eine Warnung, die Innen- und Außenklima verrechnet, oder eine Solaranlage, die sich am Verbrauch des Hauses ausrichtet.

    Grundhaltung

    So viel lokal wie möglich

    Die wichtigste Entscheidung fällt vor der ersten Integration: Läuft die Verbindung über einen fremden Server oder im eigenen Netz? Lokale Anbindungen funktionieren ohne Internet, überleben Anbieterentscheidungen und verraten niemandem, wann jemand zu Hause ist. Cloud-Anbindungen sind bequemer und manchmal die einzige Option.

    Beides lässt sich mischen — aber bewusst. Eine Automatisierung, die auf einen Cloud-Dienst angewiesen ist, fällt mit dessen Störung aus. Für Licht ist das ärgerlich, für eine Heizungssteuerung ein Problem, für einen Alarm untragbar.

    Die Bausteine

    Vier Anbindungen, vier Charaktere

    Wetter · lokal

    Ecowitt

    Wetterstation mit Gateway, das seine Messwerte im eigenen Netz ausliefert — Temperatur, Luftfeuchte, Wind, Regen, dazu Bodenfeuchte- und Innensensoren. Home Assistant nimmt die Daten direkt entgegen, ohne Umweg über einen Herstellerdienst.

    • Sendeintervall am Gateway festlegen, nicht nur in der App
    • Innensensoren sind der eigentliche Schatz: Sie liefern die Werte für die Feuchte-Rechnung weiter unten
    • Bei Funksensoren gilt: Batteriezustand als eigene Meldung führen, sonst fehlt irgendwann still ein Messwert
    Geräte · lokal

    Zigbee

    Der Funkstandard für Sensoren und Schalter: batteriesparend, herstellerübergreifend, komplett ohne Internet. Es braucht einen Koordinator-Stick am Rechner — danach sprechen Geräte verschiedenster Marken über dasselbe Netz.

    • Den Stick per USB-Verlängerung wegsetzen: direkt am Gehäuse stört USB-3-Elektronik den Empfang messbar
    • Netzbetriebene Geräte wirken als Verstärker — sie zuerst einbinden, dann die Batteriesensoren
    • Vor dem Kauf prüfen, ob ein Gerät im gewählten Zigbee-Dienst unterstützt wird; „Zigbee“ allein ist keine Garantie
    Netz · lokal

    FRITZ!Box

    Der Router weiß, welche Telefone im WLAN sind — die zuverlässigste Anwesenheitserkennung ohne Ortungsdienste auf dem Handy. Dazu kommen die DECT-Steckdosen und -Heizkörperregler des Herstellers samt Verbrauchsmessung.

    • Anwesenheit entprellen: Handys melden sich im Schlafmodus zeitweise ab und lösen sonst Fehlalarme aus
    • Für die Anbindung ein eigenes Benutzerkonto im Router anlegen, nicht das Administrationskonto verwenden
    • Die Verbrauchsmessung der Steckdosen liefert nebenbei die Datenbasis, um Stromfresser zu finden
    Kameras · Cloud

    Blink

    Der Gegenentwurf: Die Kameras arbeiten über den Dienst des Herstellers, die Anbindung greift auf dessen Schnittstelle zu. Das funktioniert gut und ist der Preis für Batteriebetrieb und einfache Einrichtung.

    • Ohne Internet keine Funktion — für sicherheitsrelevante Abläufe deshalb nicht als einzige Quelle einplanen
    • Bewegungsmeldungen eignen sich als Auslöser, taugen aber nicht als verlässlicher Anwesenheitsnachweis
    • Wer vollständig lokal arbeiten will, braucht Kameras mit offenem Videostrom und eine eigene Auswertung

    Anwendung 1

    Die Schimmelwarnung: Lüften, wenn es hilft

    Die verbreitete Regel „bei hoher Luftfeuchte lüften“ ist im Winter oft richtig und im Sommer regelmäßig falsch. Der Grund: Die relative Luftfeuchte sagt nichts darüber aus, wie viel Wasser die Luft tatsächlich enthält. Warme Sommerluft mit 70 % relativer Feuchte trägt deutlich mehr Wasser als kalte Winterluft mit 90 %. Wer im Sommer den feuchten Keller mit Außenluft „trocknet“, trägt Wasser hinein.

    Die richtige Vergleichsgröße ist die absolute Luftfeuchte in Gramm pro Kubikmeter. Nur wenn draußen absolut weniger Wasser in der Luft ist als drinnen, trocknet Lüften. Genau diese Rechnung nimmt Home Assistant ab — Innensensor und Außenstation liefern die Werte, ein berechneter Sensor macht daraus eine Zahl:

    Absolute Luftfeuchte aus Temperatur und relativer Feuchte

    template:
      - sensor:
          - name: "Absolute Feuchte innen"
            unit_of_measurement: "g/m³"
            state: >
              {% set t = states('sensor.innen_temperatur') | float %}
              {% set rh = states('sensor.innen_luftfeuchte') | float %}
              {{ (216.7 * (rh / 100 * 6.112 * e ** (17.62 * t / (243.12 + t))
                 / (273.15 + t))) | round(2) }}

    Derselbe Sensor noch einmal mit den Außenwerten der Wetterstation — und die Empfehlung ist eine Subtraktion. Sinnvoll ist ein Schwellwert statt eines exakten Vergleichs, damit die Meldung bei kleinen Schwankungen nicht flattert:

    Lüftungsempfehlung mit Hysterese

          - name: "Lüften sinnvoll"
            state: >
              {% set innen = states('sensor.absolute_feuchte_innen') | float %}
              {% set aussen = states('sensor.absolute_feuchte_aussen') | float %}
              {{ 'ja' if (innen - aussen) > 1.0 else 'nein' }}

    Der zweite Teil: nicht die Raumluft ist das Problem, sondern die Wand

    Schimmel entsteht nicht bei hoher Raumluftfeuchte, sondern dort, wo warme feuchte Luft auf kalte Oberflächen trifft — Außenecken, Fensterlaibungen, ungedämmte Bereiche hinter Möbeln. Maßgeblich ist die relative Feuchte an dieser Oberfläche: Ab etwa 80 % über längere Zeit wird es kritisch, lange bevor irgendwo Wasser sichtbar kondensiert.

    Wer die kalte Stelle kennt, misst dort mit einem kleinen Funksensor und lässt sich warnen. Wer sie nicht kennt: Ein Infrarot-Thermometer an einem kalten Wintertag findet sie in zehn Minuten. Ersatzweise lässt sich der Taupunkt der Raumluft berechnen und mit einer geschätzten Wandtemperatur vergleichen — genauer ist die echte Messung.

    Praktischer Hinweis aus dem Betrieb: Die Meldung sollte nicht dauernd erscheinen, sondern beim Wechsel des Zustands. Eine Benachrichtigung „jetzt wäre Lüften sinnvoll“, die zweimal täglich kommt, wird befolgt; dieselbe Information als Dauerwarnung wird ignoriert.

    Anwendung 2

    Nulleinspeisung: erzeugen, was gerade gebraucht wird

    Wer eine kleine Solaranlage betreibt und keine Vergütung für Überschuss bekommt, will nicht ins Netz einspeisen, sondern genau so viel erzeugen, wie das Haus verbraucht. Das ist ein Regelkreis, und er besteht aus drei Teilen.

    1. Messen, was am Hausanschluss passiert

      Ein Zähler am Netzübergabepunkt liefert die Leistung mit Vorzeichen: positiv bei Bezug, negativ bei Einspeisung. Diese eine Zahl ist die Regelgröße. Wichtig ist die Aktualisierungsrate — ein Wert alle zehn Sekunden führt zu trägem Nachlaufen, ein Wert pro Sekunde erlaubt sauberes Regeln.

    2. Die Erzeugung begrenzen können

      Der Wechselrichter muss sich in seiner Ausgangsleistung drosseln lassen. Bei Modulwechselrichtern übernimmt das eine kleine quelloffene Steuerung wie OpenDTU oder AhoyDTU, die per Funk mit dem Gerät spricht und ein Leistungslimit setzt.

    3. Beides verbinden

      Eine Automatisierung in Home Assistant liest den Zählerwert und setzt daraus das neue Limit. Kein exakter Nullpunkt, sondern ein kleiner Restbezug als Ziel — etwa 20 bis 50 Watt. Wer auf genau null regelt, speist bei jeder Lastschwankung kurz ein.

    Regelschritt, alle paar Sekunden

    alias: Nulleinspeisung regeln
    trigger:
      - platform: time_pattern
        seconds: "/5"
    action:
      - variables:
          bezug: "{{ states('sensor.netz_leistung') | float(0) }}"
          limit: "{{ states('number.wr_leistungslimit') | float(0) }}"
          ziel: 30            # Watt Restbezug, damit nichts ins Netz geht
      - service: number.set_value
        target:
          entity_id: number.wr_leistungslimit
        data:
          value: >
            {% set neu = limit + (bezug - ziel) * 0.6 %}
            {{ [[neu, 0] | max, 800] | min | round(0) }}

    Der Faktor 0,6 dämpft die Korrektur: Ohne ihn schwingt die Regelung, weil jede Änderung erst mit Verzögerung im Zähler ankommt. Die Begrenzung nach oben entspricht der Anlagenleistung, die nach unten verhindert negative Werte. Wer es genauer mag, ersetzt das durch einen echten PI-Regler — für den Hausgebrauch reicht diese Form.

    Zwei Dinge, die man vorher klären sollte

    • Anmeldung. Eine Solaranlage ist anzumelden, auch wenn sie nichts einspeist. Die Nulleinspeisung ist eine Betriebsart, keine Umgehung — die Regeln dazu setzen Gesetzgeber und Netzbetreiber, nicht die Steuerung.
    • Verhalten bei Ausfall. Was passiert, wenn die Zentrale abstürzt oder der Zähler keine Werte mehr liefert? Das Limit bleibt dann stehen, wo es zuletzt war. Ein Rückfall auf einen sicheren Wert nach einigen Minuten ohne frische Messwerte gehört in die Automatisierung — sonst regelt niemand mehr, aber die Anlage produziert weiter.

    Betrieb

    Was ein Smarthome dauerhaft am Leben hält

    ThemaPraxis
    Sicherungen Die Zentrale erstellt automatische Sicherungen — sie müssen aber vom Gerät herunter, sonst liegen sie auf demselben Datenträger wie das Original. Und einmal im Jahr eine Wiederherstellung ausprobieren, sonst ist es nur ein Gefühl.
    Aktualisierungen Die Zentrale entwickelt sich schnell, gelegentlich mit Änderungen, die Automatisierungen brechen. Nicht blind aktualisieren: kurz in die Anmerkungen zur Version sehen und vorher sichern.
    Abhängigkeiten kennen Aufschreiben, welche Automatisierung an welchem Sensor hängt. Wenn ein Gerät ausfällt oder umbenannt wird, ist sonst unklar, was still nicht mehr funktioniert — und Automatisierungen scheitern lautlos.
    Ausfall einplanen Licht muss sich am Schalter bedienen lassen, die Heizung am Regler. Eine Steuerung, die im Fehlerfall die Grundfunktion des Hauses blockiert, ist ein Rückschritt gegenüber dem Zustand davor.

    Und ein Rat, der mehr wert ist als jede Integration: anfangen zu messen, bevor man anfängt zu steuern. Ein halbes Jahr Daten über Temperatur, Feuchte und Verbrauch beantwortet die Frage, welche Automatisierung sich überhaupt lohnt — meist eine andere als die, die man zuerst bauen wollte.

    Hinweis zur Erstellung: Dieser Text wurde KI-gestützt verfasst und vor der Veröffentlichung redaktionell geprüft.

    Die Beispiele sind allgemein gehalten: Entitätsnamen sind Platzhalter, Geräte- und Netzangaben bleiben außen vor.

  • Diese Website wurde im Dialog gebaut — was dabei zählt

    Technologie · Vibecoding

    Diese Website ist im Dialog mit einem Sprachmodell entstanden — Layout, Farbsystem, die Beiträge, die Erweiterungen im Hintergrund. Das Ergebnis sehen Sie gerade. Was Sie nicht sehen, ist der Teil, der beim Vibecoding tatsächlich über Erfolg entscheidet: die Leitplanken drumherum.

    „Vibecoding“ beschreibt das Programmieren im Gespräch: Man sagt, was man will, das Modell schreibt den Code, man schaut sich das Ergebnis an. Das funktioniert erstaunlich gut — und geht auf eine Weise schief, die sich von klassischen Programmierfehlern unterscheidet. Dieser Text beschreibt beides, an einem echten Projekt.

    Der Aufbau

    Drei Entscheidungen, die alles Weitere getragen haben

    1. Inhalte gehören ins Repository, nicht ins CMS

      Jede Seite entsteht als HTML-Fragment im Projektverzeichnis, versioniert, und wird von dort veröffentlicht. Der Vorteil zeigt sich beim zweiten Mal: Änderungen sind nachvollziehbar, ein Rückweg existiert, und das Modell kann die Datei lesen, statt sie zu erraten. Wer im Web-Editor arbeitet, hat nach drei Iterationen keinen Verlauf mehr.

    2. Ein Ort für Gestaltungswerte

      Farben, Schriften, Abstände stehen in einer einzigen Datei als CSS-Variablen. Anfangs trug jede Seite ihre eigenen Werte — bis zur zweiten Seite ging das gut, danach begann das Auseinanderdriften. Heute ändert eine Zeile die Farbe überall; die Seiten kennen nur noch Namen wie „Grundton“ und „gesichert“, keine Hexwerte.

    3. Erweiterungen neben dem Theme, nicht darin

      Alles, was das eingesetzte Theme nicht kann — Design-Tokens laden, rechtliche Links im Fuß ausgeben, Vorschaubilder für geteilte Links, Kategorietexte anzeigen — läuft als kleine, eigenständige Erweiterung daneben. Jede erfüllt genau eine Aufgabe und lässt sich durch Löschen einer Datei zurücknehmen. Ein Theme-Update kann sie nicht überschreiben, ein Theme-Wechsel nicht mitreißen.

    Alle drei Entscheidungen haben dasselbe Motiv: Reversibilität. Beim Vibecoding entsteht viel Code in kurzer Zeit, und ein Teil davon ist falsch. Was sich nicht in einem Schritt zurücknehmen lässt, wird zur Hypothek.

    Werkzeuge

    Womit gearbeitet wird

    Der Assistent

    Ein Modell mit Werkzeugzugriff

    Entscheidend ist nicht die Chatoberfläche, sondern dass das Modell Dateien lesen, Befehle ausführen und Ergebnisse prüfen kann. Werkzeuge wie Claude Code, Aider oder Cursor tun das; ein reines Chatfenster zwingt zum Kopieren und verliert dabei den Zusammenhang.

    Das Sicherheitsnetz

    Git, von Anfang an

    Nicht verhandelbar. Vibecoding erzeugt Änderungen schneller, als man sie prüfen kann — ohne Versionsverwaltung gibt es keinen Weg zurück zu „vor zwanzig Minuten, als es noch ging“. Kleine Commits mit Begründung, auch wenn niemand sonst hineinschaut.

    Die Prüfung

    Der echte Browser

    Ein Modell kann sein Ergebnis nicht sehen. Es prüft, indem es Text durchsucht — und das genügt nicht: Fehlerhaftes Markup ist im Quelltext vollständig vorhanden und im Browser trotzdem kaputt. Prüfen heißt: die Seite laden und messen, was tatsächlich ankommt.

    Das Gedächtnis

    Notizen außerhalb des Chats

    Jede Sitzung beginnt bei null. Was gelernt wurde — Entscheidungen, Fallen, Konventionen — gehört in Dateien, die das Modell beim nächsten Mal wieder liest. Markdown im Repository, Obsidian, egal: Hauptsache außerhalb des Gesprächsverlaufs.

    Wissen konservieren

    Anweisungsdateien und Skills

    Der größte Unterschied zwischen „nettes Spielzeug“ und „ernsthaftes Werkzeug“ liegt darin, ob das Modell die Regeln des Projekts kennt, ohne dass man sie jedes Mal wiederholt. Dafür gibt es zwei Ebenen:

    EbeneWas hineingehörtWann sie greift
    Anweisungsdatei im Projekt Konventionen, Verzeichnisstruktur, Namensschemata, was verboten ist, wie veröffentlicht wird Immer — sie wird zu Beginn jeder Sitzung gelesen
    Skills — abrufbare Anleitungen Abläufe, die nur manchmal gebraucht werden: eine Veröffentlichungsroutine, eine Prüfliste, ein Rechercheverfahren Auf Abruf, wenn die Aufgabe dazu passt

    Die Faustregel: Was in jeder Sitzung gilt, gehört in die Anweisungsdatei — aber knapp, denn alles darin kostet bei jeder Anfrage Platz. Was nur gelegentlich gebraucht wird, gehört in einen Skill, der bei Bedarf geladen wird. Ein aufgeblähtes Dauerregelwerk wird schlechter befolgt als ein kurzes.

    Der wertvollste Eintrag ist die Falle von gestern

    Jeder Fehler, der einmal Zeit gekostet hat, gehört als Zeile in diese Dateien — mitsamt der Erkennungsmethode. Genau das verwandelt eine Sitzung in dauerhaften Fortschritt, statt dieselbe Sackgasse in vier Wochen erneut zu betreten.

    Aus der Praxis

    Vier Fallen, die diese Website gekostet hat

    Alle vier haben eines gemeinsam: Sie sahen nach Erfolg aus. Genau das macht sie gefährlich.

    Das System zerlegt, was der Assistent geschrieben hat

    Ein Diagramm war im Quelltext vollständig vorhanden — auf der Seite blieb ein leerer Rahmen. Ursache: Das Redaktionssystem fügt in Textabsätze automatisch Formatierung ein und zerbrach dabei die Grafik. Die Prüfung per Textsuche meldete „vorhanden“, weil das Markup ja dastand. Lehre: Zwischen „steht im Code“ und „funktioniert im Browser“ liegt eine Verarbeitungskette, die man mitprüfen muss.

    Das Prüfwerkzeug war älter als der Code

    Eine Syntaxprüfung meldete Fehler in einer fehlerfreien Datei — sie lief gegen eine über zwanzig Jahre alte Version der Sprache, während die Anwendung längst eine aktuelle nutzte. Schlimmer: Weil die Befehle verkettet waren, brach der falsche Alarm die restliche Veröffentlichung stillschweigend ab. Lehre: Ein Werkzeug, das man zur Kontrolle einsetzt, gehört selbst kontrolliert — und Befehlsketten verschlucken Zwischenfehler.

    Zwei Bildwerkzeuge, zwei verschiedene Wahrheiten

    Dieselbe Grafik sah je nach Umwandlungswerkzeug völlig anders aus: Das eine ignorierte Transparenz und malte schwarze Flächen, das andere schnitt den rechten Rand ab. Beide meldeten Erfolg. Lehre: Erzeugte Bilder muss man ansehen, nicht nur erzeugen — und wenn ein Ergebnis merkwürdig aussieht, ist der Renderer ein ebenso plausibler Verdächtiger wie die Quelle.

    Ein Dunkelmodus, den nur die halbe Seite kannte

    Die selbst gebauten Bereiche folgten der Systemeinstellung und wurden dunkel — das Theme drumherum konnte das nicht und blieb hell samt dunkler Schrift. Ergebnis: dunkler Text auf dunkler Fläche. Lehre: Wer in eine bestehende Umgebung hineinbaut, erbt deren Grenzen. Eine Funktion, die nur der eigene Teil beherrscht, erzeugt einen Bruch statt einer Verbesserung.

    Dos

    Was verlässlich hilft

    Do

    Am echten Ergebnis prüfen lassen

    Nicht „ist der Text drin“, sondern: Seite laden, Elemente zählen, Farben und Kontraste messen. Diese Prüfung lässt sich beschreiben und wiederholen — und sie fängt genau die Fehler, die eine Textsuche nicht sieht.

    Do

    Vor dem Überschreiben sichern

    Bestehende Inhalte vor jeder Ersetzung wegkopieren, unaufgefordert. Der Assistent schlägt sonst gern die vollständige Neufassung vor — die in neun von zehn Fällen besser ist und im zehnten alles Gewachsene entfernt.

    Do

    Widerspruch erwarten und einfordern

    Ein Modell stimmt gern zu. Fragen wie „was spricht dagegen“ oder „was habe ich übersehen“ liefern regelmäßig mehr als eine Bestätigung. Besonders wertvoll: nach der fertigen Lösung fragen, welche Annahme darin ungeprüft ist.

    Do

    In kleinen Schritten veröffentlichen

    Eine Änderung, eine Prüfung, ein Zwischenstand. Wer fünf Dinge gleichzeitig ausrollt und danach einen Fehler sieht, weiß nicht, welches davon ihn verursacht hat — und der Assistent weiß es auch nicht.

    Don’ts

    Was zuverlässig schiefgeht

    Don’t

    Erfolgsmeldungen ungeprüft glauben

    „Fertig und verifiziert“ bedeutet: Das Modell hat eine Prüfung durchgeführt, die es selbst gewählt hat. War sie ungeeignet, ist die Meldung trotzdem zuversichtlich. Bei allem Sichtbaren gilt: einmal selbst hinsehen.

    Don’t

    Zugangsdaten in den Dialog geben

    Weder ins Gespräch noch in Befehle, deren Ausgabe im Verlauf landet. Zugänge gehören in Schlüsselverwaltungen und Konfigurationsdateien, auf die verwiesen wird — Werte fließen durch Pipes, nicht durch Bildschirmausgaben.

    Don’t

    Direkt auf dem Live-System herumbauen

    Verlockend, weil es schnell geht. Aber jeder Zwischenstand ist öffentlich, und ein misslungener Schritt ist eine Störung statt eines verworfenen Versuchs. Entwurfsfassungen und lokale Vorschauen kosten Minuten und ersparen Peinlichkeiten.

    Don’t

    Umfang und Prüfung zugleich vergrößern

    Je mehr auf einmal entsteht, desto oberflächlicher wird die Kontrolle — beim Menschen wie beim Modell. Fünf Beiträge in einem Durchgang sind machbar; fünf Beiträge und ein neues Layout in einem Durchgang sind es nicht.

    Sicherheit

    Leitplanken, die vor dem ersten Prompt stehen

    Der Assistent kennt den Unterschied zwischen einer harmlosen und einer heiklen Information nicht von allein. Was für die eigene Umgebung gilt, muss aufgeschrieben sein — und zwar bevor der erste Text entsteht, nicht als Korrektur danach.

    LeitplankeWie sie wirkt
    Eine Regeldatei, was nie nach draußen darf Zugangsdaten, interne Adressen und Gerätenamen, ungelöste Schwachstellen, personenbezogene Daten Dritter. Steht das nicht geschrieben, landet es irgendwann in einem Beitrag — nicht aus Böswilligkeit, sondern weil es zum Thema passte.
    Eine maschinelle Prüfung vor jeder Veröffentlichung Eine Mustersuche über die fertige Datei nach Adressen, Schlüsselwörtern, Zugangsdaten. Kostet Sekunden und fängt das, was beim Schreiben durchgerutscht ist. Sie ersetzt das Lesen nicht — sie fängt nur, was Muster hat.
    Ein Freigabeschritt für heikle Themen Bestimmte Bereiche werden vorbereitet, aber nie selbsttätig veröffentlicht. Der Assistent legt einen Entwurf an und hält an; ein Mensch liest und gibt frei. Das ist die einzige Stelle, an der zusätzliche Reibung wirklich lohnt.
    Keine fremden Ressourcen ohne Absicht Eingebundene Schriften, Skripte oder Bilder von fremden Servern übertragen Besucherdaten dorthin. Beim schnellen Bauen entsteht so etwas nebenbei — die Prüfung darauf gehört fest in die Liste.

    Diese Site trägt zusätzlich einen sichtbaren Hinweis unter jedem maschinell erstellten Text. Das ist teils rechtliche Vorsicht, vor allem aber Konsequenz: Wer Belege einfordert, sollte bei der eigenen Arbeitsweise nicht schweigen.

    Pflegbarkeit

    Damit es in einem Jahr noch änderbar ist

    Vibecoding erzeugt schnell viel Code, den niemand Zeile für Zeile gelesen hat. Das ist beherrschbar — aber nur mit ein paar Regeln, die dem Wachstum entgegenstehen:

    Jeder Wert nur an einer Stelle. Sobald derselbe Farbwert, dieselbe Adresse, dieselbe Kennzahl zweimal auftaucht, driften die Kopien auseinander. Das passiert beim Vibecoding schneller als bei Handarbeit, weil das Modell bereitwillig dupliziert, statt nach dem vorhandenen Ort zu fragen.

    Kommentare, die das Warum tragen. Nicht was der Code tut — das steht da —, sondern warum er so aussieht. Eine Zeile wie „diese Ausnahme, weil das Theme seine Farben über ID-Selektoren setzt und sonst gewinnt“ verhindert, dass jemand sie in sechs Monaten als überflüssig entfernt. Solche Begründungen zu verlangen, ist die wirksamste einzelne Anweisung an das Modell.

    Umkehrbarkeit vor Eleganz. Die schönere Lösung, die tief ins bestehende System eingreift, ist selten die bessere. Was sich durch Löschen einer Datei zurücknehmen lässt, erlaubt Experimente ohne Angst — und Angst ist der eigentliche Feind der Pflege.

    Der Assistent schreibt den Code. Verantwortlich für das Ergebnis ist, wer ihn veröffentlicht.

    Bilanz

    Lohnt es sich?

    Für diese Site: eindeutig ja. Sie hat in kurzer Zeit ein durchgehendes Farbsystem, ein wiederverwendbares Beitragslayout, mehrere Erweiterungen und ein Dutzend Texte bekommen — Arbeit, die von Hand über Wochen gegangen wäre und deshalb vermutlich nie stattgefunden hätte.

    Der Preis ist eine andere Art von Aufmerksamkeit. Nicht mehr „wie schreibe ich das“, sondern „stimmt das, was da behauptet wird“. Die Fehler sind seltener syntaktisch und häufiger sachlich: eine Zahl, die aus der Erinnerung statt aus den Daten kam; eine Prüfung, die nichts geprüft hat; ein „passt“ auf etwas, das nicht passte. Wer diesen Teil ernst nimmt, bekommt ein sehr schnelles Werkzeug. Wer ihn überspringt, bekommt eine Website, die aussieht, als hätte sie jemand geprüft.

    Hinweis zur Erstellung: Dieser Text wurde KI-gestützt verfasst und vor der Veröffentlichung redaktionell geprüft — beschrieben wird der Entstehungsprozess dieser Website.

    Beschrieben werden Vorgehen und Prinzipien; Serverpfade, Zugangswege und Versionsstände bleiben außen vor.

  • Wie sich das Klima vor der eigenen Haustür entwickelt

    Wie sich das Klima vor der eigenen Haustür entwickelt

    Wie warm war es früher – und wie warm ist es heute, genau hier bei uns? Nicht „die Welt im Schnitt“, sondern der eigene Ort. Genau dafür habe ich mir ein kleines Werkzeug gebaut: Klima-Trend zeigt die Temperaturentwicklung für einen frei wählbaren Ort und Zeitraum – als Bild, das man sofort versteht.

    Woher die Daten kommen

    Die Zahlen stammen aus der ERA5-Reanalyse über die Open-Meteo Historical Weather API – frei nutzbar, kein API-Schlüssel, lückenlos zurück bis 1940. Es ist ein Gitterpunkt (~25 km Raster), kein einzelner Stationswert. Für mehrjährige Trends ist das genau richtig; einzelne Tageswerte können minimal von der DWD-Station abweichen.

    Drei Blickwinkel auf dieselbe Frage

    1. Monatsraster – wann wurde es wärmer?

    Jede Zelle ist ein Monatsmittel, die Jahre laufen von oben nach unten. So sieht man auf einen Blick, in welchen Monaten sich die Erwärmung am stärksten zeigt – und das wärmste Jahr ist direkt markiert.

    Monatsraster der Temperaturentwicklung Regensburg
    Monatsmittel Regensburg als Heatmap (ERA5 / Open-Meteo).

    2. Kenntage – Frost runter, Hitze rauf

    Hier zählen wir pro Jahr die klassischen Kenntage nach DWD-Definition: Eistage (Tmax < 0 °C), Frosttage (Tmin < 0 °C), Sommertage (Tmax ≥ 25 °C), Hitzetage (Tmax ≥ 30 °C) und Tropennächte (Tmin ≥ 20 °C). Der Trend ist überall derselbe: weniger Kälte, mehr Hitze.

    Kenntage pro Jahr Regensburg
    Kenntage pro Jahr, gruppiert nach Tmax/Tmin.

    3. Warming Stripes – der Trend in einem Bild

    Die wohl bekannteste Klima-Grafik: ein Streifen pro Jahr, blau für kühler, rot für wärmer. Dazu der lineare Trend in °C pro Dekade und der Verteilungs-Shift zwischen erster und zweiter Hälfte des Zeitraums. Kein Diagramm-Studium nötig – man sieht es einfach.

    Warming Stripes und linearer Trend Regensburg
    Warming Stripes + linearer Trend (°C/Dekade) für Regensburg.

    Funktioniert für jeden Ort

    Regensburg war nur der Anfang. Ortsname rein, Zeitraum wählen, fertig – von Hamburg über Wien bis Reykjavík. Hier zum Vergleich der hohe Norden:

    Warming Stripes Reykjavik
    Warming Stripes Reykjavík, 1990–2024.

    Zwei Wege, ein Ergebnis

    • Python-Skript – rendert die Grafiken als PNG, nur numpy + matplotlib.
    • Browser-Dashboard – dieselben Auswertungen live und interaktiv, ohne Installation: Ort suchen, Zeitraum schieben, zuschauen.

    Beide nutzen dieselbe Datenquelle und dieselbe Logik – das eine zum Teilen als Bild, das andere zum Selber-Ausprobieren.

    Daten: ERA5 / Open-Meteo (CC BY 4.0). Grafiken © J. Schieber.