FHT80b Programm Anzeigen: Unterschied zwischen den Versionen
Dron72 (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
(Anpassung von <source>-Tags nach <syntaxhighlight>) |
||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Um eine Übersicht darüber zu bekommen, welche Schaltzeiten für "Tagestemperatur" und "Nachttemperatur" für die gesamte Woche in einem FHT80b hinterlegt sind, kann man zwar in die einzelnen Readings des Devices schauen - dies ist aber recht unübersichtlich. | Um eine Übersicht darüber zu bekommen, welche Schaltzeiten für "Tagestemperatur" und "Nachttemperatur" für die gesamte Woche in einem [[FHT80b]] hinterlegt sind, kann man zwar in die einzelnen Readings des Devices schauen - dies ist aber recht unübersichtlich. | ||
Als Lösung gibts daher zwei Funktionen, mit denen man sich die Programme etwas übersichtlicher darstellen kann. | Als Lösung gibts daher zwei Funktionen, mit denen man sich die Programme etwas übersichtlicher darstellen kann. | ||
Zeile 10: | Zeile 10: | ||
Die FHTs müssen im FHEM bekannt sein. | Die FHTs müssen im FHEM bekannt sein. | ||
Die Programme der FHTs müssen in den Readings stehen. Falls nicht per Report1 255 abfragen... | Die Programme der FHTs müssen in den Readings stehen. Falls nicht per Report1 255 abfragen... | ||
== Das Ergebnis sieht dann zum Beispiel so aus == | == Das Ergebnis sieht dann zum Beispiel so aus == | ||
Zeile 49: | Zeile 48: | ||
sat: Tag (21.0°): 09:00-19:40 und 24:00-24:00, sonst Nacht (17.0°) | sat: Tag (21.0°): 09:00-19:40 und 24:00-24:00, sonst Nacht (17.0°) | ||
sun: Tag (21.0°): 09:00-23:00 und 24:00-24:00, sonst Nacht (17.0°)</nowiki> | sun: Tag (21.0°): 09:00-23:00 und 24:00-24:00, sonst Nacht (17.0°)</nowiki> | ||
== Und hier noch der Code == | == Und hier noch der Code == | ||
Dieser Code muss in die 99_myUtils.pm | Dieser Code muss in die [[99 myUtils anlegen|99_myUtils.pm]]: | ||
<syntaxhighlight lang="perl">#Programm für ein Device abfragen | |||
sub FHTProgramm($) { | sub FHTProgramm($) { | ||
my($fht) = @_; | my($fht) = @_; | ||
Zeile 76: | Zeile 77: | ||
} | } | ||
return $resultstring; | return $resultstring; | ||
}</ | }</syntaxhighlight> | ||
[[Kategorie:Code Snippets]] | [[Kategorie:Code Snippets]] | ||
[[Kategorie:FHT Components]] | [[Kategorie:FHT Components]] | ||
--[[Benutzer:Dron72|Dron72]] ([[Benutzer Diskussion:Dron72|Diskussion]]) 20:37, 23. Feb. 2016 (CET) | --[[Benutzer:Dron72|Dron72]] ([[Benutzer Diskussion:Dron72|Diskussion]]) 20:37, 23. Feb. 2016 (CET) |
Aktuelle Version vom 26. Juli 2017, 18:57 Uhr
Um eine Übersicht darüber zu bekommen, welche Schaltzeiten für "Tagestemperatur" und "Nachttemperatur" für die gesamte Woche in einem FHT80b hinterlegt sind, kann man zwar in die einzelnen Readings des Devices schauen - dies ist aber recht unübersichtlich.
Als Lösung gibts daher zwei Funktionen, mit denen man sich die Programme etwas übersichtlicher darstellen kann.
{FHTProgramm("NAME.DES.FHT.DEVICES")} -> zeigt das Programm eines Devices {FHTProgramme} -> zeigt die Programme aller FHTs
"NAME.DES.FHT.DEVICES" muss natürlich durch den Namen eines eigenen Devices ersetzt werden...
Voraussetzungen
Die FHTs müssen im FHEM bekannt sein. Die Programme der FHTs müssen in den Readings stehen. Falls nicht per Report1 255 abfragen...
Das Ergebnis sieht dann zum Beispiel so aus
Alle Programme: Heizungsprogramm für HZ.EG.Bad mon: Tag (21.0°): 06:00-19:00 und 24:00-24:00, sonst Nacht (18.0°) tue: Tag (21.0°): 06:00-19:00 und 24:00-24:00, sonst Nacht (18.0°) wed: Tag (21.0°): 06:00-19:00 und 24:00-24:00, sonst Nacht (18.0°) thu: Tag (21.0°): 06:00-19:00 und 24:00-24:00, sonst Nacht (18.0°) fri: Tag (21.0°): 06:00-19:00 und 24:00-24:00, sonst Nacht (18.0°) sat: Tag (21.0°): 08:00-19:30 und 24:00-24:00, sonst Nacht (18.0°) sun: Tag (21.0°): 08:00-19:30 und 24:00-24:00, sonst Nacht (18.0°) Heizungsprogramm für HZ.EG.Flur mon: Tag (19.0°): 06:00-23:00 und 24:00-24:00, sonst Nacht (16.5°) tue: Tag (19.0°): 06:00-23:00 und 24:00-24:00, sonst Nacht (16.5°) wed: Tag (19.0°): 06:00-23:00 und 24:00-24:00, sonst Nacht (16.5°) thu: Tag (19.0°): 06:00-23:00 und 24:00-24:00, sonst Nacht (16.5°) fri: Tag (19.0°): 06:00-23:00 und 24:00-24:00, sonst Nacht (16.5°) sat: Tag (19.0°): 06:00-23:00 und 24:00-24:00, sonst Nacht (16.5°) sun: Tag (19.0°): 06:00-23:00 und 24:00-24:00, sonst Nacht (16.5°) Heizungsprogramm für HZ.EG.Kueche mon: Tag (19.5°): 07:30-22:30 und 24:00-24:00, sonst Nacht (16.0°) tue: Tag (19.5°): 07:30-22:30 und 24:00-24:00, sonst Nacht (16.0°) wed: Tag (19.5°): 07:30-22:30 und 24:00-24:00, sonst Nacht (16.0°) thu: Tag (19.5°): 07:30-22:30 und 24:00-24:00, sonst Nacht (16.0°) fri: Tag (19.5°): 07:30-22:30 und 24:00-24:00, sonst Nacht (16.0°) sat: Tag (19.5°): 07:30-22:30 und 24:00-24:00, sonst Nacht (16.0°) sun: Tag (19.5°): 07:30-22:30 und 24:00-24:00, sonst Nacht (16.0°) Heizungsprogramm für HZ.EG.Spielzimmer mon: Tag (21.0°): 09:00-23:00 und 24:00-24:00, sonst Nacht (17.0°) tue: Tag (21.0°): 09:00-23:00 und 24:00-24:00, sonst Nacht (17.0°) wed: Tag (21.0°): 09:00-23:00 und 24:00-24:00, sonst Nacht (17.0°) thu: Tag (21.0°): 09:00-23:00 und 24:00-24:00, sonst Nacht (17.0°) fri: Tag (21.0°): 09:00-23:00 und 24:00-24:00, sonst Nacht (17.0°) sat: Tag (21.0°): 09:00-19:40 und 24:00-24:00, sonst Nacht (17.0°) sun: Tag (21.0°): 09:00-23:00 und 24:00-24:00, sonst Nacht (17.0°)
Und hier noch der Code
Dieser Code muss in die 99_myUtils.pm:
#Programm für ein Device abfragen
sub FHTProgramm($) {
my($fht) = @_;
my $daytemp = ReadingsVal($fht,"day-temp","???");
my $nighttemp = ReadingsVal($fht,"night-temp","???");
my @wdays = qw(mon tue wed thu fri sat sun);
my $resultstring='Heizungsprogramm für ' . $fht . "\n";
foreach(@wdays){
my $f1 = ReadingsVal($fht,$_ . "-from1","???");
my $f2 = ReadingsVal($fht,$_ . "-from2","???");
my $t1 = ReadingsVal($fht,$_ . "-to1","???");
my $t2 = ReadingsVal($fht,$_ . "-to2","???");
$resultstring .= $_ . ": Tag ($daytemp°): " . $f1 . "-" . $t1 . " und " . $f2 . "-" . $t2 . ", sonst Nacht ($nighttemp°)\n"
}
return $resultstring . "\n";
}
#Programm für alle FHTs abfragen und ausgeben
sub FHTProgramme(){
my @fhts = devspec2array("TYPE=FHT");
my $resultstring="Alle Programme: \n";
foreach(@fhts){
$resultstring .= FHTProgramm($_);
}
return $resultstring;
}
--Dron72 (Diskussion) 20:37, 23. Feb. 2016 (CET)