Programme mit Zeitsteuerung werden nicht mehr ausgeführt
Moderator: Co-Administratoren
Programme mit Zeitsteuerung werden nicht mehr ausgeführt
Hallo zusammen,
ich lasse meine Systemvariablen für die Rolladen zu einer bestimmten Zeit wieder rücksetzen.
Das Programm hat über Jahre ohne Probleme funktioniert.
Seit kurzem wird das Programm nicht mehr ausgeführt.
Mir ist keine Änderung am System bekannt bzw. ich habe nichts geändert.
Ein neues Programm zu erstellen brachte keine Abhilfe.
Neustart von Raspberrymatic half auch nichts.
Die Systemzeit und Datum auf der Weboberfläche stimmen.
Habt ihr Ideen was ich noch versuchen kann?
Aktuelle Firmwareversion: 3.69.7.20230506
ich lasse meine Systemvariablen für die Rolladen zu einer bestimmten Zeit wieder rücksetzen.
Das Programm hat über Jahre ohne Probleme funktioniert.
Seit kurzem wird das Programm nicht mehr ausgeführt.
Mir ist keine Änderung am System bekannt bzw. ich habe nichts geändert.
Ein neues Programm zu erstellen brachte keine Abhilfe.
Neustart von Raspberrymatic half auch nichts.
Die Systemzeit und Datum auf der Weboberfläche stimmen.
Habt ihr Ideen was ich noch versuchen kann?
Aktuelle Firmwareversion: 3.69.7.20230506
-
- Beiträge: 9656
- Registriert: 27.04.2020, 10:34
- System: CCU
- Hat sich bedankt: 697 Mal
- Danksagung erhalten: 1617 Mal
Re: Programme mit Zeitsteuerung werden nicht mehr ausgeführt
Ich würde die Firmware nochmal neu aufspielen
LG, Michael.
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Wenn du eine App zur Bedienung brauchst, dann hast du kein Smarthome.
Wettervorhersage über AccuWeather oder OpenWeatherMap+++ Rollladensteuerung 2.0 +++ JSON-API-Ausgaben auswerten +++ undokumentierte Skript-Befehle und Debugging-Tipps +++
Re: Programme mit Zeitsteuerung werden nicht mehr ausgeführt
Danke, das hat geholfen.
Schönen Gruß
Tom
Schönen Gruß
Tom
-
- Beiträge: 336
- Registriert: 05.10.2020, 18:37
- System: CCU
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 25 Mal
Re: Programme mit Zeitsteuerung werden nicht mehr ausgeführt
Hi
Thomas
klassische Info wo nicht stimmt.
System ist doch geändert 2023 nach dem 6. Mai
Thomas
Wenn du keine App zur Bedienung brauchst, dann hast du kein Smarthome, sondern nur eine angefangene Baustelle, oder nur ein unsmartes Autohome.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
- Black
- Beiträge: 5472
- Registriert: 12.09.2015, 22:31
- System: Alternative CCU (auf Basis OCCU)
- Wohnort: Wegberg
- Hat sich bedankt: 419 Mal
- Danksagung erhalten: 1071 Mal
- Kontaktdaten:
Re: Programme mit Zeitsteuerung werden nicht mehr ausgeführt
Hin und wieder scheint die Rega schon mal aus irgendwelchen Gründen Teile von Ihren Aufzählungen zu vergessen.
s.A. Rega "vergass" bei ihrer HmIP Systemtasten Teile der Aufzählung, wodurch die Tasten dann in WebUi programmen (ohne Tricksereien) nicht mehr zugänglich waren.
Wenn bei einem Programm auf einmal die Zeitsteuerung nicht mehr will, kann man folgendes überprüfen: (ein passendes Tool ist dabei hilfreich)
Ist das Programm aktiviert dann muss das in der/den Singleconditions referenzierte Zeitmodul Enable=true sein, bei deaktiviert entsprechend false
bei aktiiert (und nicht gesetztem Ablaufdatum, kann auch kontrolliert werden) muss die Abfrage auf Next den nächsten Auslösezeitpunkt ergeben.
Wenn nicht, isses schlecht
dann mal in die Aufzählung (ID_CALENDARSPS) schauen, das Zeitmodul muss dort eingehangen sein. isses da nicht drin, wirds auch nicht funktionieren.
(den Fehler hatte ich letztens bei einem Kollegen, Zeitmodul wieder eingehängt, RTUpdate und es war wieder funktional)
Die Schritte müssen nicht in jedem Fall helfen, die Rega hat ja gerne mal ein Eigenleben, können aber schon mal Hinweis sein, wenn etwas klemmt.
Black
Diese Test und überprüf Funktion wird in der V5 auch drin sein.
s.A. Rega "vergass" bei ihrer HmIP Systemtasten Teile der Aufzählung, wodurch die Tasten dann in WebUi programmen (ohne Tricksereien) nicht mehr zugänglich waren.
Wenn bei einem Programm auf einmal die Zeitsteuerung nicht mehr will, kann man folgendes überprüfen: (ein passendes Tool ist dabei hilfreich)
Ist das Programm aktiviert dann muss das in der/den Singleconditions referenzierte Zeitmodul Enable=true sein, bei deaktiviert entsprechend false
bei aktiiert (und nicht gesetztem Ablaufdatum, kann auch kontrolliert werden) muss die Abfrage auf Next den nächsten Auslösezeitpunkt ergeben.
Wenn nicht, isses schlecht
dann mal in die Aufzählung (ID_CALENDARSPS) schauen, das Zeitmodul muss dort eingehangen sein. isses da nicht drin, wirds auch nicht funktionieren.
(den Fehler hatte ich letztens bei einem Kollegen, Zeitmodul wieder eingehängt, RTUpdate und es war wieder funktional)
Die Schritte müssen nicht in jedem Fall helfen, die Rega hat ja gerne mal ein Eigenleben, können aber schon mal Hinweis sein, wenn etwas klemmt.
Black
Diese Test und überprüf Funktion wird in der V5 auch drin sein.
Wenn das Fernsehprogramm immer mehr durch nervende Werbung unterbrochen wird und der Radiomoderator nur noch Müll erzählt, ist es besser, die Zeit für sinnvolle Dinge zu nutzen -
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
mal aufs Klo zu gehen, ein Bier zu holen oder einfach mal den roten AUS-Knopf zu drücken. Klick - und weg
Script Time Scheduler V1.3
AstroSteuerung über Zeitmodul flexibel mit Offset / spätestens, frühestens
SDV 5.03.01 Das umfassende Entwicklungs und Diagnosetool für Homematik
Selektive Backups - Nützliche Dinge, die die WebUI nicht kann
Intel NUC6 Celeron 16GB mit 512GB SSD unter Proxxmox mit insgesamt 5 VM: 2 x bloatwarebefreiter Raspberrymatik, 2 x IOBroker als Middleware und einer MariaDB zur Archivierung. Verbrauch: 6W
technical contribution against annoying advertising
-
- Beiträge: 336
- Registriert: 05.10.2020, 18:37
- System: CCU
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 25 Mal
Re: Programme mit Zeitsteuerung werden nicht mehr ausgeführt
Hi
Is in den HM-Internals wo ich sie kenne schon immer drin.
hier mal nen outdated Prüfcode
mit freundlicher Genehmigung vom badenpower
Thomas
So nen Tool is nicht verkehrt.
Is in den HM-Internals wo ich sie kenne schon immer drin.
hier mal nen outdated Prüfcode
Code: Alles auswählen
!Copyright Nov.2017 by BadenPower
integer lScanIDLast = ID_ERROR - 1;
integer lScanIDStart = 1;
integer lScanWhileCount2 = 1;
integer lScanWhileCount1 = 1;
boolean lScanDoWhileLoop = true;
integer lScanIDCurrent = 1;
object lObj;
object lCheckObj;
object lObjCalendarDps = dom.GetObject(ID_CALENDARDPS);
object lObjPrograms = dom.GetObject(ID_PROGRAMS);
time lZeroTime = @1970-01-01 01:00:00@;
string lEnum1;
integer lCalendarDpCount = 0;
integer lFaultCount = 0;
integer lWarnCount = 0;
integer lInfoCount = 0;
boolean lDoWriteProgramName = false;
time lTimeStart = localtime;
time lTimeEnd;
WriteLine("Zeitmodulprüfung:");
WriteLine("gestartet: " # lTimeStart.Format("%d.%m.%Y %H:%M:%S"));
WriteLine("ReGaHss-Version: " # dom.BuildLabel());
WriteLine("");
if(!lObjCalendarDps)
{
lFaultCount = lFaultCount + 1;
WriteLine("Fehler: Es existiert kein Standard-Zeitmodullisten-Objekt. [" # ID_CALENDARDPS # "]");
}
if(!lObjPrograms)
{
lFaultCount = lFaultCount + 1;
WriteLine("Fehler: Es existiert kein Standard-Programmlisten-Objekt. [" # ID_PROGRAMS # "]");
}
while((lScanIDLast >= lScanIDCurrent) && (lScanWhileCount1 <= 5000) && (lScanDoWhileLoop))
{
lScanWhileCount2 = 1;
while((lScanIDLast >= lScanIDCurrent) && (lScanWhileCount2 <= 5000) && (lScanDoWhileLoop))
{
lObj = dom.GetObject(lScanIDCurrent);
if(lObj)
{
if(lObj.Type() == OT_CALENDARDP)
{
lCalendarDpCount = lCalendarDpCount + 1;
lDoWriteProgramName = false;
if(lObjCalendarDps)
{
lCheckObj = lObjCalendarDps.Get(lObj.ID());
if(!lCheckObj)
{
lFaultCount = lFaultCount + 1;
lDoWriteProgramName = true;
WriteLine("Fehler: Das Zeitmodul mit der ID " # lObj.ID() # " ist nicht in der Liste der Zeitmodule enthalten.");
}
}
if(lZeroTime <> lObj.End())
{
if(localtime > lObj.End())
{
lInfoCount = lInfoCount + 1;
lDoWriteProgramName = true;
WriteLine("Info: Das Zeitmodul mit der ID " # lObj.ID() # " hat den Endzeitpunkt der Ausführung erreicht. [" # lObj.End() # "]");
}
}
if(lObj.CalRepetitionCount() <> 0)
{
lDoWriteProgramName = true;
if(lObj.CalRepetitionValue() < lObj.CalRepetitionCount())
{
lInfoCount = lInfoCount + 1;
WriteLine("Info: Das Zeitmodul mit der ID " # lObj.ID() # " wird noch " # (lObj.CalRepetitionCount() - lObj.CalRepetitionValue()).ToString(0) # " mal ausgeführt.");
}
else
{
lInfoCount = lInfoCount + 1;
WriteLine("Info: Das Zeitmodul mit der ID " # lObj.ID() # " hat die maximale Anzahl der Ausführung erreicht. [" # lObj.CalRepetitionValue() # "]");
}
}
if(lObj.DPUsageCount() == 0)
{
WriteLine("Fehler: Das Zeitmodul mit der ID " # lObj.ID() # " ist keinem Programm zugeordnet.");
}
else
{
if(lObj.DPUsageCount() > 1)
{
lFaultCount = lFaultCount + 1;
WriteLine("Fehler: Das Zeitmodul mit der ID " # lObj.ID() # " ist mehreren Objekten zugeordnet.");
}
foreach(lEnum1,lObj.DPEnumUsagePrograms())
{
lCheckObj = dom.GetObject(lEnum1);
if(lCheckObj)
{
if(lCheckObj.Type() == OT_PROGRAM)
{
if(lDoWriteProgramName)
{
WriteLine("Ergänzung: Das Zeitmodul mit der ID " # lObj.ID() # " ist dem Programm mit der ID " # lCheckObj.ID() # " / " # lCheckObj.Name() # " zugeordnet.");
}
}
else
{
lFaultCount = lFaultCount + 1;
WriteLine("Fehler: Das Zeitmodul mit der ID " # lObj.ID() # " besitzt eine Verwendungszuordnung auf einen ungültigen Objekttyp. [" # lCheckObj.ID() # " / " # lCheckObj.TypeName() # "]");
}
}
else
{
lFaultCount = lFaultCount + 1;
WriteLine("Fehler: Das Zeitmodul mit der ID " # lObj.ID() # " besitzt eine fehlerhafte Verwendungszuordnung. [" # lEnum1 # "]");
}
}
}
}
!OT_SINGLECONDITION
if(lObj.Type() == 3145729)
{
if(lObj.LeftValType() == ivtCurrentDate)
{
if(lObj.RightVal1ValType() == ivtObjectId)
{
lCheckObj = dom.GetObject(lObj.RightVal1());
if(lCheckObj)
{
if(lCheckObj.Type() == OT_CALENDARDP)
{
if(lObj.ConditionType() <> 3)
{
lFaultCount = lFaultCount + 1;
WriteLine("Fehler: Die Einzelbedingung mit der ID " # lObj.ID() # " besitzt einen ungültigen Bedingungstyp. [" # lCheckObj.ID() # " / " # lObj.ConditionType() # "]");
}
}
else
{
lFaultCount = lFaultCount + 1;
WriteLine("Fehler: Die Einzelbedingung mit der ID " # lObj.ID() # " verweist auf einen ungültigen Objekttyp. [" # lCheckObj.ID() # " / " # lCheckObj.TypeName() # "]");
}
}
else
{
lFaultCount = lFaultCount + 1;
WriteLine("Fehler: Die Einzelbedingung mit der ID " # lObj.ID() # " verweist auf ein nicht vorhandenes Objekt. [" # lObj.RightVal1() # "]");
}
}
}
}
}
lScanIDCurrent = lScanIDCurrent + 1;
lScanWhileCount2 = lScanWhileCount2 + 1;
}
lScanWhileCount1 = lScanWhileCount1 + 1;
}
WriteLine("");
WriteLine("Zeitmodule gesamt: " # lCalendarDpCount.ToString(0));
WriteLine("");
if(lFaultCount == 0)
{
WriteLine("Die Prüfung wurde ohne erkennbaren Fehler abgeschlossen.");
}
else
{
if(lFaultCount == 1)
{
WriteLine("Es wurde " # lFaultCount # " Fehler gefunden.");
}
else
{
WriteLine("Es wurden " # lFaultCount # " Fehler gefunden.");
}
}
if(lWarnCount > 0)
{
if(lWarnCount == 1)
{
WriteLine("Es wurde " # lWarnCount # " Warnung ausgegeben.");
}
else
{
WriteLine("Es wurden " # lWarnCount # " Warnungen ausgegeben.");
}
}
if(lInfoCount > 0)
{
if(lInfoCount == 1)
{
WriteLine("Es wurde " # lInfoCount # " Infomeldung ausgegeben.");
}
else
{
WriteLine("Es wurden " # lInfoCount # " Infomeldungen ausgegeben.");
}
}
WriteLine("");
lTimeEnd = localtime;
WriteLine("beendet: " # lTimeEnd.Format("%d.%m.%Y %H:%M:%S"));
WriteLine("Dauer: " # ((lTimeEnd.ToInteger() - lTimeStart.ToInteger()).ToString() # " Sekunden"));
WriteLine("");
WriteLine("----- Vorgang beendet -----");
Thomas
Zuletzt geändert von [sprotte80] am 10.06.2023, 14:03, insgesamt 1-mal geändert.
Wenn du keine App zur Bedienung brauchst, dann hast du kein Smarthome, sondern nur eine angefangene Baustelle, oder nur ein unsmartes Autohome.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
-
- Beiträge: 544
- Registriert: 17.04.2021, 17:12
- System: CCU
- Hat sich bedankt: 27 Mal
- Danksagung erhalten: 123 Mal
Re: Programme mit Zeitsteuerung werden nicht mehr ausgeführt
diese Zeile scheint mir fehlerhaft zu sein:
fehlende schliessende Klammer
und
unvollständiger Vergleichsoperator. (=)
Code: Alles auswählen
while((lScanIDLast >= lScanIDCurrent) && (lScanWhileCount1 = lScanIDCurrent) && (lScanWhileCount2 != lObj.End())
und
unvollständiger Vergleichsoperator. (=)
Gruß
Harry
Harry
-
- Beiträge: 336
- Registriert: 05.10.2020, 18:37
- System: CCU
- Hat sich bedankt: 30 Mal
- Danksagung erhalten: 25 Mal
Re: Programme mit Zeitsteuerung werden nicht mehr ausgeführt
Hi
Da stimmt was nich mit der Config vom Proxy von mir. Der killt kleiner und kleiner/größer Zeichen und dann ganze Zeilen beim Upload.
Code is geändert.
Thomas
Thx Harry
Da stimmt was nich mit der Config vom Proxy von mir. Der killt kleiner und kleiner/größer Zeichen und dann ganze Zeilen beim Upload.
Code is geändert.
Thomas
Wenn du keine App zur Bedienung brauchst, dann hast du kein Smarthome, sondern nur eine angefangene Baustelle, oder nur ein unsmartes Autohome.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.
Homematic-Script - ScriptLexikon für alle
Methoden Konstanten
Hilfe und Infos erwünscht. Alle können mitmachen. Keine Levels. Keine Geheimtuerei.