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
Warte("XX:XX:XX") funktioniert nicht immer
Moderator: Co-Administratoren
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Warte("XX:XX:XX") funktioniert nicht immer
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:
Bümpi
PS: Oder du hast bei der Fernbedienung - unnötigerweise - einen Ausführungsinterval <= 5 Sekunden eingestellt. "Ausführen bei Empfang" genügt vollkommen!
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:
Vielleicht müsste noch angefügt werdenDieses automatische Rücksetzen dient dazu den Normalzustand eines Objektes wieder herzustellen, das Makro des Objekte wird dadurch nicht gestartet.
Viele Grüsse...falls "Ausführen bei Änderung" nicht aktiviert ist.
Bümpi
PS: Oder du hast bei der Fernbedienung - unnötigerweise - einen Ausführungsinterval <= 5 Sekunden eingestellt. "Ausführen bei Empfang" genügt vollkommen!
Re: Warte("XX:XX:XX") funktioniert nicht immer
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
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
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Warte("XX:XX:XX") funktioniert nicht immer
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
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
Re: Warte("XX:XX:XX") funktioniert nicht immer
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
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
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Warte("XX:XX:XX") funktioniert nicht immer
Hallo Raolf
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
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.RalfNeier hat geschrieben:Wie schon oben erwähnt, hat es ja alles funktionier
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
Re: Warte("XX:XX:XX") funktioniert nicht immer
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
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