set Listen funktionieren nicht mehr korrekt

Begonnen von Elektrolurch, 08 März 2014, 09:51:51

Vorheriges Thema - Nächstes Thema

Elektrolurch

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
configDB und Windows befreite Zone!

maxritti

#1
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.