Viessmann API und Node-Red - Teil 5 - Dashboard Tipps

Das Node-Red hat von Haus aus einige nette grafische Elemente zum Visualisieren und Manipulieren von Werten, die auf unterschiedlichste Weise generiert und eingesammelt wurden. Manchmal hätte man aber gerne etwas mehr:

Statusanzeige mit Switches

Nehmen wir an, wir möchten auf ansprechende Weise den Betriebszustand einer Pumpe anzeigen.

Hierzu eignet sich das Dashboard Switch IconNun sieht dieses Icon für die Darstellung und Schaltung eines Ein/Aus Schalters ganz nett aus, für die Darstellung einer Pumpe eher weniger. Netterweise können wir das Property Icon auch ändern und zusätzlich ein paar Einstellungen vornehmen, die aus dem Schalter eine Statusanzeige machen:

Icon ändern

Zum Beispiel in dieses Icon hier:

Schauen wir uns mal das Eigenschaftsfenster des Switches an:

Font Awesome

Bei Icon wählen wir anstatt Default jetzt Custom. Es erscheinen nun weitere Eingabefelder zur Eingabe des On- und des Off-Icons. Hier verwenden wir eine der von Node-Red akzeptierten Icon Bibliotheken namens Font Awesome oder Material Design. Ich fokussiere nachfolgend auf Font Awesome [FA]. Hierbei ist es wichtig zu wissen, dass Node-Red zumindest in der von mir verwendeten Version 3.0.2, nur FA Icons der Version 4.7 verwenden kann. Icons, welche mit FA Version 5 und 6 hinzu gekommen sind, werden (noch) nicht angezeigt und resultieren in einem Fragezeichen Icon.

Tragen wir nun bei der Zeile On Icon  den Inhalt fa-refresh  ein, bekommen wir den oben angezeigten Kreiselpfeil in kleiner Version. Trägt man fa-3x fa-refresh  ein, wird das Icon größer - bis maximal 4x. Bei  fa-3x fa-refresh fa-spin  dreht sich der Kreiselpfeil. Die Farbe daneben können wir z.B. auf red einstellen.

Für das Off Icon verwende ich gerne fa-power-off .

Wollen wir nur etwas anzeigen und nichts schalten, dann ist dieser Switch wie oben dagestellt eine Endstation. Deshalb bei Pass through msg if payload matches valid state den Haken wegnehmen und Switch icon shows state of the input auswählen.

Hier noch das JSON File für das obige Beispiel:

Statusanzeige mit Buttons

Der Button (Taste oder Momentschalter) ist normalerweise ein Rechteck. Stattdessen können wir wie oben gezeigt mit FA ein Icon darstellen. Zum Beispiel so: fa-2x fa-check-square-o  bzw. so:

Über das Farbe (colour) Property könne wir die Farbe ändern, das geht z.B. im Klartext wie red, blue, black, yellow oder mittels hex Code der Farbe z.B. #983400.

Will man einen Standard Button (Rechteck) einfärben, geschieht das über das Hintergrund Property. Diese Eigenschaft kann man dann auch verwenden, um z.B. Temperaturen anzuzeigen, d.h. die Farbe ändert sich von blau (=kalt) zu orange (=warm) zu rot (=heiß), was für die Darstellung von Wassertemperaturen oder ähnlichem nützlich ist. Ich verwende einen Stapel von 10 funktionslosen Anzeigebuttons dazu, die Temperaturschichtung meines Pufferspeichers dazustellen:  Farbskala 1 verwendet hex Farbwerte, die ich aus einem Farbkreis rauskopiert habe, die alternative Farbskala 2 verwendet Farbnamen im Klartext.

Gesetzt werden die Farben über einen Function Node.

und der "Button" wird wie folgt eingestellt:

Mein Pufferspeicher hat insgesamt 4 Sensoren (unten mit Temperatur in °C und "(S)" dargestellt), aus denen ich die Zwischenwerte zwischen den einzelnen konkreten Messpunkten ausrechne. Entspricht vielleicht nicht zu 100% den physikalische Gegebenheiten, sieht aber hübsch aus und zeigt auf einen Blick, wieviel heißes Wasser ich noch zur Verfügung habe. Zusätzlich sehe ich noch, mit welcher Temperatur der Puffer geladen wird. In der untersten Zeile die Rücklauftemperatur bis zur Rücklaufanhebung und der dann beim Kamin ankommende angehobene Rücklauf.

Aufgemerkt: die Puffer-Messwerte kommen nicht aus der API sondern von eigenständigen Messfühlern (DS18B20) welche mit Pin 7 (bzw. GPIO #4)  meines Raspberry Pi verdrahtet sind und über den entsprechenden Node-Red Node "Sensor-ds18b20" ausgelesen werden. Ich empfehle zum Abgreifen von Temperaturen an Rohrleitungen "Anlegefühler" zur besseren Wärmeübertragung zu verwenden. Gibts z.B. bei sensorshop24.de 
Leider liefert meine API außer WW Temperatur (oben) und WW Solar (unten) keine Werte für den Pufferspeicher obwohl im Puffer vier Viessmann Sensoren gesteckt sind. Ich habe deshalb in die vier vorhandenen Bohrungen des Puffers nochmal je einen DS18B20 gesteckt. Funktioniert astrein mit nur leichten Unterschieden im Messergebnis.

Viele von den hier gezeigten Methoden könnte man auch über CSS Funktionen realisieren. Html und alles was dazu gehört, liegt mir aber nicht besonders, weshalb ich lieber den "straight forward" Weg gehe und die Attribute direkt in die dafür vorgesehenen Felder eintrage.

Trotzdem hier noch ein Link zum Einstieg mit CSS in Node-Red (englisch): Link

Ein Gedanke zu „Viessmann API und Node-Red - Teil 5 - Dashboard Tipps

  1. Vielen Dank, für deine Seite. Das mit der seriellen Schnittstelle beim booten hab ich befürchtet. Leider hab ich nicht mehr so viel Zeit zu basteln. Es hilf einen sehr wenn es solche Seiten, wie deine gibt. Mein Smart Home lauf mit 5 Raspberrys und alles über Node-Red. Leider gibt es noch einige Provisorien die noch verschwinden müssen. Dafür stabil und ohne Cloud. Ein Traum wäre es noch, die Iskamatic Baugruppenfunktionen aus der Kraftwerkstechnik als Node Bausteine zu programmieren.

    Viele Grüsse

    Torsten

Schreibe einen Kommentar

Ich freue mich über Lob und Kritik.
Falls du Probleme mit der hier vorgestellten Anleitung hast und nicht weiter kommst:
Bitte das Problem oder die Fehlermeldung(en) möglichst genau beschreiben, auch an welcher Stelle (z.B. in welchem Node oder Befehl) und unter welchen Umständen der Fehler auftritt.
Gerne kannst du mir auch ein Mail schreiben. Die Adresse findest du im Impressum.
Ich gebe mir viel Mühe, meinen Lesern weiterzuhelfen. Je konkreter du bist, desto einfacher und schneller kann ich versuchen zu helfen.
Deine E-Mail-Adresse wird nicht veröffentlicht.
Erforderliche Felder sind mit * markiert