Anwesenheitsimulation Lampen bei Abwesenheit schalten
Moderator: Co-Administratoren
- klana
- Beiträge: 1099
- Registriert: 08.02.2015, 08:37
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 27 Mal
Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten
Hallo urpils,
du hast für mich ein wenig Licht ins Dunkel gebracht ...und dann habe ich versucht das ganze zu verstehen ... hätte ich mal bleiben lassen sollen jetzt bin ich ganz Konfuzius....
Kompletter Timer SET String: !300 r 19*300 / 300 r 19*300
Bei meinen Test ergab dieser TimerSET folgendes:
Start (TimerSET) um 21:22 Uhr
1. Schaltvorgang : 22:32 Uhr, Lampe EIN, also 70 Minuten später als Timerstart
2. Schaltvorgang : 23:17 Uhr, Lampe AUS, also 45 Minuten war sie an
3. Schaltvorgang : 23:27 Uhr, Lampe EIN, also 10 Minuten nach Aus
4. Schaltvorgang : 00:22 Uhr, Lampe AUS, also 55 Minuten war sie an
5. Schaltvorgang : 01:32 Uhr, Lampe EIN, also 70 Minten nach Aus
6. Schaltvorgang : 02:12 Uhr, Lampe AUS, also 40 Minuten war sie an
...
usw.
Erklärung aus CuxD Doku:
Erweiterung um Zufallswert:
„... rnnn*zzz“ - zufälliges Auslösen zwischen
<timer_set> und <timer_set>+nnn*zzz Sekunden. nnn
ist die zufällige Anzahl der Zeitschritte mit der Länge zzz.
Um diesen TimerSET geht es hier speziell: 300 r 19*300
bedeutet das jetzt:
Auslösen 300 Sekunden (5 Minuten) nach Timerstart und
dann nach weiteren 300 Sek. (5 Minuten)
dann nach weiteren 300 Sek. (5 Minuten)
insgesamt 19 x auslösen nach jeweils 5 Minuten
oder bedeutet das:
Auslösen 300 Sekunden (5 Minuten) nach Timerstart
und dann nach der ersten Auslösung zufällig 19 x für 5 Minuten auslösen.
TimerSET : !300 r 19*300
Der Aktor schaltet sich durch die übergebene Einschaltzeit $ONTIME$ von alleine wieder ab.
das wäre dann das nächste große Fragezeichen für mich...sorry!
Ich verstehe einfach nicht wie diese Schaltzeiten und auch die Pausen dazwischen
zustande kommen...z.B. den 1. Schaltvorgang hätte ich jetzt um 21:27 Uhr erwartet (siehe unten)
Evtl. ist ja das hier gemeint?
Starte nach 300 Sek (5 Minuten) den ersten Schaltvorgang
dann schalte zufällig innerhalb von 5700 Sek (19*300) insgesamt 19 x zufällig ..
und dann hört das Verständnis es bei mir auf.
Ich würde das gerne verstehen, um es auch mal zu nutzen.
Kann das mal jemand auch für Dummys erklären - kurz und knackig?
Gruß
Klana
du hast für mich ein wenig Licht ins Dunkel gebracht ...und dann habe ich versucht das ganze zu verstehen ... hätte ich mal bleiben lassen sollen jetzt bin ich ganz Konfuzius....
Kompletter Timer SET String: !300 r 19*300 / 300 r 19*300
Bei meinen Test ergab dieser TimerSET folgendes:
Start (TimerSET) um 21:22 Uhr
1. Schaltvorgang : 22:32 Uhr, Lampe EIN, also 70 Minuten später als Timerstart
2. Schaltvorgang : 23:17 Uhr, Lampe AUS, also 45 Minuten war sie an
3. Schaltvorgang : 23:27 Uhr, Lampe EIN, also 10 Minuten nach Aus
4. Schaltvorgang : 00:22 Uhr, Lampe AUS, also 55 Minuten war sie an
5. Schaltvorgang : 01:32 Uhr, Lampe EIN, also 70 Minten nach Aus
6. Schaltvorgang : 02:12 Uhr, Lampe AUS, also 40 Minuten war sie an
...
usw.
Erklärung aus CuxD Doku:
Erweiterung um Zufallswert:
„... rnnn*zzz“ - zufälliges Auslösen zwischen
<timer_set> und <timer_set>+nnn*zzz Sekunden. nnn
ist die zufällige Anzahl der Zeitschritte mit der Länge zzz.
Um diesen TimerSET geht es hier speziell: 300 r 19*300
bedeutet das jetzt:
Auslösen 300 Sekunden (5 Minuten) nach Timerstart und
dann nach weiteren 300 Sek. (5 Minuten)
dann nach weiteren 300 Sek. (5 Minuten)
insgesamt 19 x auslösen nach jeweils 5 Minuten
oder bedeutet das:
Auslösen 300 Sekunden (5 Minuten) nach Timerstart
und dann nach der ersten Auslösung zufällig 19 x für 5 Minuten auslösen.
TimerSET : !300 r 19*300
Der Aktor schaltet sich durch die übergebene Einschaltzeit $ONTIME$ von alleine wieder ab.
das wäre dann das nächste große Fragezeichen für mich...sorry!
Ich verstehe einfach nicht wie diese Schaltzeiten und auch die Pausen dazwischen
zustande kommen...z.B. den 1. Schaltvorgang hätte ich jetzt um 21:27 Uhr erwartet (siehe unten)
Evtl. ist ja das hier gemeint?
Starte nach 300 Sek (5 Minuten) den ersten Schaltvorgang
dann schalte zufällig innerhalb von 5700 Sek (19*300) insgesamt 19 x zufällig ..
und dann hört das Verständnis es bei mir auf.
Ich würde das gerne verstehen, um es auch mal zu nutzen.
Kann das mal jemand auch für Dummys erklären - kurz und knackig?
Gruß
Klana
Gruß Klana
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
-
- Beiträge: 464
- Registriert: 27.08.2014, 10:51
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 9 Mal
- Danksagung erhalten: 6 Mal
Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten
!300 r 19*300 / 300 r 19*300 sind ja zwei Timer getrennt durch den Slash.
Betrachten wir einen einzelnen Timer davon: 300 r 19*300 bedeutet,
300s Basiswert des Timers
plus
r 19*300s (Zusatzwert von 1-19 mal 300s)
die beiden Werte werden addiert und bilden dann den Gesamttimer.
Beispiele:
300 + 1*300 = Timer mit 600s
300 + 3*300 = Timer mit 1200s
300 + 10*300 = Timer mit 3300s
300 + 19*300 = Timer mit 6000s
Mit obigen Angaben sind also Timer mit mindestens 10 Minuten bis 100 Minuten in 5 Minuten Schritten möglich.
Ich hoffe das war richtig erklärt, wenn nicht möge Uwe mich korrigieren .
Und das Ganze ist dann zweimal in der Zeile ganz oben enthalten. Einmal Ausschaltzeit und einmal Einschaltzeit.
Gruß Michael
Betrachten wir einen einzelnen Timer davon: 300 r 19*300 bedeutet,
300s Basiswert des Timers
plus
r 19*300s (Zusatzwert von 1-19 mal 300s)
die beiden Werte werden addiert und bilden dann den Gesamttimer.
Beispiele:
300 + 1*300 = Timer mit 600s
300 + 3*300 = Timer mit 1200s
300 + 10*300 = Timer mit 3300s
300 + 19*300 = Timer mit 6000s
Mit obigen Angaben sind also Timer mit mindestens 10 Minuten bis 100 Minuten in 5 Minuten Schritten möglich.
Ich hoffe das war richtig erklärt, wenn nicht möge Uwe mich korrigieren .
Und das Ganze ist dann zweimal in der Zeile ganz oben enthalten. Einmal Ausschaltzeit und einmal Einschaltzeit.
Gruß Michael
Zuletzt geändert von urpils am 09.08.2017, 15:28, insgesamt 2-mal geändert.
Das Problem mit dem Spruch "Der Klügere gibt nach" ist, dass dann die Dummen die Welt regieren
Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten
Schau mal hier:
viewtopic.php?f=26&t=36866&hilit=+zuf%C3%A4llig#p358830
300 r 19*300 bedeutet:
300 Sekunden nach TIMER_SET wird die erste Zufallszeit generiert.
Der mögliche Zeitraum wird durch 19*300 bestimmt. Also 19 mögliche Schaltpunkte die jeweils 300 Sekunden auseinander liegen können.
Nach dem / beginnt ein neuer Timer, es ist also ein Multitimer. Es werden somit 2 TIMER_EVENTS erzeugt.
viewtopic.php?f=26&t=36866&hilit=+zuf%C3%A4llig#p358830
300 r 19*300 bedeutet:
300 Sekunden nach TIMER_SET wird die erste Zufallszeit generiert.
Der mögliche Zeitraum wird durch 19*300 bestimmt. Also 19 mögliche Schaltpunkte die jeweils 300 Sekunden auseinander liegen können.
Nach dem / beginnt ein neuer Timer, es ist also ein Multitimer. Es werden somit 2 TIMER_EVENTS erzeugt.
Viele Grüße!
Jörg
Jörg
- klana
- Beiträge: 1099
- Registriert: 08.02.2015, 08:37
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 27 Mal
Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten
@urpils, @JRiemann,
VIELEN DANK!
Ich glaube jetzt hab ich es auch verstanden
Kann man diese Erklärungen nicht auch in das CUxD Handbuch als Beispiel übernehmen?
Da wäre ich nur mit dem Handbuch nie drauf gekommen.
Nochmals vielen lieben Dank!
Klana
VIELEN DANK!
Ich glaube jetzt hab ich es auch verstanden
Kann man diese Erklärungen nicht auch in das CUxD Handbuch als Beispiel übernehmen?
Da wäre ich nur mit dem Handbuch nie drauf gekommen.
Nochmals vielen lieben Dank!
Klana
Gruß Klana
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten
Die Erklärung wäre wohl zu komplex! Die Möglichkeiten sind zu vielfältig!
21:00:00 r 19*300 würde z.B um 21 Uhr einem Zufallstimer mit den Werten 1-19 x 300 Sekunden generieren.
21:00:00 r 19*300 würde z.B um 21 Uhr einem Zufallstimer mit den Werten 1-19 x 300 Sekunden generieren.
Viele Grüße!
Jörg
Jörg
- klana
- Beiträge: 1099
- Registriert: 08.02.2015, 08:37
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 27 Mal
Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten
Morgen,
eine letzte Frage zum Thema hab ich noch.
Die Anwesenheitssimulation läuft jetzt prima auf 2 Lampen.
Ich wollte die Schaltvorgänge mal in einer Systemvariablen dokumentieren, aber irgendwie klappt das nicht.
Die Timer scheinen das Programm nicht auszulösen. Vielleicht könnt ihr mir sagen warum das so ist.
Ich habe noch andere Timer mit denen das klappt, nur halt mit den beiden für die Anwesenheitssimulation geht es nicht.
Hier das Programm und das Script dazu:
eine letzte Frage zum Thema hab ich noch.
Die Anwesenheitssimulation läuft jetzt prima auf 2 Lampen.
Ich wollte die Schaltvorgänge mal in einer Systemvariablen dokumentieren, aber irgendwie klappt das nicht.
Die Timer scheinen das Programm nicht auszulösen. Vielleicht könnt ihr mir sagen warum das so ist.
Ich habe noch andere Timer mit denen das klappt, nur halt mit den beiden für die Anwesenheitssimulation geht es nicht.
Hier das Programm und das Script dazu:
Code: Alles auswählen
! Timer - Namen des Programmauslöser Gerät und Zeit in Systemvariable schreiben
string list = "";
object dp = null;
var ch = "";
var dev = "";
string zeit = "";
dp = dom.GetObject("$src$");
ch = dom.GetObject(dp.Channel());
dev = dom.GetObject(ch.Device());
zeit = system.Date("%d.%m.%y - %H:%M:%S Uhr");
list = "Device:" # dev # " Zeit: " # zeit;
dom.GetObject("AnwSim_Last_Timer").State(list);
Gruß Klana
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten
Mit "bei Aktualisierung auslösen" sollte es funktionieren.
Bei CUxD-Timern sollte man immer mit "Aktualisierung" abfragen. Hier hat diese Option auch keinerlei Nachteile. Bei allen sonstigen Auslösern (Aktoren, Sensoren) sollte man eher vorsichtig mit "Aktualisierung" umgehen.
Ich würde es aber sinnvoller finden die Umsetzung nicht an Timer zu koppeln. Praktischer wäre es auf den Statuswechsel der Lampen zu reagieren. Also: WENN > Licht > Schaltzustand EIN.... DANN > Skript
Bei CUxD-Timern sollte man immer mit "Aktualisierung" abfragen. Hier hat diese Option auch keinerlei Nachteile. Bei allen sonstigen Auslösern (Aktoren, Sensoren) sollte man eher vorsichtig mit "Aktualisierung" umgehen.
Ich würde es aber sinnvoller finden die Umsetzung nicht an Timer zu koppeln. Praktischer wäre es auf den Statuswechsel der Lampen zu reagieren. Also: WENN > Licht > Schaltzustand EIN.... DANN > Skript
Viele Grüße!
Jörg
Jörg
- klana
- Beiträge: 1099
- Registriert: 08.02.2015, 08:37
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 27 Mal
Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten
Hi,JRiemann hat geschrieben:Mit "bei Aktualisierung auslösen" sollte es funktionieren.
Bei CUxD-Timern sollte man immer mit "Aktualisierung" abfragen. Hier hat diese Option auch keinerlei Nachteile. Bei allen sonstigen Auslösern (Aktoren, Sensoren) sollte man eher vorsichtig mit "Aktualisierung" umgehen.
Ich würde es aber sinnvoller finden die Umsetzung nicht an Timer zu koppeln. Praktischer wäre es auf den Statuswechsel der Lampen zu reagieren. Also: WENN > Licht > Schaltzustand EIN.... DANN > Skript
den Statuswechsel der Lampen hatte ich auch erst genommen, aber zum Test würde ich gerne die nur Timerschaltzeiten unabhängig vom Licht protokollieren (ist ja in der Testphase auch jemand Zuhause der das Licht schalten kann ).
Hmm... "bei Aktualisierung auslösen".....warum funktionieren dann die anderen Timer mit "Auslösen"?
Ok, ich werde es heute Abend probieren.
Danke.
Klana
Gruß Klana
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
- klana
- Beiträge: 1099
- Registriert: 08.02.2015, 08:37
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 27 Mal
Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten
Guten Morgen,
so, jetzt habe ich alle Abfragearten für die Timer durch (Auf Aktualisierung, auf EVENT usw.), aber keine Art der Abfrage wurde ausgelöst.
Kann es sein das bei dieser Art von Timern kein Event ausgelöst wird?
Wenn ich einen einfachen Timer nehme funktioniert die Auslösung/Abfrage in einem Programm.
Gruß
Klana
so, jetzt habe ich alle Abfragearten für die Timer durch (Auf Aktualisierung, auf EVENT usw.), aber keine Art der Abfrage wurde ausgelöst.
Kann es sein das bei dieser Art von Timern kein Event ausgelöst wird?
Wenn ich einen einfachen Timer nehme funktioniert die Auslösung/Abfrage in einem Programm.
Gruß
Klana
Gruß Klana
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.
Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten
Doch, alle Timer arbeiten im Prinzip gleich und lösen Events aus. Das kannst Du auch kontrollieren indem Du bei dem Gerät einen Haken bei "protokolliert" setzt.
Ich vermute der Timer ist nicht richtig gesetzt.
Wie setzt Du den Timer? Und wie sehen die Einstellungen aus?
Ich vermute der Timer ist nicht richtig gesetzt.
Wie setzt Du den Timer? Und wie sehen die Einstellungen aus?
Viele Grüße!
Jörg
Jörg