Hallo Olaf
Bin gerade dran, das Interval in die Attribute zu übernehmen, und auch die per Interval zu holenden Werte per Attribut modifizierbar zu machen.
OK, dann lege ich mich diesbezueglich erstmal zurueck. Man muss ja auch mal Anderen den Vortritt lassen...

In den Zeilen 263 bis 271 hatte ich ja schon einen zarten Versuch gemacht, aber irgendwie kommt das Attribut nicht rein
Denn: den ganzen Quatsch brauchen wir nicht regelmäßig abfragen. Das meiste ist statisch und nur einmal interessante.
Es gibt ne handvoll Werte, die regelmäßig spannend sind.
Damit das aber jeder selbst entscheiden kann, baue ich die in die Attribute.
FULL ACK"
Genau das war auch der Grund fuer die unterschiedlichen Subroutinen "km200_CompleteData" und "km200_CompleteDataInit"

km200_CompleteDataInit soll am Anfang alle bekannten Services versuchen und dann zwei Tabellen (HASH oder ARRAY) anlegen:
a) Alle Services die lesbar sind.
b) Alle Services die darueberhinaus auch schreibar sind.
Eine Tabelle ist bekannt:
c) Alle Services die statische Werte liefern und nicht in der Intervallschleife erneut geprueft werden muessen.
Ich habe also die Idee aus den Tabellen a) und c) zwei neue Tabellen zu generieren:
d) Vorhandene statische Werte: a){n} && c){n}.
e) Vorhandene dynamische Werte a) - (a){n} && c){n}). Soll heissen: Alle vorhandenen Werte minus vorhandene statische Werte = vorhandene dynamische Werte.
Und dann werden nur Tabelle
d) im Rahmen des Intervalls fuer statische Werte abgefragt
attr myKM200 statValInterval 600
e) im Rahmen des Intervalls fuer dynamische Werte abgefragt
attr myKM200 dynValInterval 60
So weit meine Idee. An der Umsetzung hapert es wie du an den Kommentarzeilen in der "km200_CompleteDataInit" sehen kannst.
Der Hintergrund ist, dass ich in PERL nicht ganz so bewandert bin und ich an dieser Stelle wirklich die Hilfe eines PERL-Experten brauche, der sich mit HASHs auskennt.
In den Zeilen 823 bis 831 hate ich die Idee dem globalen HASH alle vorhandenen Werte mit allen individuellen keys anzuhaengen.
Sozusagen ein HASH im HASH...
Es eruebrigt sich wohl zu sagen, dass ich nicht einmal eine Ahnung habe, ob die Werte ueberhaupt reingekommen sind, da ich sie nicht auslesen kann.
Wenn du diesbezuglich eine Idee hast... Dann bitte her damit! Ich bin diesbezueglich scheinbar in eine Sackgasse geraten.
Mein Vorschlag: Lass uns erstmal das Problem mit dem Einlesen der Attribute loesen. Das wuerde mich schon ein Stueck weiterbringen.
Dann koennte ich mich schon mal an die von fhem geforderte Subroutine "km200_Attr" machen.
Gib mir die entsprechenden CodeZeilen und ich werde sie in meine Version einfuegen. Wohlkommentiert und formatiert versteht sich!

Gruss
Sailor