Warte("XX:XX:XX") funktioniert nicht immer

Programmierung der HomeMatic CCU mittels contronics homeputer CL

Moderator: Co-Administratoren

Antworten
RalfNeier
Beiträge: 48
Registriert: 21.05.2009, 09:39
Wohnort: Essen
Danksagung erhalten: 1 Mal

Warte("XX:XX:XX") funktioniert nicht immer

Beitrag von RalfNeier » 15.08.2009, 09:16

Hallo,
kann mir einer sagen, warum folgendes Makro nicht funktioniert!
(Es hat die ganze Zeit funktioniert, plötzlich nicht mehr)

wenn Fernbed4_4 eingeschaltet dann
Rollo_Flur_Oben runterfahren
warte("00:00:05")
Rollo_Treppenhaus_Oben runterfahren
warte("00:00:05")
Rollo_SZ runterfahren
warte("00:00:05")
Rollo_WZO runterfahren
endewenn


Es fährt nach betätigen von Fernbed4_4 nur Rollo_Flur_Oben runter.
Alles was nach warten kommt wirt nicht mehr ausgeführt.
Setze ich warten noch vor die „wenn“ - Anweisung geht nichts.

In einem andern Makro funktioniert es :

wenn Alarm_AnAus_Haustuer = "AlarmAn" dann
Alarm_eingeschaltet_FLU einschalten
warte ("00:00:05")
Alarm_eingeschaltet_FLU ausschalten
warte ("00:00:02")
Alarm_eingeschaltet_FLU einschalten
warte ("00:00:02")
Alarm_eingeschaltet_FLU ausschalten
warte ("00:00:02")
Alarm_eingeschaltet_FLU einschalten
warte ("00:00:02")
Alarm_eingeschaltet_FLU ausschalten
warte ("00:00:02")
Alarm_eingeschaltet_FLU einschalten
Alarmanlage einschalten
endewenn


Ich benutze CL-Studio.

Grüße
Ralf

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Warte("XX:XX:XX") funktioniert nicht immer

Beitrag von buempi » 15.08.2009, 09:43

Hallo Ralf

Die beschriebenen Symptome lassen mich folgendes vermuten: Du hast bei der Fernbedienung die Option "Ausführen bei Änderung" angehakt und eine Reset-Zeit von weniger als 5 Sekunden eingestellt. Nimm den Haken raus, und es funktioniert wahrscheinlich wieder.

Wenn du auf die FB drückst, wird das Makro gestartet und die erste Aktion sofort ausgeführt. Dann beginnt das WARTEN(). Nach drei Sekunden erfolgt der Reset. Wegen "Ausführen bei Änderung" startet das Makro neu, aber die FB ist nicht mehr eingeschaltet; die Bedingung also nicht mehr erfüllt...

Meine Annahme widerspricht allerdings der Beschreibung in der Homeputer-Hilfe. Dort heisst es:
Dieses automatische Rücksetzen dient dazu den Normalzustand eines Objektes wieder herzustellen, das Makro des Objekte wird dadurch nicht gestartet.
Vielleicht müsste noch angefügt werden
...falls "Ausführen bei Änderung" nicht aktiviert ist.
Viele Grüsse
Bümpi

PS: Oder du hast bei der Fernbedienung - unnötigerweise - einen Ausführungsinterval <= 5 Sekunden eingestellt. "Ausführen bei Empfang" genügt vollkommen!

RalfNeier
Beiträge: 48
Registriert: 21.05.2009, 09:39
Wohnort: Essen
Danksagung erhalten: 1 Mal

Re: Warte("XX:XX:XX") funktioniert nicht immer

Beitrag von RalfNeier » 15.08.2009, 10:44

Hallo buempi,
es hat ja zuerst funktioniert. Es lief Monatelang einwandfrei.
Erst als ich in ein neues Makro für die Alarmanlage geschrieben habe
und das ganze Programm in die HM übertragen habe
funktionierten die Rollos nicht mehr.
Dort habe ich aber nichts geändert.
"Ausführen bei Änderung" ist nicht angehakt und
die „Reset-Zeit“ ist ohne Eintrag.
Habe aber gerade auch mal 15 eingetragen, aber auch ohne erfolg.

Grüße
Ralf

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Warte("XX:XX:XX") funktioniert nicht immer

Beitrag von buempi » 15.08.2009, 11:00

Hallo Ralf

