Programmier Beispiel:
Ich möchte alle 5sec die PIRA anzeige auf dem display reseten sodass sie nach dem auslösen nicht immer rot sind.
wenn Alarm_PIRA_1 eingeschaltet dann
setzeposition(Alarm_PIRA_1=0)
endewenn
jetzt kommt immer Fehler in WENN Anweisung-ENDEWENN fehlt
Was ist hier falsch?
Probleme mit Wenn Befehle
Moderator: Co-Administratoren
Die Syntax von SETZEPOSITION ist falsch:
SETZEPOSITION
Syntax :
SETZEPOSITION(Objekt,Variable,Variable)
Das Bitmaps des angegebenen Objekt wird auf die neue Bildschirmposition gesetzt. Mit dieser Anweisung und der Anweisung HOLEPOSITION ist es möglich die Bitmaps von Objekten über den Bildschirm zu bewegen. Die Bildschirmposition wird durch die Variablen hinter dem Objekt festgelegt. Beide Variablen müssen vom Typ ZAHL sein.
siehe auch HOLEPOSITION
Beispiel:
Das Bitmap des Objekts Auge soll um 10 Bildschirmpunkte nach rechts und 5 Punkte nach unten verschoben werden. Auf der Seite Programmierung müssen zwei Variablen XPOS und YPOS vom Typ Zahl definiert werden.
HOLEPOSITION(AUGE,XPOS,YPOS)
XPOS:=XPOS+10
YPOS:=YPOS+5
SETZEPOSITION(AUGE,XPOS,YPOS)
SETZEPOSITION
Syntax :
SETZEPOSITION(Objekt,Variable,Variable)
Das Bitmaps des angegebenen Objekt wird auf die neue Bildschirmposition gesetzt. Mit dieser Anweisung und der Anweisung HOLEPOSITION ist es möglich die Bitmaps von Objekten über den Bildschirm zu bewegen. Die Bildschirmposition wird durch die Variablen hinter dem Objekt festgelegt. Beide Variablen müssen vom Typ ZAHL sein.
siehe auch HOLEPOSITION
Beispiel:
Das Bitmap des Objekts Auge soll um 10 Bildschirmpunkte nach rechts und 5 Punkte nach unten verschoben werden. Auf der Seite Programmierung müssen zwei Variablen XPOS und YPOS vom Typ Zahl definiert werden.
HOLEPOSITION(AUGE,XPOS,YPOS)
XPOS:=XPOS+10
YPOS:=YPOS+5
SETZEPOSITION(AUGE,XPOS,YPOS)
Gruß
Stefan Hendricks (ehemaliger HomeMatic-Forum Betreiber)
Stefan Hendricks (ehemaliger HomeMatic-Forum Betreiber)
Die Anweisung Setzeposition ist doch eigentlich dazu da ein Bitmpap an eine andere Stelle zu setzen, aber den Zustand des Objekts kannst du damit nicht ändern.
Ich mache es bei den Bewegungsmeldern (und auch anderen Sensoren) so:
am Ende des Sensor-Makros:
.......
WARTE ("00:00:10")
BewMelderGarten ausschalten
so wird der Bewegunsmelder immer nach 10 Sekunden (die Zeit kannst du beliebig je nach Sensor setzen) wieder auf "normal" gesetzt. Vorraussetzung ist natürlich, dass das Häckchen bei "Ausführung bei Empfang" gesetzt ist - aber das muss ja eigentlich bei Bewegungsmeldern immer so sein damit man was machen kann wenn der Melder anspricht.
Wenn man das rücksetzten in dem Makro macht hat es auch den Vorteil, dass die Anzeige immer die bestimmte Zeit dauert, wenn man einfach alle 5 Sekunden zurücksetzt kann es ja sein, dass "rot" nur für einen Sekundenbruchteil (also praktisch gar nicht sichtbar) angezeigt wird.
Viel Erfolg
Didi
Ich mache es bei den Bewegungsmeldern (und auch anderen Sensoren) so:
am Ende des Sensor-Makros:
.......
WARTE ("00:00:10")
BewMelderGarten ausschalten
so wird der Bewegunsmelder immer nach 10 Sekunden (die Zeit kannst du beliebig je nach Sensor setzen) wieder auf "normal" gesetzt. Vorraussetzung ist natürlich, dass das Häckchen bei "Ausführung bei Empfang" gesetzt ist - aber das muss ja eigentlich bei Bewegungsmeldern immer so sein damit man was machen kann wenn der Melder anspricht.
Wenn man das rücksetzten in dem Makro macht hat es auch den Vorteil, dass die Anzeige immer die bestimmte Zeit dauert, wenn man einfach alle 5 Sekunden zurücksetzt kann es ja sein, dass "rot" nur für einen Sekundenbruchteil (also praktisch gar nicht sichtbar) angezeigt wird.
Viel Erfolg
Didi