Verständnisfrage CUxD-Timer TIMER_GET kleiner als

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
uwe111
Beiträge: 3649
Registriert: 26.02.2011, 23:22
Kontaktdaten:

Re: Verständnisfrage CUxD-Timer TIMER_GET kleiner als

Beitrag von uwe111 » 08.12.2017, 18:34

shamen7777 hat geschrieben:Und was ich auch nicht in dem Dropdown Menü finde ist State=True. Es wird Time_Set, Timer_Event, Schaltzustand:Ein, Schaltzustand:Aus, Timer_Get, Timer_Num, CMD_RET, Sperrung aktiv, Speerung inaktive und TS.
STATE=TRUE wird von der WebUI in "Schaltzustand:Ein" und STATE=FALSE in "Schaltzustand:Aus" übersetzt.

Nach dem Setzen der Einschaltdauer musst Du den Aktor natürlich noch Einschalten. Sonst passiert da nichts.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.1.0, RFD-Monitor, Vellemann K8055, SSH KeyDir

Benutzeravatar
shamen7777
Beiträge: 50
Registriert: 01.06.2015, 19:27
Wohnort: Bergheim, Großraum Köln

Re: Verständnisfrage CUxD-Timer TIMER_GET kleiner als

Beitrag von shamen7777 » 16.12.2017, 11:45

Hallo Uwe,

ich habe zu dem Timer_Num noch eine Frage. Hab den Status jetzt öfters selber auf dem CUxD Interface beobachtet. Sobald der Timer abgelaufen wird der Num um eins höher gezählt. Wäre es von der Logik her besser den Num erst hoch zu zählen, wenn der Timer auch wirklich abgelaufen ist. In meinem Beispiel hier habe ich folgender Timer wie im Bild. Habe zwei feste Uhrzeiten eingestellt. Und es wird schon auf 4 gezählt, wenn die Uhrzeit 7:15:00 vorbei ist.
Dateianhänge
CUxD_Weihnachtstimer.JPG
MfG

Mirko

Homematic Komponenten:
CCU2 FW 2.29.23, geplant Homeputer; CuxD 1.12; CuxD Highcharts 1.4.5; XML-API 1.15; HQ WebUI 2.5.4; Programme drucken 1.2a; E-Mail 1.6.7c
Rolladenaktor: komplett (8 Stück)
Funkschaltaktor: bisher 16, geplant zusätzlich 6
6-Tasten-Wandsender: bisher 0, geplant zusätzlich 1
Funkwandsender: bisher 7, geplant zusätzlich 4
Funkwandthermostat: bisher 0, geplant zusätzlich 9
Funk-Fenster-Drehgriff-Kontakt: bisher 0, geplant zusätzlich 10
Funk-Tür-/Festerkontakt: bisher 5, geplant zusätzlich 3
Differenz-Temperatursensor: komplett (1 Stück)
Funk-Zwischenstecker: bisher 3, geplant zusätzlich 2

Benutzeravatar
JRiemann
Beiträge: 3593
Registriert: 12.11.2015, 22:05
Wohnort: Aurich

Re: Verständnisfrage CUxD-Timer TIMER_GET kleiner als

Beitrag von JRiemann » 16.12.2017, 12:45

Du machst den Gedankenfehler das Du den Zahlenwert alleine als NUM siehst. Es sind aber die einzelnen Punkte die als NUM gewertet werden.
Dein Timer enthält außerdem einen Fehler zwischen 7:15 und 16:30 wurden 3x / verwendet!! Es sollten aber max. 2 / sein.
Der Timer /7:15//16:30 hätte folgende TIMER_NUM:
/7:15=(1)//16:30=(3)
Viele Grüße!
Jörg

Benutzeravatar
uwe111
Beiträge: 3649
Registriert: 26.02.2011, 23:22
Kontaktdaten:

Re: Verständnisfrage CUxD-Timer TIMER_GET kleiner als

Beitrag von uwe111 » 16.12.2017, 15:47

shamen7777 hat geschrieben:Wäre es von der Logik her besser den Num erst hoch zu zählen, wenn der Timer auch wirklich abgelaufen ist.
Genau das passiert doch. Die Logik ist aus historischen und Kompatibilitätsgründen am Anfang etwas gewöhnungsbedürftig. Aber wenn man es einmal verstanden hat, eigentlich ganz einfach. Im Zweifel helfen hier die Beispiele in der CUxD-Doku und zur Kontrolle auch immer das CCU Systemprotokoll.

Wichtig für den Wert von TIMER_NUM und STATE sind die Anzahl der Trennzeichen / vom Anfang des Timer-Strings bis zum Anfang des folgenden Timers!

Also /7:15:00///16:30:00 liefert:
- nach Ablauf von /7:15:00/// um 7:15 Uhr -> TIMER_NUM=4, STATE=false
- nach Ablauf des gesamten Strings um 16:30 Uhr geht es wieder von vorne los, also / -> TIMER_NUM=1, STATE=true

STATE wird bei geradem TIMER_NUM immer auf false und bei ungeradem TIMER_NUM immer auf true gesetzt.
JRiemann hat geschrieben:Der Timer /7:15//16:30 hätte folgende TIMER_NUM:
/7:15=(1)//16:30=(3)
Es müsste genau andersherum sein. Also:
- nach Ablauf von /7:15// also 3x / -> TIMER_NUM=3, STATE=true
- nach Ablauf des gesamten Strings /7:15//16:30 geht's wieder von vorne los, also 1x / -> TIMER_NUM=1, STATE=true

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.1.0, RFD-Monitor, Vellemann K8055, SSH KeyDir

Benutzeravatar
shamen7777
Beiträge: 50
Registriert: 01.06.2015, 19:27
Wohnort: Bergheim, Großraum Köln

Re: Verständnisfrage CUxD-Timer TIMER_GET kleiner als

Beitrag von shamen7777 » 17.12.2017, 11:06

HAllo Uwe,

danke für die Erklärung. So ganz habe ich es noch nicht verstanden. Ich habe mir gedacht, dass jede einzelene Zeit im Timer einen Timer_Num darstellt. Also so wie es es sehe bei /7:15:00///16:30:00 wäre es so, das der 1./ Num=0, 7:15:00 Num=1, der 2./ ist Num=2, der 3./ ist Num=3 und dann mit 16:30:00 ist Num=4.
Ich habe es aus der Doku so verstanden, dass die Trennstriche also der /, immer genau einen Timer abtrennt. Ich also mit den 3 Slash in der Mitte zwei Leertimer habe, richtig? Und vor der 7:15:00 ist dann auch noch ein Timer? Oder muss bei Multitimern zwingend jede Zeit mit einem Slash beginnen und aufhören also als Bsp. /8:20:00/15:29:00/? Somit wäre hier bei 8:20:00 Timer_Num 0 mit State=false und bei 15:29:00 Timer_Num 1 mit Sate=true?
MfG

Mirko

Homematic Komponenten:
CCU2 FW 2.29.23, geplant Homeputer; CuxD 1.12; CuxD Highcharts 1.4.5; XML-API 1.15; HQ WebUI 2.5.4; Programme drucken 1.2a; E-Mail 1.6.7c
Rolladenaktor: komplett (8 Stück)
Funkschaltaktor: bisher 16, geplant zusätzlich 6
6-Tasten-Wandsender: bisher 0, geplant zusätzlich 1
Funkwandsender: bisher 7, geplant zusätzlich 4
Funkwandthermostat: bisher 0, geplant zusätzlich 9
Funk-Fenster-Drehgriff-Kontakt: bisher 0, geplant zusätzlich 10
Funk-Tür-/Festerkontakt: bisher 5, geplant zusätzlich 3
Differenz-Temperatursensor: komplett (1 Stück)
Funk-Zwischenstecker: bisher 3, geplant zusätzlich 2

Benutzeravatar
uwe111
Beiträge: 3649
Registriert: 26.02.2011, 23:22
Kontaktdaten:

Re: Verständnisfrage CUxD-Timer TIMER_GET kleiner als

Beitrag von uwe111 » 17.12.2017, 14:47

shamen7777 hat geschrieben:Ich habe es aus der Doku so verstanden, dass die Trennstriche also der /, immer genau einen Timer abtrennt. Ich also mit den 3 Slash in der Mitte zwei Leertimer habe, richtig?
Ja, ein oder mehrere / Striche trennen 2 Timer voneinander. Die genaue Anzahl der / Striche ist nur für die Berechnung von TIMER_NUM und STATE wichtig (s. letzter Beitrag)!
shamen7777 hat geschrieben:Und vor der 7:15:00 ist dann auch noch ein Timer?
Nein, davor ist kein Timer! Nur der Datenpunkt TIMER_NUM wird erhöht (und STATE ändert sich)! Der erste Timer läuft um 7:15:00 ab.
uwe111 hat geschrieben:Oder muss bei Multitimern zwingend jede Zeit mit einem Slash beginnen und aufhören
Nein und / Striche am Ende bewirken überhaupt nichts!
shamen7777 hat geschrieben:Bsp. /8:20:00/15:29:00/?
Versuche bitte noch mal meine Erklärung im letzten Beitrag zu verstehen.

Danach wäre es dann so (die roten / werden gezählt!):
- um 08:20 Uhr (/8:20:00/15:29:00/) -> TIMER_NUM = 2, STATE = false
- um 15:29 Uhr (/8:20:00/15:29:00/) -> TIMER_NUM = 1, STATE = true

ein anderes Beispiel 8:20:00//15:29:00:
- um 08:20 Uhr (8:20:00//15:29:00) -> TIMER_NUM = 2, STATE = false
- um 15:29 Uhr (8:20:00//15:29:00) -> TIMER_NUM = 0, STATE = false

und noch ein Beispiel 8:20:00/15:29:00:
- um 08:20 Uhr (8:20:00/15:29:00) -> TIMER_NUM = 1, STATE = true
- um 15:29 Uhr (8:20:00/15:29:00) -> TIMER_NUM = 0, STATE = false

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.1.0, RFD-Monitor, Vellemann K8055, SSH KeyDir

Antworten

Zurück zu „CUxD“