Hallo,
ich möchte feststellen ob es Außen kühler als innen ist und mit Zeitlich begrenzt eine Nachricht schicken, später sollen dann die Rolladen gesteuert werden.... aber ich scheitere schon am DOIF....
Folgendes DOIF möchte ich nehmen:
define Rollo_Auto DOIF ([KNX_1002] < [KNX_8302]) ([16:00-22:00] set teleBot message Rolladen hoch) DOELSE ([08:00-15:00] set teleBot message Rolladen runter)
ich bekomme immer wieder folgende Fehlermeldung:
[16:00-22:00] set teleBot message Rolladen hoch: Unknown command [16:00-22:00], try help.
Hat jemand eine Idee für mich?
Hallo Rainer
Bei DOIF gibt es einen Bedingungsteil und einen Ausfuehrungsteil. Du aber hast in die Ausfuehrungsteile jeweils noch eine Bedingung reingetan. Das geht so nicht. Du musst die Urzeit auch in den Bedingungsteil packen!
Gruss Christoph
Am besten Du schaust Dir mal in aller Ruhe für eine Stunde die Commandref zu DOIF an. Wenn Du da 3-4 Beispiele Gedanklich korrekt nachvollziehen kannst, hast Du DOIF ein bisschen Verstanden und wirst Deine Aufgabe ohne Probleme selbst lösen können.
define <name> DOIF (<Bedingung>) (<Befehle>) DOELSEIF (<Bedingung>) (<Befehle>) DOELSEIF ... DOELSE (<Befehle>)
danke euch,.. machmal sieht man den wald vor lauter bäumen nicht...
das hier scheint nun zu funktionieren:
define RolladenAutomatik DOIF \
([16:00-22:00] & ([KNX_1002] < [KNX_8302])) (set teleBot message Rolladen hochf) DOELSE \
([08:00-15:00] & ([KNX_1002] > [KNX_8302])) (set teleBot message Rolladen runter)
merci ;-)
Zitat von: elektro_rainer am 13 Juli 2017, 13:30:44
das hier scheint nun zu funktionieren:
das vermute ich nicht.
bei DOELSE gibt es keinen Bedinungsteil mehr, den gibt es wenn dann nur bei DOELSEIF
siehe auch
Zitat von: CoolTux am 13 Juli 2017, 12:14:56
define <name> DOIF (<Bedingung>) (<Befehle>) DOELSEIF (<Bedingung>) (<Befehle>) DOELSEIF ... DOELSE (<Befehle>)
ob das einzelne & in perl/DOIF geht weiß ich so auf anhieb nicht (vermute aber nein!).
mach entweder "&&" oder "and"