Wunsch: Neue Funktion: Makro abbrechen

Bugreports und Updatewünsche an die Firma contronics
Keine allgemeinen Fragen!

Moderator: Co-Administratoren

Tobias78
Beiträge: 1464
Registriert: 27.06.2010, 01:01
Wohnort: Braunschweig
Hat sich bedankt: 4 Mal

Wunsch: Neue Funktion: Makro abbrechen

Beitrag von Tobias78 » 04.05.2018, 21:07

Hallo Contronics,

ich wünsche mir eine Funktion, mit der ein laufendes Makro aus einem anderen Makro abgebrochen werden kann.

Also z.B. Syntax:

Code: Alles auswählen

Abbrechen(MAKROXY)
z.B. bei der Gartenbewässerung oder anderen komplexen Makros mit vielen Warteschleifen brache ich oft diese Funktion.

Workaround ist zu beginn im MakroXY eine Abfrage zu machen,
wenn Variable_Abbruch=1 dann
verlassen
endewenn
und dann das MakroXY vom abbrechendem Makro erneut aufrufen.
Der Workaround funktioniert auch, ist aber recht aufwändig bzw. ich brauche diese Funktion zig mal.

Gruß, Tobias.
--------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------

NickHM
Beiträge: 3733
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 66 Mal
Danksagung erhalten: 120 Mal

Re: Wunsch: Neue Funktion: Makro abbrechen

Beitrag von NickHM » 04.05.2018, 22:48

Guten Abend

ich löse das auch genau so, indem am Anfang eine Variable abgefragt wird. Ist die Variable gesetzt, wird das Makro abgebrochen.
Also im Moment, Variable setzen und Makro neu aufrufen damit es dann gleich am Anfang verlasen wird.

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: Wunsch: Neue Funktion: Makro abbrechen

Beitrag von Familienvater » 05.05.2018, 01:35

Hi,

ich hätte jetzt auch auf den Workaround mit der Variable und dem Aufruf gesetzt, inkl. Rücksetzen der Variable, damit es beim "normalen" Aufruf auch wieder durchläuft.

Mir ist aber evtl. der Sinn/die spätere Benutzbarkeit der Funktion noch nicht ganz klar:
Angenommen, ein Bewässerungsmakro durchläuft nacheinander mehrere "Teilschritte", um z.B. Ventil A für 30 min einzuschalten, und 31 min zu warten, dann Ventil B für 15 min einzuschalten und 16 min zu warten, und zum Schluss Ventil C für 10 min einzuschalten. Ein "Abbruch" des Makros nach 5 min läßt das aktuell geschaltete Ventil für die Restlaufzeit an, außer man bastelt wieder was (müsste theoretisch in die Abbruch-Bedingungsprüfung beim Workaround, für jedes Ventil: wenn Ventil x eingeschaltet, dann Ventil x ausschalten). Ohne diese "Erweiterung" könnte auch nach jedem Warte geprüft werden, ob einfach eine Abbruch-Variable gesetzt wurde, und dann das Makro entsprechend verlassen werden.
Ich sehe aber die Gefahr, das "zuviel" in die Funktion von unerfahrenen Nutzern reininterpretiert werden würde, und die davon ausgehen, das irgendwelche (getimerten?) Schaltungen, die bis dahin ausgeführt wurden, auch mit abgebrochen werden, und gerade das "Aufräumen" in einer solchen Situation ist bei eigenem Handanlegen schon teilweise schwierig, gerade wenn z.B. auch noch eine Gartenpumpe zusätzlich vorher eingeschaltet wurde etc.

Just my 2 Cents,
der Familienvater

Tobias78
Beiträge: 1464
Registriert: 27.06.2010, 01:01
Wohnort: Braunschweig
Hat sich bedankt: 4 Mal

Re: Wunsch: Neue Funktion: Makro abbrechen

Beitrag von Tobias78 » 05.05.2018, 06:28

Hi,

Bei dem 1. Szenario „Gartenbewässerung“ schließt das abbrechende Makro anschließend auch die Ventile.
Ich habe 5 Bewässerungsmakros, jedes könnte aktiv sein. Ich möchte daher alle 5 stoppen/abbrechen und natürlich danach die Ventile zu machen.
Ebenso sollte jedes Bewässerungsmakro beim Start jedes andere der 4 abbrechen und danach alle Ventilpositionen neu setzen.
Hier wird es mit einer „globalen Abbruchvariablen“ schon ziemlich „tricky“.

Eigentlich müsste man als weiteren Workaround alle Bewässerungsmakros in 1 Makro zusammenfassen und dann mit Sprungzielen arbeiten.

2. Szenario: „Anzeigensteuerung“ mit Homestatus.
Auch hier sind es bei mir rund 5 unterschiedliche Makros die abhängig vom Trigger die Anzeigen steuern. Sie dürfen natürlich nicht parallel laufen...

3. Szenario: Rauchalarm:
Sonderfall der Jalousiesteuerung. Alle Jalousiemakros abbrechen und stattdessen Fluchtwege frei machen...


Aus meiner Sicht ist das größere Risiko auch für den Anfänger, dass 2 oder mehr der Makros versehentlich parallel weiterlaufen.


Gruß, Tobias.
--------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------

NickHM
Beiträge: 3733
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 66 Mal
Danksagung erhalten: 120 Mal

Re: Wunsch: Neue Funktion: Makro abbrechen

Beitrag von NickHM » 05.05.2018, 08:21

Guten morgen

ich kann nicht einschätzen wie aufwändig so eine Funktion zu implementieren ist.
Da es aber mit wenigen Zeilen heute schon geht, weiss ich nicht ob Aufwand / Nutzen an der Stelle gegeben ist.

Beispiel für den Selbstbau der gewünschten Funktion wie von Familienvater beschrieben

Wunsch in Makro1

Code: Alles auswählen

Beenden "Makro2"
heute in makro1

Code: Alles auswählen

ExitMakro2 := 1
Starte Makro2
Makro2

Code: Alles auswählen

wenn ExitMakro2 = 1 dann 
ExitMakro2 := 0
verlassen
endewenn
// bei der Syntax bin ich nicht sicher, da ich grade nicht nachsehen kann. Ihr wisst trotzdem was ich meine

Das bedeutet, statt einer Zeile in Makro1 kommen 2 Zeilen
Und jedes Makro wird einmalig um die Abbruchprüfung am Anfang ergänzt.

Da fällt mir noch auf, wegen der Reduzierung globaler Objekte könnte man die Abbruch Variable auch in das jeweilige Makro lokal legen.

Code: Alles auswählen

Makro2.Exit := 1
// wobei vermutlich die Namen EXIT und ABBRUCH nicht so günstig bzw. schon reserviert sind :)

cl-control-RK
Beiträge: 59
Registriert: 05.04.2018, 22:56
Danksagung erhalten: 3 Mal

Re: Wunsch: Neue Funktion: Makro abbrechen

Beitrag von cl-control-RK » 05.05.2018, 09:29

Hallo,

ist als Wunsch notiert und wird in einem der nächsten Updates eingebaut.
Da nur die Wartezeit im wartenden Objekt gelöscht werden muss ist der Aufwand nicht gross.
Mit freundlichem Gruss
Ralph Krapoth
http://www.cl-control.de
Bei Fragen bitte keine PMs, sondern mail an technik@cl-control.de
PMs werden nicht regelmässig kontrolliert und und können unbeantwortet bleiben.

NickHM
Beiträge: 3733
Registriert: 23.09.2017, 12:04
Hat sich bedankt: 66 Mal
Danksagung erhalten: 120 Mal

Re: Wunsch: Neue Funktion: Makro abbrechen

Beitrag von NickHM » 05.05.2018, 09:49

das Leben kann so einfach sein :)

Danke

Tobias78
Beiträge: 1464
Registriert: 27.06.2010, 01:01
Wohnort: Braunschweig
Hat sich bedankt: 4 Mal

Re: Wunsch: Neue Funktion: Makro abbrechen

Beitrag von Tobias78 » 05.05.2018, 12:43

cl-control-RK hat geschrieben:Hallo,

ist als Wunsch notiert und wird in einem der nächsten Updates eingebaut.
Da nur die Wartezeit im wartenden Objekt gelöscht werden muss ist der Aufwand nicht gross.
Perfekt! Vielen Dank!
--------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------

cl-control-RK
Beiträge: 59
Registriert: 05.04.2018, 22:56
Danksagung erhalten: 3 Mal

Re: Wunsch: Neue Funktion: Makro abbrechen

Beitrag von cl-control-RK » 05.09.2018, 22:05

Hallo,

ist seit Release 180821 eingebaut.
Mit freundlichem Gruss
Ralph Krapoth
http://www.cl-control.de
Bei Fragen bitte keine PMs, sondern mail an technik@cl-control.de
PMs werden nicht regelmässig kontrolliert und und können unbeantwortet bleiben.

Tobias78
Beiträge: 1464
Registriert: 27.06.2010, 01:01
Wohnort: Braunschweig
Hat sich bedankt: 4 Mal

Re: Wunsch: Neue Funktion: Makro abbrechen

Beitrag von Tobias78 » 05.09.2018, 22:27

Super! Vielen Dank!
--------------------------------------------
Im Einsatz und empfehlenswert:
RaspberryMatic,IO.Broker, Homeputer Studio; CuXD; PocketControl, HomeStatus, Robonect, Alexa, io.Broker
------------------------------------------

Antworten

Zurück zu „homeputer CL - Bugs & Updatewünsche“