Aber dann hast du wohl einen Ausführungsintervall, der kleiner oder gleich 5 Sekunden ist, drin? Dieses Feld sollte bei einer Fernbedienung in aller Regel leer gelassen werden.

Wird das Makro z.B. jede Sekunde ausgeführt (neu gestartet), fängt es immer wieder oben an. Die Wartezeit von 5 Sekunden wird nie erreicht.

Viele Grüsse
Bümpi

RalfNeier
Beiträge: 48
Registriert: 21.05.2009, 09:39
Wohnort: Essen
Danksagung erhalten: 1 Mal

Re: Warte("XX:XX:XX") funktioniert nicht immer

Beitrag von RalfNeier » 15.08.2009, 11:27

Hallo buempi,

auch das Feld „Ausführungsintervall ist leer.
Wie schon oben erwähnt, hat es ja alles funktionier,
bis ich das Makro für die Alarmanlage geschrieben habe.
Erst da klappte es mit den Rollos nicht mehr.
Habe aber auch schon das Makro der Alarmanlage gelöscht und alles neu übertragen
und gestartet, aber auch ohne Erfolg.

Habe gerade mal die „Warte-Anweisungen“ in ein anderes Makro kopiert
und eine „Aufrufen(Makro)“ eingefügt. dann funktioniert es.
Nur mich wundert es, dass es vorher funktioniert hat.

Grüße
Ralf

buempi
Ehrenmitglied
Beiträge: 12194
Registriert: 29.07.2006, 15:58
Wohnort: Schweiz
Danksagung erhalten: 5 Mal

Re: Warte("XX:XX:XX") funktioniert nicht immer

Beitrag von buempi » 15.08.2009, 12:17

Hallo Raolf
RalfNeier hat geschrieben:Wie schon oben erwähnt, hat es ja alles funktionier
Nun, ich dachte mir, dass du "so ganz nebenbei" und vielleicht unbeabsichtigt, eine Änderung vorgenommen hast... Das war jedenfalls die naheliegende Erklärung für das Verhalten.

Eine andere, etwas weit hergeholte Erklärung wäre, dass das Makro von einem anderen Makro, welches in kurzen Abständen abläuft, immer wieder gestartet wird. Überprüfe das doch sicherheitshalber mal, indem du das Makro in der Objektliste markierst und dann auf "Bezüge anzeigen" klickst. - Allerdings: Dann würde es ja auch nicht laufen, wenn du die Befehle in ein anderes Makro kopierst, das über AUFRUFEN() gestartet wird. Das würde ja auch jedes Mal wieder von vorne beginnen...

Das Makro mit der Alarmanlage kann nicht die (direkte) Ursache sein. Das steht ja in einem anderen Objekt und spricht weder die Fernbedienung noch die Rollläden an. Da muss beim Kompilieren oder Übertragen irgendwas schiefgelaufen sein.

Hast du die aktuelle Version von Homeputer? Vor längerer Zeit wurde mal irgendwo behauptet, dass WARTE() nicht richtig funktioniere.

Aus meiner Sicht vermute ich hier auch einen Bug im Kompiler von Homeputer, der vielleicht nur in ganz speziellen, zufälligen Konstellationen auftritt. Schick doch deine SPG mal an Contronics. Bis du von dort Antwort hast, kannst du dir ja mit dem AUFRUFEN() behelfen.

Viele Grüsse
Bümpi

RalfNeier
Beiträge: 48
Registriert: 21.05.2009, 09:39
Wohnort: Essen
Danksagung erhalten: 1 Mal

Re: Warte("XX:XX:XX") funktioniert nicht immer

Beitrag von RalfNeier » 15.08.2009, 13:10

Hallo buempi,
ja da war mal ein Problem mit „Warte 5 Sekunden“.
Da funktionierten die Rollos auch nicht.
Das ist so 6 bis 7 Monate her.
Aber dann mit der nächsten Version war der Fehler behoben und
meine Rollos funktionierten.
Zurzeit benutze ich HPInst_157.IMG, und CL_Studio3.0 Rel.90715.
Alles auf dem aktuellen Stand.
Aber das mit dem Auslagern in ein neues Makro werde ich wohl beibehalten.
Bedeutet zwar mehr Makros,
aber ich kann die Routinen dann einfacher ansprechen
und muss sie nicht in jedem Makro neu einfügen.

Grüße
Ralf

Antworten

Zurück zu „homeputer CL“