Hauptmenü

DOIF mit Zeitbegrenzung

Begonnen von elektro_rainer, 13 Juli 2017, 11:08:17

Vorheriges Thema - Nächstes Thema

elektro_rainer

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?

pc1246

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
HP T610
Onkyo_AVR;Enigma2; SB_Server; SB_Player; HM-USB; PhilipsTV; harmony hub; Jeelink mit PCA301; Somfy; S7-300; LGW; HUE; HM-IP auf Charly; div

CoolTux

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>)
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

elektro_rainer

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 ;-)

nils_

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"
viele Wege in FHEM es gibt!