Hallo,
seit einem der letzten Updates funktioniert das "set - Widgets" nicht mehr korrekt:
Die in %sets hinterlegten keys werden angezeigt, zusätzlich nun aber auch in der Hauptliste die Wertebereiche (Menüs) der einzelnen Eintragungen.
Beispie:
set HzAnlage ? liefert korrekt zurück:
Unknown argument ?, choose one of Anlagenfrostschutz:4, 5, 6, 7, 8, 9, 10 Brenner-Taktsperre:1, 2, 3, 4, 5, 6, 7, 8, 9 Gas-End: Gas-Start: Korrektur-Außenfühler:-4, -3, -2, -1, 0, 1, 2, 3, 4 Schaltdifferenz_VL:-1, 0, 1, 2, 3, 4, 5, 6, 7 Sondernieveau-Heizbetrieb:54, 55, 56, 57, 58, 59, 60, 61, 62 max-Ladezeit:26, 27, 28, 29, 30, 31, 32, 33, 34 max-Leistung-Hz:89.6, 89.7, 89.8, 89.9, 90, 90.1, 90.2, 90.3, 90.4 max-Leistung-WW:89.6, 89.7, 89.8, 89.9, 90, 90.1, 90.2, 90.3, 90.4 max-VL-Soll:52, 53, 54, 55, 56, 57, 58, 59, 60 min-VL-Soll:8, 9, 10, 11, 12 reload:GAS_F,GAS_P,HK1_B,HK1_F,HK1_P,HK2_B,HK2_F,HK2_P,SOL_F,SOL_P unload:GAS_F,GAS_P,HK1_P,HK2_P,SOL_P
Erzeugt wird die Ausgabe mit:
my @cList;
Wcmcom_Update_sets_gets($hash);
foreach my $k (sort keys %sets)
{
my $opts = undef;
$opts = $sets{$k};
if (defined($opts))
{
push(@cList,$k . ':' . $opts);
}
else
{
push (@cList,$k);
}
} # end foreach
return "Unknown argument $rd, choose one of " . join(" ", @cList);
Das set Menü hat aber nun auch folgende Eintragungen:
--4, .. 1, -2, Anlagenfrostschutz...Gas-End..
d.h. die möglichen Werte für Anlagenfrostschutzbzw. aller schreibaren Readings mit Auswahlmenü erscheinen nicht mehr im nnächsten Eingabefeld für den Wert, sondern bereits in der Auswahliste für die Readings.
Der Wertebereich für bspw. Anlagenfrostschutz wird dynamisch berechnet:
if ($HzWerte{$k}{ACCESS} eq 'write')
{
my $vlist = Wcmcom_CalcDefaultsetList($hash,$k);
Log3($name,5,"Wcmcom_Update_sets_sets: $name reading: $k $vlist");
$sets{$k} = $vlist if(defined($vlist));
} # if writeaable
Die Wcmcom_CalcDefaultsetList($hash,$k);
liefert einen String der Form -3,-2,..4 usw zurück, damit für Anlagenfrostschutz ein Auswahlmenü angezeigt wird.
In der Ausgabe von sort keys %sets erscheinen nur die Readings und nicht die Werte.
Wird aus der Liste der Readings "Anlagenfrostschutz" ausgewählt, so erscheint statt dem Wertemenü nur der aktuell eingestellte Wert von "8".
Ich kann in der Programmierung keinen Fehler entdecken, zumal das Ganze bis vor dem letzten Update vor einigen Tagen noch einwandfrei funktionierte.
Gruß
Elektrolurch
-4
Zitat von: Elektrolurch am 08 März 2014, 09:51:51
Ich kann in der Programmierung keinen Fehler entdecken, zumal das Ganze bis vor dem letzten Update vor einigen Tagen noch einwandfrei funktionierte.
Gruß
Elektrolurch
-4
Ich auch nicht, denn das ist so nahezu unlesbar.
Die BB-Codes sind doch nicht so kompliziert oder?
Ups, habe gerade mal deine Signatur gelesen.
Sorry, wenn es daran liegt.