ioBrokerioBroker Tutorials

ioBroker JavaScript – Lüftungsempfehlung

In diesem Artikel zeige ich Dir, wie ich mir eine Lüftungsempfehlung für die Kellerräume entwickelt habe.

Bevor wir mit der eigentlichen Implementierung beginnen, hier ein wenig Physik zum besseren Grundverständnis. Die meisten Personen denken nur in relativer Luftfeuchtigkeit. Wenn es im Sommer also 50% Luftfeuchtigkeit hat, müsste das doch besser sein, als wenn es im Winter 80% hat? Dem ist leider nicht so, denn die Wasser-Aufnahmefähigkeit der Luft hängt ist von der Temperatur abhängig:

Je wärmer die Luft, desto mehr Wasser kann sie aufnehmen.

  • Relative Luftfeuchtigkeit: Zu wie viel Prozent ist die Luft bei gegebener Temperatur mit Wasser gesättigt
  • Absolute Luftfeuchtigkeit: Wie viel Wasser (z.B. in g/m³) befindet in der Luft

Unsere Sensoren im Smart-Home (BME280) liefern relative Feuchtigkeitswerte. Aus diesem Grund werden wir die ermittelten Wert später noch in die absoluten Werte umrechnen müssen.

Im ersten Schritt wechseln wir nun in den ioBroker Script-Bereich und legen ein neues JavaScript an. Da ich hier die Temperaturen umrechnen muss, verzichte ich an dieser Stelle auf Blockly und löse die Aufgabe direkt in JavaScript.

Ihr könnt das fertige Script hier herunterladen:

ioBroker Lüftungsempfehlung (433 Downloads )

Das Script besteht aus drei Bereichen. Im ersten Bereich ist der Trigger definiert, welcher bei einer Wertänderung angestoßen wird und die Lüftungsempfehlung berechnet. Als Auslöser des Triggers habe ich per regulare Expression alle Datenpunkte definiert, welche für die Wertermittlung eine Grundlage liefern. Die folgenden Datenpunkte müssen dafür verwendet werden:

  • Außen Temperatur
  • Außen Luftfeuchtigkeit  (relativ)
  • Innen Temperatur
  • Innen Luftfeuchtigkeit (relativ)

Im zweiten Bereich wird die eigentliche Funktion definiert, welche die Empfehlung zur Lüftung ermittelt. Dabei wird innerhalb der Funktion der jeweilige Taupunkt für Innen und Außen ermittelt und dieser mittels einem Offset abgeglichen. Das Offset sorgt für eine Wert-Stabilität und Sicherheit. Die Information über die absoluten Werte sowie die Lüftungsempfehlung speichere ich wie immer in meinen eigenen Datenpunkten unter „Datenpunkte.0“. Dafür habe ich vor der ersten Ausführung zunächst die Datenpunkte angelegt.

Der dritte Bereich ist die eigentliche Taupunkt-Berechnung. Hierbei wird die Temperatur und relative Luftfeuchtigkeit als Parameter übergeben.

Nach dem Speichern des Script muss dieses wieder über die Schaltfläche aktiviert werden.

In der VIS-Visualisierung habe ich nun ein neues HTML-Widget eingefügt. Dieses Widget soll nur angezeigt werden, wenn der Datenpunkt „KellerLueften“ aus „true“ steht. Daher habe ich die folgenden Einstellungen der Sichtbarkeit definiert:

Ich hoffe Dir gefällt der Artikel. Ich freue mich über Deinen Kommentar oder Fragen 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

6 Gedanken zu „ioBroker JavaScript – Lüftungsempfehlung

  • Oliver

    Hej,

    das ist (leider) nur Schritt 1 von 2 🙂

    Eine Lüftungsempfehlung von AbsFeuchte Innen vs Aussen müsste ja noch den Zustand der Fenster (zu, offen, gekippt) des jeweiligen Raumes anschauen und dann eine Arduinio gesteuerte Rgb-LED in dem Raum steuern. Nur dann klappt es auch mit der Familie und daran scheitere ich…

    Die Hysterese der Kommandos muss ja auch so gross sein, dass man nicht ständig Fensterpositionen wechseln muss…

    Antwort
    • Matthias Korte

      Ja, da gebe ich Dir schon Recht.
      In meinem Beispiel nutze ich das für das Lüften des Kellers, da habe ich die Kontrolle über das Fenster 😉

      Antwort
  • Daniel

    Ja sehr schön! Endlich mal jemand, der mit absoluter Feuchtigkeit rechnet. So mache ich das bereits seit Jahren selbst und fahre sehr gut damit in der gesamten Wohnung. Danke für diesen Artikel!

    Antwort
    • Matthias Korte

      Vielen Dank Daniel 🙂

      Antwort
  • Karlheinz

    Servus,

    macht dieses Script auch für Wohnräume Sinn, um sich benachrichtigen zu lassen, wenn man lüften sollte?

    Danke
    Karl

    Antwort
  • Hubert

    Tolles Script, danke!
    Leider triggert meines gar nicht. Ich komme da nicht richtig weiter.
    Habe die Temperaturen und Feuchtigkeitswerte. Diese ändern sich auch, nur das Script macht nichts. Die Werte liegen als Number datenpunkt vor.
    Kann es daran liegen?
    Danke

    Antwort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert