"verzögert um" - Wert aus Systemvariable lesen

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

csiag
Beiträge: 118
Registriert: 21.11.2013, 07:30
Danksagung erhalten: 3 Mal

"verzögert um" - Wert aus Systemvariable lesen

Beitrag von csiag » 07.02.2019, 08:08

Üblicherweise setzt man die Verzögerung fest im Propgrammabschnitt "Dann", indem man "sofort" durch "verzögert um" wählt und dann die gewünschte Zeitspanne einträgt.

Hat man nun aber Dutzende Programme, die letztlich alle EINE gemeinsame Verzögerungszeit haben, muss man nicht nur diese in jedem einzelnen Programm eintragen, sondern auch ändern, wenn es nötig ist.

Um dies zu vermeiden und die Sache übersichtlicher zu gestalten, wäre es ideal, wenn man in einem Programm die Verzögerun(en) in eine systemvariable schreiben könnte, um sie durch alle anderen Programme auslesen zu lassen.

In der Hoffnung, dass ich das Forum vor dieser Fragestellung gründlich genug durchsucht habe und diese Frage nicht beantwortet gefunden habe, freue ich mich über hilfreiche Ideen zur Umsetzung.
9x Raspberry PI3+ - 123 / 29 / 33 / 10 / 27 / 0 / 2 Geräte - 158 / 26 / 57 / 33 / 53 / 5 / 12 Programme - Haussteuerung (185 Geräte aufgeteilt auf 3 RasPI), Energiemanagement (11 Geräte), Gartensteuerung (28 Geräte), Wetter (3 Geräte), Robonect Gardena R70Li Rasenroboter Steuerung / Überwachung

Benutzeravatar
JRiemann
Beiträge: 3903
Registriert: 12.11.2015, 21:05
Wohnort: Aurich
Danksagung erhalten: 3 Mal

Re: "verzögert um" - Wert aus Systemvariable lesen

Beitrag von JRiemann » 07.02.2019, 08:20

Die "Verzögert um.." selbst können nicht dynamisch über eine Variable geändert werden.

Je nachdem wie die Wunschumsetzung im Detail aussieht gibt es verschiedene Varianten zum Ziel zu kommen.
Man könnte in einem Programm eine oder mehrere Variablen "verzögert um..." setzen und diese dann in weiteren Programmen als einzigen Trigger nutzen.
Ähnlich verhält es sich mit virtuellen Tasten der CCU der virtuellen Tasten/Geräten des CuXD.
Natürlich könnte man auch verschiedene CuXD-Timer in einem Programm starten und diese als Trigger weiterverwenden.
Viele Grüße!
Jörg

Benutzeravatar
Black
Beiträge: 5463
Registriert: 12.09.2015, 22:31
System: Alternative CCU (auf Basis OCCU)
Wohnort: Wegberg
Hat sich bedankt: 418 Mal
Danksagung erhalten: 1069 Mal
Kontaktdaten:

Re: "verzögert um" - Wert aus Systemvariable lesen

Beitrag von Black » 07.02.2019, 11:09

Mit einer einfachen Systemvariablen die Zeit "Verzögert um" geht nicht.

es gibt möglichkeiten, diese Zeit trotzdem Variable zu Handhaben, diese sind allerdings nicht gerade Anfängertauglich und können, wenn mans falsch macht, einem auch einiges auf der CCU zerschiessen.

Black
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

csiag
Beiträge: 118
Registriert: 21.11.2013, 07:30
Danksagung erhalten: 3 Mal

Re: "verzögert um" - Wert aus Systemvariable lesen

Beitrag von csiag » 07.02.2019, 13:23

Hm ..., - auf jeden Fall erst einmal Danke für Eure Antworten -, auch, wenn ich mir jetzt ein "schlichtes" script erhofft hätte.

Aber, gerade weil ich nicht wirklich en detail mit den Tiefen der CCU vertraut bin, ist es sicherlich ratsam, sich nicht an Dingen zu versuchen, die hier Untiefen bergen, die mehr Unheil zeitigen, als ich wieder gerade biegen könnte.
Vermutlich ist es die "einfachste" Lösung, sich mit mehreren Programmen und der Notwendigkeit, in jedem zu ändern, zufrieden zu geben.
9x Raspberry PI3+ - 123 / 29 / 33 / 10 / 27 / 0 / 2 Geräte - 158 / 26 / 57 / 33 / 53 / 5 / 12 Programme - Haussteuerung (185 Geräte aufgeteilt auf 3 RasPI), Energiemanagement (11 Geräte), Gartensteuerung (28 Geräte), Wetter (3 Geräte), Robonect Gardena R70Li Rasenroboter Steuerung / Überwachung

Benutzeravatar
JRiemann
Beiträge: 3903
Registriert: 12.11.2015, 21:05
Wohnort: Aurich
Danksagung erhalten: 3 Mal

Re: "verzögert um" - Wert aus Systemvariable lesen

Beitrag von JRiemann » 08.02.2019, 09:14

csiag hat geschrieben:
07.02.2019, 13:23
Vermutlich ist es die "einfachste" Lösung, sich mit mehreren Programmen und der Notwendigkeit, in jedem zu ändern, zufrieden zu geben.
Also hast Du nicht gelesen oder verstanden was ich geschrieben habe... :oops:
Natürlich ist die Abänderung der jetzigen Steuerung/Programme mit der bordeigenen Lösung per Variablen aufwändig.
Je nach Menge der Programme und Art der jetzigen Logik kann schnell eine Neuprogrammierung daraus werden.
Aber so ist das HomeMatic-Hobby nun mal, neue Ideen führen schnell dazu das man sein gesamtes System umkrempelt.
Viele Grüße!
Jörg

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: "verzögert um" - Wert aus Systemvariable lesen

Beitrag von manfredh » 08.02.2019, 09:31

Beschreibe doch mal detailliert und anhand eines konkreten (praxisnahen!) Beispiels, was du machen willst. Also kein, "ich könnte ja irgendwann mal auf die Idee kommen...".

Vielleicht ist dein Problem ja viel einfacher zu lösen, als du denkst.
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

didotx
Beiträge: 5
Registriert: 25.03.2018, 16:28

Re: "verzögert um" - Wert aus Systemvariable lesen

Beitrag von didotx » 19.04.2021, 23:02

Hallo, die Diskussion zu diesem Thema fand ja bereits vor 2 Jahren statt, aber leider hat niemand einen für mich machbaren Lösungsvorschlag gepostet.

Die Frage "Beschreibe doch mal detailliert und anhand eines konkreten (praxisnahen!) Beispiels, was du machen willst." wurde nie beantwortet. Deshalb hier meine Antwort:

Ich habe 10 Rollläden am Haus. Ein Programm aktiviert nun für jeden Rollladen eine Systemvariable als Trigger, damit das jeweilige Programm gestartet wird. Im Moment mache ich dies über die Funktion "verzögert um", damit die Rollläden in einer definierten Reihenfolge hochfahren.
20210419_RL_Start.jpg
Ich würde gerne pro Rollladen in einer Systemvariablen den "verzögert" Wert eingeben, um Änderungen der Startzeiten über eine Variable zu definieren und nicht bei jeder Änderung das Programm ändern zu müssen.

Wenn jemand einen guten Implemtierungsvorschlag hat, wäre das SUPER!

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: "verzögert um" - Wert aus Systemvariable lesen

Beitrag von MichaelN » 19.04.2021, 23:15

Da gibt es verschiedene Wege. Wobei ich die Verzögerungen nach dem ersten Optimierungen nie mehr angepackt habe. Die liegen bei mir auch eher bei 5 Sekunden.

Ich arbeite auch mit Werteliste je Rolllade, um bestimmte Positionen anzufahren. Dazu gibt es ein Programm je rollo und nur dort steht die Verzögerung. Daher ist der Aufwand, falls man wirklich was ändern muss, überschaubar.

Näher an deiner Fragestellung wäre eine Systemvariable mit dem Wert der Verzögerung und auslösen des Fahrbefehl über ein Skript. Da kannst du die Verzögerung aus der SV auslesen.
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 +++

manfredh
Beiträge: 4155
Registriert: 09.09.2012, 10:41
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 78 Mal
Danksagung erhalten: 301 Mal

Re: "verzögert um" - Wert aus Systemvariable lesen

Beitrag von manfredh » 20.04.2021, 08:56

Ich verstehe den Sinn der Anforderung immer noch nicht.
didotx hat geschrieben:
19.04.2021, 23:02
Ich würde gerne pro Rollladen in einer Systemvariablen den "verzögert" Wert eingeben, um Änderungen der Startzeiten über eine Variable zu definieren und nicht bei jeder Änderung das Programm ändern zu müssen.
Wenn die Startzeit (Uhrzeit!) sich ändert, ist das ein Eintrag in einer Bedingungs-Programmzeile. Von dieser Uhrzeit angefangen laufen dann die Verzögerungen. Letztere brauchen sich dabei ja nicht zu ändern.

Statt die Startzeit im Programm zu ändern, möchtest du also die Uhrezeit in einer SV eingeben? wo? wie? warum?
Es gibt 10 Arten von Menschen: solche die Binärcode verstehen und solche, die ihn nicht verstehen.

MichaelN
Beiträge: 9562
Registriert: 27.04.2020, 10:34
System: CCU
Hat sich bedankt: 696 Mal
Danksagung erhalten: 1608 Mal

Re: "verzögert um" - Wert aus Systemvariable lesen

Beitrag von MichaelN » 20.04.2021, 09:01

Ich spare mir meist die Mühe den Sinn dahinter verstehen zu wollen. Des Menschen Wille ist sein Himmelreich. Vielleicht möchte er die LAdenschlußzeit anpassen, weil Klein-Luisa älter geworden ist und nun eine halbe Stunde später ins Bett geht. Wenn das so ist, finde ich den Ansatz auch nicht gerade sinnvoll, aber wenn er es so mag.

Zur Anforderung: ich habe verstanden, das er die Verzögerung, nicht die Startzeit ändern will. Also braucht er nur eine SV Typ Zahl wo dann 30, 60, 240 (Minuten), etc drin steht.
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 +++

Antworten

Zurück zu „HomeMatic allgemein“