RaspberryMatic icon indicating copy to clipboard operation
RaspberryMatic copied to clipboard

ReGaHSS: Objekte vom Typ OT_ENUM -> etUserPages sind nicht aufrufbar und nicht löschbar.

Open BadenPower opened this issue 1 year ago • 0 comments

Describe the issue you are experiencing

Alle Objekte des Objektyps OT_ENUM mit dem Aufzählungstyp etUserPages (23) können weder gelöscht noch aufgerufen werden. Dies trifft auch auf dias in der ReGaDom-Datei gespeicherte Objekt mit der Id 8 (ID_USERPAGES) zu. Daher kann auch kein Objekt mit der Id 8 erzeugt werden. Ist ein neu erstelltes Objekt vom Objekttyp OT_ENUM noch in einer Skriptvariable referenziert, dann kann der Aufzählungstyp auf einen Wert ungleich 23 (etUserPages ) gesetzt werden, um das Objekt zu löschen. Nicht gelöschte Objekte des Objektyps OT_ENUM mit dem Aufzählungstyp etUserPages (23) bleiben in der ReGaDom-Struktur als Geisterobjekte zurück. Die hierbei vergebenen Ids werden von der ReGaHss wie normale Ids behandelt, was auch ausschlaggebend für die automatische Vergabe von Ids bei der Neuanlage weiterer Objekte ist. Für das Aufspüren und zur Beseitigung dieser Geisterobjekte gibt es keine Möglichkeit dies über ReGaHss-Methoden zu realisieren. Es bleibt nur der Weg über die händische oder automatisierte Manipulation der ReGaDom-Datei.

Describe the behavior you expected

Das in der ReGaDom-Datei hinterlegte Objekt mit der ID 8 sollte aufgerufen werden können, muss jedoch nicht zwingend löschbar sein, da es sich um ein "System-Objekt" handelt.

Alle anderen Objekte vom Typ OT_ENUM mit dem EnumType 23 (etUserPages) sollten aufrufbar und löschbar sein.

Steps to reproduce the issue

Ausführung des folgenden Skriptes unter "Skript testen":

WriteLine("Start");
WriteLine(dom.BuildLabel());

object lObj;
integer lObjId;
object lObjCopy;
object lObjGet1;
object lObjGet2;
lObj = dom.CreateObject(OT_ENUM,"UserPages");
WriteLine(lObj);

if(lObj)
{
  WriteLine("--------------------------------------------------");
  lObjId = lObj.ID();
  WriteLine(lObj.ID());
  WriteLine(lObj.EnumType());
  WriteLine("--------------------------------------------------");
  WriteLine(lObj.EnumType(etUserPages));
  WriteLine(lObj.EnumType());
  lObjGet1 = dom.GetObject(lObjId);
  WriteLine(lObjGet1);
  lObjCopy = lObj;
  WriteLine(lObjCopy);
  WriteLine(dom.DeleteObject(lObjId));
  WriteLine("--------------------------------------------------");
  WriteLine(lObj.EnumType(etUnknown));
  WriteLine(lObj.EnumType());
  lObjGet2 = dom.GetObject(lObjId);
  WriteLine(lObjGet2);
  lObjCopy = lObj;
  WriteLine(lObjCopy);
  WriteLine(dom.DeleteObject(lObjId));
  WriteLine("--------------------------------------------------");
}

lObj = dom.GetObject(ID_USERPAGES);
WriteLine(lObj);

WriteLine("Ende");

What is the version this bug report is based on?

CCU3 mit ReGaHSS-Version R1.00.0388.0235

Which base platform are you running?

rpi3 (RaspberryPi3)

Which HomeMatic/homematicIP radio module are you using?

n/a

Anything in the logs that might be useful for us?

bestehend seit:
unbekannt (bereits mit ReGaHss-Version R1.00.0388.0102)

Additional information

Ausgabe mit ReGaHss-Verion R1.00.0388.0235:

Start
R1.00.0388.0235
UserPages
--------------------------------------------------
4025
0
--------------------------------------------------
true
23
null
UserPages
false
--------------------------------------------------
true
0
UserPages
UserPages
true
--------------------------------------------------
null
Ende

BadenPower avatar Feb 03 '24 21:02 BadenPower