-
-
Notifications
You must be signed in to change notification settings - Fork 195
Open
Labels
🐛 bug-reportSomething isn't workingSomething isn't working🏷️ ReGaHssThis refs the ReGaHss componentThis refs the ReGaHss component
Milestone
Description
Describe the issue you are experiencing
Wird die Methode .State() mit 2. Parameter für die Verzögerungszeit aufgerufen, dann wird die ID und der Wert des Programm-Triggers in den betreffenden Conditions der einzenen Regeln des Programmes nicht auf 65535 gesetzt.
Gleiches gilt für den Aufruf des Programmes mittels .ProgramExecute().
Describe the behavior you expected
Erwartet würde, dass die ID und der Wert entprechend dem Aufruf mit der Methode .State() ohne 2. Parameter in den geprüften Conditions auf 65535 gesetzt wird.
Steps to reproduce the issue
- Programm mit dem Skriptbefehl ```c++
dom.GetObject("PRG_Test")).State(1,1000);
2. Conditions mttels Skript prüfen: ```c++
WriteLine("Start");
WriteLine(dom.BuildLabel());
object lPrgObjList;
object lPrgObj;
integer lProgramsCount = 0;
string lPrgEnum;
object lRuleObjCurrent;
integer lConditionsCount = 0;
idarray lCondObjList;
object lCondObj;
string lCondEnum;
object lDestObj;
idarray lSingleCondObjList;
object lSingleCondObj;
integer lSingleConditionsCount = 0;
string lSingleCondEnum;
idarray lSingleDestObjList;
object lSingleDestObj;
integer lSingleDestinationsCount = 0;
string lSingleDestEnum;
integer lTriggerID;
string lTriggerObj;
string lTriggerValue;
var lState;
time lProgramLastExecuteTime;
lPrgObjList = dom.GetObject(ID_PROGRAMS);
if(lPrgObjList)
{
lProgramsCount = lPrgObjList.Count();
foreach(lPrgEnum,system.GenerateEnum(0,lProgramsCount - 1))
{
lPrgObj = lPrgObjList.GetAt(system.ToInt(lPrgEnum));
if((lPrgObj) && (lPrgObj.Type() == OT_PROGRAM))
{
WriteLine("Programm: " # lPrgObj);
lProgramLastExecuteTime = lPrgObj.ProgramLastExecuteTime();
!WriteLine("letzte Ausführung: " # lProgramLastExecuteTime # " / " # lProgramLastExecuteTime.Day());
WriteLine(" letzte Ausführung: " # lProgramLastExecuteTime);
lState = lPrgObj.State();
WriteLine(" State: " # lState # " / " # lState.Type());
lRuleObjCurrent = lPrgObj.Rule();
while(lRuleObjCurrent)
{
lState = lRuleObjCurrent.State();
WriteLine(" Regel: " # lRuleObjCurrent.ID() # " = " # lState # " / " # lState.Type());
lCondObjList = lRuleObjCurrent.RuleConditions();
if(lCondObjList)
{
lConditionsCount = lCondObjList.Count();
WriteLine(" lConditionsCount -> " # lConditionsCount);
foreach(lCondEnum,system.GenerateEnum(0,lConditionsCount - 1))
{
lCondObj = lCondObjList.GetAt(system.ToInt(lCondEnum));
if(lCondObj)
{
lState = lCondObj.State();
WriteLine(" Condition: " # lCondObj.ID() # " = " # lState # " / " # lState.Type());
lTriggerID = lCondObj.DestinationObject();
lTriggerValue = lCondObj.DestinationValue();
WriteLine(" Trigger-ID: " # lTriggerID);
if(lTriggerID <> ID_ERROR)
{
lTriggerObj = dom.GetObject(lTriggerID);
if(lTriggerObj)
{
WriteLine(" -> Trigger-Objekt: " # lTriggerObj.TypeName() # " / " # lTriggerObj.Name());
}
else
{
WriteLine(" -> Objekt mit der Trigger-ID " # lTriggerID # " nicht gefunden");
}
}
else
{
WriteLine(" -> kein Trigger-Objekt hinterlegt");
}
WriteLine(" Trigger-Value: " # lTriggerValue);
WriteLine(" Trigger-Value-Type: " # lTriggerValue.Type());
WriteLine(" Trigger-Value-VarType: " # lTriggerValue.VarType());
}
}
}
else
{
WriteLine("-> keine Condition-Liste");
}
lRuleObjCurrent = lRuleObjCurrent.RuleSubRule();
}
}
WriteLine("--------------------");
}
}
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, ARM64/aarch64)
Which HomeMatic/homematicIP radio module are you using?
n/a
Anything in the logs that might be useful for us?
bestehend seit:
ab ReGaHss-Version R1.00.0388.0223
Additional information
No response
Metadata
Metadata
Assignees
Labels
🐛 bug-reportSomething isn't workingSomething isn't working🏷️ ReGaHssThis refs the ReGaHss componentThis refs the ReGaHss component
Projects
Status
To Do