erstmal zur Konstellation: Aktuell betriebe ich meine HM - die bereits 10 Jahren in Betrieb ist - auf RaspberryMatic in der Version 3.51.6.20200420
Mir ist bewußt das dies nicht das Unterforum von RM ist, ich denke auch nicht das es daran liegt was ich im folgenden schildern werde.
Bereits seit diversen Version und schon zu Zeiten der CCU2 war mir aufgefallen, dass die alphabetische alphabetische Auflistung der Systemvariablen nicht stimmt. Ich habe dem aber nie große Bedeutung geschenkt, da alles funktionierte.
Jetzt mußte ich feststellen, dass ich bei der aktuellen Beta des Historian 2.4.0 Beta 3 nur eine Bruchteil meiner Systemvariablen abgelegt bekomme. Schnell war durch @Mathias Hilfe (vielen Dank nochmal!) identifiziert, dass dies an der Auflistung der verfügbaren Variablen seitens der CCU/RM und dem von EnumUsedIDs zu EnumIDs zu suchen ist (EnumUsedIDs werden alle Variablen angezeigt).
Teste ich folgenden Code:
Code: Alles auswählen
string id;
integer count;
foreach(id, dom.GetObject(ID_SYSTEM_VARIABLES).EnumIDs()) {
count = count +1;
var sv=dom.GetObject(id);
var vt=sv.ValueType(); var st=sv.ValueSubType();
var outvt="";
if ((vt==ivtBinary) && (st==istBool)) { outvt="BOOL"; }
if ((vt==ivtBinary) && (st==istAlarm)) { outvt="ALARM"; }
if ((vt==ivtInteger) && (st==istEnum)) { outvt="ENUM"; }
if ((vt==ivtFloat) && (st==istGeneric)) { outvt="FLOAT"; }
if ((vt==ivtString) && (st==istChar8859)) { outvt="STRING"; }
if (outvt!="") { WriteLine(id # " " # sv.Name() # " " # sv.ValueMax() # " " # sv.ValueUnit() # " " #
sv.ValueMin() # " " # sv.Operations() # " " # outvt); }
}
WriteLine(id);
WriteLine("Count="+count);
bricht dieser ab der 25ten Variablen ab. Nach Prüfung mußte ich feststellen, dass dies genau der falschen Auflistung der Variablen entspricht.
Hier ein Screen: PoolVorrag ist genau die 25te Variable wo das Script auch aufhört. Ab da geht das Listing wieder von "a" beginnend los. Wenn ich beispielsweise eine neue Variable mit dem Name "aa" anlege wird diese hinter PoolVorrang eingereiht und andere Namen werden richtig ab #26 zwischen den bestehenden eingereiht.
Mir geht es nicht um das Listing auf der Oberfläche, diese ist mir egal, nur werde ich künftig wohl nicht nur mit Historien auf Probleme stoßen.
Ich wäre sehr dankbar wenn mir einer einen Ratschlag geben könnte wie ich das Enum der Variablen bereinigen kann bzw. wo ich hier weiter suchen kann.
Vielen Dank im Voraus
SaHo