Wartezeit bis zur erneuten Makroausführung
Moderator: Co-Administratoren
Wartezeit bis zur erneuten Makroausführung
Hallo
Folgendes Problem:
Ich habe ein Makro in einem Sensor hinterlegt, welches auch korrekt abgearbeitet wird.
Jetzt will ich aber, dass nach einem Durchlauf des Makros dieses innerhalb einer bestimmten Zeit nicht nochmals abgearbeitet wird, falls der Sensor noch Mal aktiviert wird.
Mit Pause geht irgendwie gar nichts. Ich habe auch schon versucht mir einen virtuellen Aktor zu setzen und diesen dann vor Beginn des Makros abzufragen; ähnlich einem Merker wie bei einer SPS. Funktioniert irgendwie nicht. Entweder bleibt das Makro stecken oder läuft trotzdem neu durch.
Ich verzweifel hier gleich. Das ist doch bestimmt ganz einfach möglich.
Help me Gruß Mannilein
Folgendes Problem:
Ich habe ein Makro in einem Sensor hinterlegt, welches auch korrekt abgearbeitet wird.
Jetzt will ich aber, dass nach einem Durchlauf des Makros dieses innerhalb einer bestimmten Zeit nicht nochmals abgearbeitet wird, falls der Sensor noch Mal aktiviert wird.
Mit Pause geht irgendwie gar nichts. Ich habe auch schon versucht mir einen virtuellen Aktor zu setzen und diesen dann vor Beginn des Makros abzufragen; ähnlich einem Merker wie bei einer SPS. Funktioniert irgendwie nicht. Entweder bleibt das Makro stecken oder läuft trotzdem neu durch.
Ich verzweifel hier gleich. Das ist doch bestimmt ganz einfach möglich.
Help me Gruß Mannilein
Kabel ist durch nichts zu ersetzen, ausser durch Kabel!
Wie verhält sich der WAF in der Schwerelosigkeit?
Und warum werden immer noch Toaster ohne USB-Anschluss gebaut?
Wie verhält sich der WAF in der Schwerelosigkeit?
Und warum werden immer noch Toaster ohne USB-Anschluss gebaut?
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Wartezeit bis zur erneuten Makroausführung
Hallo Mannilein
Kein Grund zum Verzweifeln; ist wirklich ganz einfach möglich. Du legst eine Zeitvariable "LetztesMal" an. Ganz am Schluss deines Makros weist du ihr die aktuelle Zeit zu. Und ganz am Anfang setzst du eine Abfrage:
Viele Grüsse
Bümpi
Kein Grund zum Verzweifeln; ist wirklich ganz einfach möglich. Du legst eine Zeitvariable "LetztesMal" an. Ganz am Schluss deines Makros weist du ihr die aktuelle Zeit zu. Und ganz am Anfang setzst du eine Abfrage:
Code: Alles auswählen
** Variable: LetztesMal Typ Zeit
wenn Stoppzeit(LetztesMal) < "00:01:00" dann
verlassen
endewenn
** Deine Anweisungen
LetztesMal := Zeit
Bümpi
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Wartezeit bis zur erneuten Makroausführung
Hallo Mannilein
Hab ganz vergessen, dass du ja mit der Standard-Version arbeitest! Da geht's natürlich nicht, wie oben beschrieben. Ich überlege noch weiter und melde mich wieder, falls mir eine Idee kommt.
Viele Grüsse
Bümpi
Hab ganz vergessen, dass du ja mit der Standard-Version arbeitest! Da geht's natürlich nicht, wie oben beschrieben. Ich überlege noch weiter und melde mich wieder, falls mir eine Idee kommt.
Viele Grüsse
Bümpi
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Wartezeit bis zur erneuten Makroausführung
Hallo Mannilein
Mit der Standard geht's auch (auf Umwegen): Mit dem virtuellen Aktor-Modul warst du schon auf dem richtigen Weg. Im Makro des Sensor musst du nun deine Anweisungen mit dem folgenden Wenn-Block ergänzen:
Viele Grüsse
Bümpi
Mit der Standard geht's auch (auf Umwegen): Mit dem virtuellen Aktor-Modul warst du schon auf dem richtigen Weg. Im Makro des Sensor musst du nun deine Anweisungen mit dem folgenden Wenn-Block ergänzen:
Code: Alles auswählen
wenn Aktormodul ausgeschaltet dann
** Deine Anweisungen
Aktormodul einschalten für 1 Minuten
Wenn-Block-Ende
Bümpi
Re: Wartezeit bis zur erneuten Makroausführung
Hallo buempi,
ja ich bin doch nur Standard .
Danke, ich werde Deine Lösung heute Abend gleich ausprobieren.
Deine Lösung ist ja auch eine Abfrage eines "Merkers".
So ähnlich hatte ich das auch schon versucht; funktionierte aber nicht.
So hatte ich das Makro beispielhaft im Sensor:
Hier bleibt das Makro aber stecken, der Sensor wird nicht mehr ausgeschaltet.
Setze ich den Befehl
noch früher im Makro bleibt das Programm ehr stecken.
Ich denke das ist mein Problem und Du umgehst das indem Du ein externes Makro ablaufen lässt?
Gruß Mannilein
ja ich bin doch nur Standard .
Danke, ich werde Deine Lösung heute Abend gleich ausprobieren.
Deine Lösung ist ja auch eine Abfrage eines "Merkers".
So ähnlich hatte ich das auch schon versucht; funktionierte aber nicht.
So hatte ich das Makro beispielhaft im Sensor:
Code: Alles auswählen
wenn Aktormodul ausgeschaltet dann
** sende Email **
** starte Programm **
** warte 8 Sekunden **
** starte Programm **
** Aktormodul einschalten für 1 Minute
Sensor ausschalten
wenn-Block-Ende
Setze ich den Befehl
Code: Alles auswählen
** Aktormodul einschalten für 1 Minute
Ich denke das ist mein Problem und Du umgehst das indem Du ein externes Makro ablaufen lässt?
Gruß Mannilein
Kabel ist durch nichts zu ersetzen, ausser durch Kabel!
Wie verhält sich der WAF in der Schwerelosigkeit?
Und warum werden immer noch Toaster ohne USB-Anschluss gebaut?
Wie verhält sich der WAF in der Schwerelosigkeit?
Und warum werden immer noch Toaster ohne USB-Anschluss gebaut?
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Wartezeit bis zur erneuten Makroausführung
Hallo Mannilein
Nein, das mit dem externen Makro habe ich (offenbar während du deine Antwort eingetragen hast) rausgenommen und durch die Variante, die du auch verwendest (einschalten FÜR), ersetzt.
Bei mir läuft es einwandfrei. Habe auch so was ähnliches wie dein Makro mit zwei Anweisungen und einem WARTE dazwischen ausprobiert. - Geht ebenfalls.
Bei dir blieb das Makro vermutlich nicht hängen. Sondern es kam ein zweites Signal vom Sensor während das Aktormodul eingeschaltet war. Weil die Anweisung "Sensor ausschalten" innerhalb des WENN-Blocks steht, wurde sie nicht ausgeführt. Sonst lief aber bestimmt alles richtig.
Wenn du diese Zeile ganz nach unten hinter das "Wenn-Block-Ende" verschiebst, läuft auch das richtig. Es sei denn, ein zweites Signal kommt bereits vor Ablauf der 8 Sekunden. Um welche Art Sensor handelt es sich? Bei Bewegungsmeldern z.B. beträgt der Mindest-Sendeabstand gerade 8 Sekunden (am Gerät einstellbar).
Sollte es sich um einen Sensor handeln, der mit Signalen "bombardiert", musst du den ganzen Ablauf tatsächlich in ein externes Makro packen und im Wenn-Block den Schaltaktor einschalten und das externe Makro starten. Das "Sensor ausschalten" bleibt ganz unten (nach WENN-Block-Ende) stehen.
Viele Grüsse
Bümpi
Nein, das mit dem externen Makro habe ich (offenbar während du deine Antwort eingetragen hast) rausgenommen und durch die Variante, die du auch verwendest (einschalten FÜR), ersetzt.
Bei mir läuft es einwandfrei. Habe auch so was ähnliches wie dein Makro mit zwei Anweisungen und einem WARTE dazwischen ausprobiert. - Geht ebenfalls.
Bei dir blieb das Makro vermutlich nicht hängen. Sondern es kam ein zweites Signal vom Sensor während das Aktormodul eingeschaltet war. Weil die Anweisung "Sensor ausschalten" innerhalb des WENN-Blocks steht, wurde sie nicht ausgeführt. Sonst lief aber bestimmt alles richtig.
Wenn du diese Zeile ganz nach unten hinter das "Wenn-Block-Ende" verschiebst, läuft auch das richtig. Es sei denn, ein zweites Signal kommt bereits vor Ablauf der 8 Sekunden. Um welche Art Sensor handelt es sich? Bei Bewegungsmeldern z.B. beträgt der Mindest-Sendeabstand gerade 8 Sekunden (am Gerät einstellbar).
Sollte es sich um einen Sensor handeln, der mit Signalen "bombardiert", musst du den ganzen Ablauf tatsächlich in ein externes Makro packen und im Wenn-Block den Schaltaktor einschalten und das externe Makro starten. Das "Sensor ausschalten" bleibt ganz unten (nach WENN-Block-Ende) stehen.
Viele Grüsse
Bümpi
Re: Wartezeit bis zur erneuten Makroausführung
Hallo buempi
Dann versuche ich das auf jeden Fall mit dem extern ablaufenden Makro.
Gruß Mannilein
Ja, Du hast wohl Recht. Wenn ich so drüber nachdenke ist es nur die Visualisierung vom Sensor gewesen.buempi hat geschrieben:Bei dir blieb das Makro vermutlich nicht hängen. Sondern es kam ein zweites Signal vom Sensor während das Aktormodul eingeschaltet war. Weil die Anweisung "Sensor ausschalten" innerhalb des WENN-Blocks steht, wurde sie nicht ausgeführt. Sonst lief aber bestimmt alles richtig.
Genau so sieht das aus. Der Sensor ist die Haustürklingel und die beiden kleinen Ganoven (1 Jahr und 4 Jahre) schaffen zusammen bestimmt 6x Klingen in der Sekunde .Mannilein hat geschrieben:Sollte es sich um einen Sensor handeln, der mit Signalen "bombardiert"
Dann versuche ich das auf jeden Fall mit dem extern ablaufenden Makro.
Gruß Mannilein
Kabel ist durch nichts zu ersetzen, ausser durch Kabel!
Wie verhält sich der WAF in der Schwerelosigkeit?
Und warum werden immer noch Toaster ohne USB-Anschluss gebaut?
Wie verhält sich der WAF in der Schwerelosigkeit?
Und warum werden immer noch Toaster ohne USB-Anschluss gebaut?
Re: Wartezeit bis zur erneuten Makroausführung
Hallo buempi,
so es funktioniert jetzt - wenn auch nicht gleich auf Anhieb .
Makro im Sensor "Haustuerrklingel"
Marko "Haustuerklingelmerker"
Erst hatte ich die Sendemail-Befehle noch im Makro des Sensors Haustuerklingel stehen. Das funktionierte im Normalfall zwar auch, aber wenn innerhalb der 8 Sekunden noch Mal ein Befehl vom Sensor gekommen ist, wurde der 2`te Sendemail Befehl nicht mehr ausgeführt.
Aber mit deiner Hilfe löftet ja jetzt Wie immer
Gruß Mannilein
so es funktioniert jetzt - wenn auch nicht gleich auf Anhieb .
Makro im Sensor "Haustuerrklingel"
Code: Alles auswählen
wenn Merker_Haustuerklingel ausgeschaltet dann
wenn DaemmerungssensorK2 im Alarmzustand dann
Aktor_500WFluter einschalten für 00:01:30
wenn-Bock-Ende
Makro starten Haustuerklingelmerker
wenn-Block-Ende
Code: Alles auswählen
Merker_Haustuerklingel einschalten
Starte Windows-Programm ("C:\Sendemail\IPCamKlingel.bat")
warte 8 Sekunden
Starte Windows-Programm ("C:\Sendemail\IPCamKlingel.bat")
warte 1 Minute
Haustuerklingel ausschalten
Merker_Haustuerklingel ausschalten
Aber mit deiner Hilfe löftet ja jetzt Wie immer
Gruß Mannilein
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Wartezeit bis zur erneuten Makroausführung
Hallo Mannilein
Nicht wahr: Toll, was man mit der Standard und etwas Phantasie alles machen kann?
Stört es dich, dass beim Starten dieser Batch-Datei jeweils eine DOS-Box angezeigt wird? Das liesse sich verhindern! Wenn du am Wochenende mal Zeit hast, kannst du es ja vielleicht ausprobieren:
Du musst den aktuellen Release von Homeputer Standard haben (81228). Den kannst du dir von der Contronics-Homepage runterladen. Vor der Installation solltest du dir eine Sicherheitskopie des ganzen Homeputer-Verzeichnisses mit Unterverzeichnissen anlegen.
Dann habe ich mal eine StartMin.exe geschrieben, die du hier findest: http://homematic-forum.de/forum/viewtop ... 9951#p9951
Kopiere diese EXE in dein Verzeichnis C:\Sendemail.
Bisher konnte man mit Homeputer-Standard einem Windows-Programm keine Parameter übergeben. Im aktuellen Release funktioniert es aber. Ersetzte deinen Befehl durch folgende Zeile:
Die irreführende Meldung, dass die Datei nicht existiere, beachtest du nicht, bzw. quittierst du mit JA.
Und schon läuft's - ganz ohne DOS-Box! Nur in der Task-Leiste ist das Programm zu sehen.
Viele Grüsse
Bümpi
Nicht wahr: Toll, was man mit der Standard und etwas Phantasie alles machen kann?
Stört es dich, dass beim Starten dieser Batch-Datei jeweils eine DOS-Box angezeigt wird? Das liesse sich verhindern! Wenn du am Wochenende mal Zeit hast, kannst du es ja vielleicht ausprobieren:
Du musst den aktuellen Release von Homeputer Standard haben (81228). Den kannst du dir von der Contronics-Homepage runterladen. Vor der Installation solltest du dir eine Sicherheitskopie des ganzen Homeputer-Verzeichnisses mit Unterverzeichnissen anlegen.
Dann habe ich mal eine StartMin.exe geschrieben, die du hier findest: http://homematic-forum.de/forum/viewtop ... 9951#p9951
Kopiere diese EXE in dein Verzeichnis C:\Sendemail.
Bisher konnte man mit Homeputer-Standard einem Windows-Programm keine Parameter übergeben. Im aktuellen Release funktioniert es aber. Ersetzte deinen Befehl durch folgende Zeile:
Code: Alles auswählen
C:\Sendemail\StartMin.exe IPCamKlingel.bat
Und schon läuft's - ganz ohne DOS-Box! Nur in der Task-Leiste ist das Programm zu sehen.
Viele Grüsse
Bümpi
Re: Wartezeit bis zur erneuten Makroausführung
Hallo buempi,
das mit der Startmin.exe werde ich auf jeden Fall mal ausprobieren.
Leider fehlt mir DER wirkliche Bedarf. Den Tochscreen-Monitor im Flur (eigentlich egal wo ) verbietet der WAF .
Und da der Server derzeit ganz allein und unbeachtet vor sich hin mühlt sieht keiner die DOS-Fenster.
Vielleicht darf ich ja doch irgendwann ....... so einen gaaaaaanz kleinen vielleicht.............. Mini-Touchscreen...............
Gruß Mannilein
(Operation WAF started!)
das mit der Startmin.exe werde ich auf jeden Fall mal ausprobieren.
Leider fehlt mir DER wirkliche Bedarf. Den Tochscreen-Monitor im Flur (eigentlich egal wo ) verbietet der WAF .
Und da der Server derzeit ganz allein und unbeachtet vor sich hin mühlt sieht keiner die DOS-Fenster.
Vielleicht darf ich ja doch irgendwann ....... so einen gaaaaaanz kleinen vielleicht.............. Mini-Touchscreen...............
Gruß Mannilein
(Operation WAF started!)
Kabel ist durch nichts zu ersetzen, ausser durch Kabel!
Wie verhält sich der WAF in der Schwerelosigkeit?
Und warum werden immer noch Toaster ohne USB-Anschluss gebaut?
Wie verhält sich der WAF in der Schwerelosigkeit?
Und warum werden immer noch Toaster ohne USB-Anschluss gebaut?