Hauptmenü

neue svg-Funktion: hcard

Begonnen von Damian, 13 September 2026, 20:07:19

Vorheriges Thema - Nächstes Thema

Damian

Da die Parameterliste der card-Funktion recht lang und dadurch unhandlich ist, habe ich eine neue Funktion namens hcard (h wie hash) programmiert.

Diese ist kompatibel zu der bisherigen, allerdings erhält sie nur einen Hash-Parameter. Dadurch ist der Aufruf der Funktion benutzerfreundlicher, weil man unnötige Angaben weglassen kann und die angegebenen erhalten einen Schlüssel-Namen. Die Reihenfolge der Angaben ist im Gegensatz zu Parametern unerheblich.

Die Schlüsselbezeichnungen des Hashes entsprechen weitgehend den bisherigen Bezeichnungen der Parameter und werden im Wiki einzeln beschrieben.

So sieht die Definition für einen CO2-Sensor:

hcard({collect=>[MQTT2_DVES_D90D08:MHZ19B_CarbonDioxide:col1d],
       min=>400,max=>1200,
       decimalPlaces=>0,
       icon=>"air",
       yScaling=>"fixedscaling",
       colorRef=>[(600,120,1000,60,1200,0)],
       rInnerRing=>"innerring"})

Da es sich um Perl-Syntax handelt, musste kein neuer Parser gebaut werden und die Aufrufe sind genauso performant wie bei card.


Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Damian

Mit einem weiteren Schlüssel z.B. "model" könnte man typische Werte für bestimmte Sensoren vordefinierten, die man einzeln übersteuern könnte. Dann würde man mit folgendem Aufruf bereits auskommen:

hcard({collect=>[MQTT2_DVES_D90D08:MHZ19B_CarbonDioxide:col1d],model=>"co2"})
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF