Hallo, ich beschäftige mich sporadisch (je nach Freizeit) mit der Konfiguration der CL Software. Ich habe gerade 30min gebraucht um herauszufinden, was an meinem Makro falsch ist. Z.B. der Tür Fensterkontakt muss wie folgt abgefragt werden -- wenn TF geschlossen -- das ist ja plausibel. Aber wenn ich den offenen Zustand abfragen will muss es wie folgt aussehen -- TF = "offen" -- . Gibt es irgendwo eine Dokumentation wo die einzelnen Abfragen / Befehle aktualisiert nachzulesen sind? Dies scheint ja sich auch je nach Version teilweise zu ändern.
Viele Grüße Maclada
Zustände verwirrend
Moderator: Co-Administratoren
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Zustände verwirrend
Hallo Maclada
Zum Thema Dokumentation wurde schon so viel geschrieben... Leider ist sie, sowohl was die Hardware (CCU und einzelne Module) als auch die Software (Skriptsprache, Homeputer) betrifft... sagen wir mal verbesserungsfähig.
Homeputer unterscheidet zwischen Schlüsselwörtern und Zuständen. Eine Dokumentation zu den je Modulart möglichen Schlüsselwörtern gibt es nicht. Schlüsselwörter stehen NICHT in Anführungszeichen. Beispiele:
Wenn TF geschlossen dann
Wenn TF geöffnet dann (also nicht offen)
Ich mache es so, dass ich - wenn ich mir nicht sicher bin welches Schlüsselwort richtig ist - einfach den Zustand verwende. Auch die Zustände sind nirgends dokumentiert. Aber sehr leicht herauszufinden: Bei jedem Modul findet sich auf der Seite "Allgemein" das Feld "Startwert". Wenn man das aufklappt, sind alle möglichen Zustände aufgeführt. Beim TF also "geschlossen" und "offen". Natürlich grammatikalisch falsch. Entweder geschlossen/geöffnet oder zu/offen. Aber es ist nun mal so...
Zustände stehen IMMER in Anführungszeichen; also:
Wenn TF = "offen" dann
Sie werden auch erst zur Laufzeit ausgewertet. Ein wesentlicher Unterschied zu den Schlüsselwörtern, wo der Compiler Schreibfehler moniert. Schreibst du "offen" versehentlich mit einem f, passiert nichts. Auch Gross- und Kleinschreibung müssen beachtet werden! "Offen" funktioniert auch nicht!
Viele Grüsse
Bümpi
Zum Thema Dokumentation wurde schon so viel geschrieben... Leider ist sie, sowohl was die Hardware (CCU und einzelne Module) als auch die Software (Skriptsprache, Homeputer) betrifft... sagen wir mal verbesserungsfähig.
Homeputer unterscheidet zwischen Schlüsselwörtern und Zuständen. Eine Dokumentation zu den je Modulart möglichen Schlüsselwörtern gibt es nicht. Schlüsselwörter stehen NICHT in Anführungszeichen. Beispiele:
Wenn TF geschlossen dann
Wenn TF geöffnet dann (also nicht offen)
Ich mache es so, dass ich - wenn ich mir nicht sicher bin welches Schlüsselwort richtig ist - einfach den Zustand verwende. Auch die Zustände sind nirgends dokumentiert. Aber sehr leicht herauszufinden: Bei jedem Modul findet sich auf der Seite "Allgemein" das Feld "Startwert". Wenn man das aufklappt, sind alle möglichen Zustände aufgeführt. Beim TF also "geschlossen" und "offen". Natürlich grammatikalisch falsch. Entweder geschlossen/geöffnet oder zu/offen. Aber es ist nun mal so...
Zustände stehen IMMER in Anführungszeichen; also:
Wenn TF = "offen" dann
Sie werden auch erst zur Laufzeit ausgewertet. Ein wesentlicher Unterschied zu den Schlüsselwörtern, wo der Compiler Schreibfehler moniert. Schreibst du "offen" versehentlich mit einem f, passiert nichts. Auch Gross- und Kleinschreibung müssen beachtet werden! "Offen" funktioniert auch nicht!
Viele Grüsse
Bümpi
Re: Zustände verwirrend
Was auch geht: Die Zustände sind intern quasi nummeriert, beginnend bei 0.
In dem Fall also "verriegelt" = 0, "gekippt" = 1 und "offen" = 2. Und die Prüfung "wenn Fenster = 2 dann" funktioniert genauso wie "wenn Fenster = "offen""
Viele Grüße
Mitch
Ergänzung: Ich hab gerade mal nachgesehen in meinem Projekt und auf die schnelle keinen Fenster/Tür-Kontakt gefunden, wo ich das verwende, also erstmal ohne Gewähr. Wo ich es verwende sind die Bewegungsmelder, anstatt "an" eben die 1 ... da funktioniert es problemlos.
In dem Fall also "verriegelt" = 0, "gekippt" = 1 und "offen" = 2. Und die Prüfung "wenn Fenster = 2 dann" funktioniert genauso wie "wenn Fenster = "offen""
Viele Grüße
Mitch
Ergänzung: Ich hab gerade mal nachgesehen in meinem Projekt und auf die schnelle keinen Fenster/Tür-Kontakt gefunden, wo ich das verwende, also erstmal ohne Gewähr. Wo ich es verwende sind die Bewegungsmelder, anstatt "an" eben die 1 ... da funktioniert es problemlos.
- Dateianhänge
-
- Zustaende.JPG (33.87 KiB) 1976 mal betrachtet
---------------------------------------------------------------------------
334 Kanäle in 101 Geräten:
5x HM-LC-Sw1-FM, 8x HMW-IO-12-Sw7-DR, 4x HMW-LC-Sw2-DR, 1x HMW-LC-Dim1L-DR, 6x HM-LC-Sw1-Pl, 9x HM-LC-Bl1-FM, 3x HM-Sec-Key, 3x HM-LC-Sw2-FM, 2x HM-Sec-Key-S, 3x HM-Sec-Win, 1x HM-CCU-1, 1x HM-RC-19, 6x HM-CC-TC, 7x HM-CC-VD, 5x HM-RC-Key3-B, 2x HM-Sen-MDIR-SM, 1x HM-WDS100-C6-O, 2x HM-WDS10-TH-O, 7x HM-Sec-SC, 10x HM-Sec-RHS, 2x HM-PB-2-WM, 2x HM-PB-4-WM, 1x HM-RC-Sec3, 3x HM-Sec-MDIR, 4x HM-PBI-4-FM, 1x HM-WDS30-T-O, 1x HMW-Sen-SC-12-DR, 1x HM-LC-Dim2L-SM
---------------------------------------------------------------------------
mein anderes "Hobby":
334 Kanäle in 101 Geräten:
5x HM-LC-Sw1-FM, 8x HMW-IO-12-Sw7-DR, 4x HMW-LC-Sw2-DR, 1x HMW-LC-Dim1L-DR, 6x HM-LC-Sw1-Pl, 9x HM-LC-Bl1-FM, 3x HM-Sec-Key, 3x HM-LC-Sw2-FM, 2x HM-Sec-Key-S, 3x HM-Sec-Win, 1x HM-CCU-1, 1x HM-RC-19, 6x HM-CC-TC, 7x HM-CC-VD, 5x HM-RC-Key3-B, 2x HM-Sen-MDIR-SM, 1x HM-WDS100-C6-O, 2x HM-WDS10-TH-O, 7x HM-Sec-SC, 10x HM-Sec-RHS, 2x HM-PB-2-WM, 2x HM-PB-4-WM, 1x HM-RC-Sec3, 3x HM-Sec-MDIR, 4x HM-PBI-4-FM, 1x HM-WDS30-T-O, 1x HMW-Sen-SC-12-DR, 1x HM-LC-Dim2L-SM
---------------------------------------------------------------------------
mein anderes "Hobby":
Re: Zustände verwirrend
Guten Abend, vielen Dank für Eure Hilfe, wenn man sich mehr damit beschäftigt bekommt man dies auch hin. Nun habe ich noch eine Frage, kann ich einen Zeitraum definieren? Ich schalte z.B. die Rollläden zum Zeitpunkt Sonnenauf- und Untergang (auch mit Verzögerung). Wie kann ich den Zeitraum Nachts und Tags definieren um diesen in die Makros einzubauen?
Viele Grüße Maclada
Viele Grüße Maclada
Re: Zustände verwirrend
RTFM
Im Hilfetext findet man folgendes:
Hilft das?
Viele grüße
Mitch
Im Hilfetext findet man folgendes:
Also wäre das im Makro so zu verwirklichen:SONNENAUFGANG
Syntax :
SONNENAUFGANG
Mit dieser Funktion kann die Uhrzeit des Sonnenaufgangs für den aktuellen Tag ermittelt werden.
Beispiel:
wenn Uhrzeit = SONNENAUFGANG dann
RollladenSchlafzimmer hochfahren
endewenn
siehe auch SONNENUNTERGANG
Code: Alles auswählen
wenn Uhrzeit > Sonnenaufgang und Uhrzeit < Sonnenuntergang dann
Tageszeit := "Tag"
sonst
Tageszeit := "Nacht"
endewenn
Viele grüße
Mitch
---------------------------------------------------------------------------
334 Kanäle in 101 Geräten:
5x HM-LC-Sw1-FM, 8x HMW-IO-12-Sw7-DR, 4x HMW-LC-Sw2-DR, 1x HMW-LC-Dim1L-DR, 6x HM-LC-Sw1-Pl, 9x HM-LC-Bl1-FM, 3x HM-Sec-Key, 3x HM-LC-Sw2-FM, 2x HM-Sec-Key-S, 3x HM-Sec-Win, 1x HM-CCU-1, 1x HM-RC-19, 6x HM-CC-TC, 7x HM-CC-VD, 5x HM-RC-Key3-B, 2x HM-Sen-MDIR-SM, 1x HM-WDS100-C6-O, 2x HM-WDS10-TH-O, 7x HM-Sec-SC, 10x HM-Sec-RHS, 2x HM-PB-2-WM, 2x HM-PB-4-WM, 1x HM-RC-Sec3, 3x HM-Sec-MDIR, 4x HM-PBI-4-FM, 1x HM-WDS30-T-O, 1x HMW-Sen-SC-12-DR, 1x HM-LC-Dim2L-SM
---------------------------------------------------------------------------
mein anderes "Hobby":
334 Kanäle in 101 Geräten:
5x HM-LC-Sw1-FM, 8x HMW-IO-12-Sw7-DR, 4x HMW-LC-Sw2-DR, 1x HMW-LC-Dim1L-DR, 6x HM-LC-Sw1-Pl, 9x HM-LC-Bl1-FM, 3x HM-Sec-Key, 3x HM-LC-Sw2-FM, 2x HM-Sec-Key-S, 3x HM-Sec-Win, 1x HM-CCU-1, 1x HM-RC-19, 6x HM-CC-TC, 7x HM-CC-VD, 5x HM-RC-Key3-B, 2x HM-Sen-MDIR-SM, 1x HM-WDS100-C6-O, 2x HM-WDS10-TH-O, 7x HM-Sec-SC, 10x HM-Sec-RHS, 2x HM-PB-2-WM, 2x HM-PB-4-WM, 1x HM-RC-Sec3, 3x HM-Sec-MDIR, 4x HM-PBI-4-FM, 1x HM-WDS30-T-O, 1x HMW-Sen-SC-12-DR, 1x HM-LC-Dim2L-SM
---------------------------------------------------------------------------
mein anderes "Hobby":
Re: Zustände verwirrend
Hallo Mitch,
ich habe es mit einem separaten Makro mit einer 10 minütigen Ausführung wie beschrieben probiert. Es geht nichts...
Also Makro mit Deinem Code unter dem Namen Tageszeit erstellt Haken bei "Ausführung bei Änderung" raus und eine 10 minütige Ausführung gewählt und dann in den Aktoren die Tageszeit mit eingebunden.
Was mache ich falsch?
Viele Grüße Maclada
ich habe es mit einem separaten Makro mit einer 10 minütigen Ausführung wie beschrieben probiert. Es geht nichts...
Also Makro mit Deinem Code unter dem Namen Tageszeit erstellt Haken bei "Ausführung bei Änderung" raus und eine 10 minütige Ausführung gewählt und dann in den Aktoren die Tageszeit mit eingebunden.
Was mache ich falsch?
Viele Grüße Maclada
-
- Ehrenmitglied
- Beiträge: 12194
- Registriert: 29.07.2006, 15:58
- Wohnort: Schweiz
- Danksagung erhalten: 5 Mal
Re: Zustände verwirrend
Hallo Maclada
Ist dein Objekt "Tageszeit" vom Typ Zeichen? Typ Makro ginge nicht. Und fragst du es dann in anderen (ebenfalls periodisch ablaufenden) Makros so ab:
wenn Tageszeit = "Tag" dann
Die Schaltung mit Zeiträumen hat einen gewichtigen Nachteil: Du kannst den Rollladen nicht mehr von Hand oder aus einem anderen Makro bewegen. Beim nächsten Durchgang fährt ihn das Makro wieder in die Tag-/Nacht-Position. In aller Regel sind Zeiträume deshalb für die Rollladensteuerung nicht geeignet.
Mit dem folgenden Makro wird ein Rollladen bei Sonnenaufgang hoch- und bei Sonnenuntergang runtergefahren; in der Zwischenzeit lässt er sich beliebig bewegen:
Sonnenauf- und untergang werden in 1-Minuten-Schritten berechnet. Deshalb muss das Makro jede Minute ausgeführt werden. Eine andere Möglichkeit ist, es über das Register "Makros" und den Knopf "Ausführungszeiten" nur zu den Sonnenzeiten ablaufen zu lassen. Dazu wählst du in der Tabelle "täglich" und trägst in der ersten Zeile bei Uhrzeit SA und in der zweiten SU ein.
Dieses Vorgehen erspart der CCU unnötigen Leerlauf. Es hat auch den Vorteil, dass du eine Verzögerung erreichen kannst, indem du vor dem Schaltbefehl ein WARTE() einfügst. Bei einem Minuten-Makro wäre das ja nicht möglich, weil das WARTE() jede volle Minute wieder abgebrochen würde.
Benötigst du immer die gleiche Verzögerung, kannst du auch bei den allgemeinen Einstellungen entsprechende Anpassungen vornehmen. Auch eine "negative Verzögerung" ist dort möglich und du kannst "frühestens" und "spätestens" definieren, sodass der Rollladen z.B. im Sommer nicht vor 06:00 Uhr raufgeht, auch wenn's schon früher hell wird. Die Eintragungen hier gelten dann aber für alle Makros.
Viele Grüsse
Bümpi
Ist dein Objekt "Tageszeit" vom Typ Zeichen? Typ Makro ginge nicht. Und fragst du es dann in anderen (ebenfalls periodisch ablaufenden) Makros so ab:
wenn Tageszeit = "Tag" dann
Die Schaltung mit Zeiträumen hat einen gewichtigen Nachteil: Du kannst den Rollladen nicht mehr von Hand oder aus einem anderen Makro bewegen. Beim nächsten Durchgang fährt ihn das Makro wieder in die Tag-/Nacht-Position. In aller Regel sind Zeiträume deshalb für die Rollladensteuerung nicht geeignet.
Mit dem folgenden Makro wird ein Rollladen bei Sonnenaufgang hoch- und bei Sonnenuntergang runtergefahren; in der Zwischenzeit lässt er sich beliebig bewegen:
Code: Alles auswählen
wenn Uhrzeit = Sonnenaufgang dann
Rollladen := "oben"
endewenn
wenn Uhrzeit = Sonnenuntergang dann
Rollladen := "unten"
endewenn
Dieses Vorgehen erspart der CCU unnötigen Leerlauf. Es hat auch den Vorteil, dass du eine Verzögerung erreichen kannst, indem du vor dem Schaltbefehl ein WARTE() einfügst. Bei einem Minuten-Makro wäre das ja nicht möglich, weil das WARTE() jede volle Minute wieder abgebrochen würde.
Benötigst du immer die gleiche Verzögerung, kannst du auch bei den allgemeinen Einstellungen entsprechende Anpassungen vornehmen. Auch eine "negative Verzögerung" ist dort möglich und du kannst "frühestens" und "spätestens" definieren, sodass der Rollladen z.B. im Sommer nicht vor 06:00 Uhr raufgeht, auch wenn's schon früher hell wird. Die Eintragungen hier gelten dann aber für alle Makros.
Viele Grüsse
Bümpi