Anwesenheitsimulation Lampen bei Abwesenheit schalten

Allgemeines zur HomeMatic Haussteuerung

Moderator: Co-Administratoren

Benutzeravatar
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

Beitrag von klana » 09.08.2017, 15:07

Hallo urpils,

du hast für mich ein wenig Licht ins Dunkel gebracht :idea: ...und dann habe ich versucht das ganze zu verstehen ... hätte ich mal bleiben lassen sollen :roll: 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.

urpils
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

Beitrag von urpils » 09.08.2017, 15:22

!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
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

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

Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten

Beitrag von JRiemann » 09.08.2017, 15:25

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.
Viele Grüße!
Jörg

Benutzeravatar
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

Beitrag von klana » 09.08.2017, 15:46

@urpils, @JRiemann,

VIELEN DANK!
Ich glaube jetzt hab ich es auch verstanden :D
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.

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

Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten

Beitrag von JRiemann » 09.08.2017, 16:08

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.
Viele Grüße!
Jörg

Benutzeravatar
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

Beitrag von klana » 10.08.2017, 07:15

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:
ScreenHunter_41 2017.08.10 07.09.jpg

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.

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

Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten

Beitrag von JRiemann » 10.08.2017, 07:24

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
Viele Grüße!
Jörg

Benutzeravatar
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

Beitrag von klana » 10.08.2017, 07:33

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
Hi,
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 :mrgreen: ).
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.

Benutzeravatar
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

Beitrag von klana » 11.08.2017, 08:20

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
Gruß Klana
Es ist nett, wichtig zu sein. Aber es ist wichtiger, nett zu sein.

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

Re: Anwesenheitsimulation Lampen bei Abwesenheit schalten

Beitrag von JRiemann » 11.08.2017, 12:55

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?
Viele Grüße!
Jörg

Antworten

Zurück zu „HomeMatic allgemein“