FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: noanda am 23 März 2014, 21:46:35

Titel: Knoten im Kopf bei If - elsif
Beitrag von: noanda am 23 März 2014, 21:46:35
Hallo zusammen,

ich will erreichen, dass wenn es draußen mehr als 16 Grad sind die Heizungen auf "OFF" gehen. Wenn keiner da ist (Hier über einen Dummy) 16 Grad Gehalten werden, und es Kälter ist als 16 Grad und jemand da ist, sollen die Heizungen auf "AUTO" laufen.

Bekomme aber den Fehler nicht aus dem Ding:
define HZGTest notify (Wetter|PresentDummy1) {\
   if (ReadingsVal("Wetter","temp_c","") >= 16 && Value("PresentDummy1") eq "%") {\
   fhem ("set KZLHeizungK04 controlManu off");;\
   }\
elsif {\
   if (ReadingsVal("Wetter","temp_c","") < 16 && Value("PresentDummy1") eq "off") {\
   fhem ("set KZLHeizungK04 controlManu 16.0");;\
   }\
else {\
   if (ReadingsVal("Wetter","temp_c","") < 16 && Value("PresentDummy1") eq "on") {\
   fhem ("set KZLHeizungK04 controlMode auto");;\
   }\
}}}


define PresentDummy1 dummy
attr PresentDummy1 fp_WPlan 450,400,2,
attr PresentDummy1 setList state:on,off
attr PresentDummy1 webCmd state


Wo habe ich mich verschrieben ???? Hilfe
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: Damian am 23 März 2014, 22:08:33
Wie oft kommt denn dein EVENT von "Wetter" ?

Gruß

Damian
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: noanda am 23 März 2014, 22:23:28
 Alle 60 Minuten
Aber es gibt kein Update wenn die Werte sich nicht ändern
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: Damian am 23 März 2014, 22:34:13
Zitat von: noanda am 23 März 2014, 22:23:28
Alle 60 Minuten

das geht ja noch, sonst würdest du sehr oft deine Heizung schalten:

Was hältst du von:


define HZGTest notify (Wetter|PresentDummy1)
IF ([Wetter:temp_c] >= 16)
  (set KZLHeizungK04 controlManu off)
ELSE (
  IF ([PresentDummy1] eq "off")
    (set KZLHeizungK04 controlManu 16.0)
  ELSE
    (set KZLHeizungK04 controlMode Auto)
)


Bei weiteren Fragen hier schauen: http://forum.fhem.de/index.php/topic,17895.msg118503.html#msg118503

Gruß

Damian
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: noanda am 23 März 2014, 22:44:55
Super danke, werde es morgen testen. Muss morgen so früh raus. Wie gesagt Knoten im Kopf.
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: noanda am 25 März 2014, 08:10:38
Hallo Damian,

habe es gestern mal geteste, geht bei mir leider nicht. Obwohl update und Update force, bekomme ich immer noch die Medlunf Comand Unkow. Wo finde ich Dein Modul zum nachinstallieren?

Ich denke es geht, aber ich habe das Modul nich und damit natürlich kein Zugriff auf den Befehl.
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: Damian am 25 März 2014, 09:28:12
Zitat von: noanda am 25 März 2014, 08:10:38
Hallo Damian,

habe es gestern mal geteste, geht bei mir leider nicht. Obwohl update und Update force, bekomme ich immer noch die Medlunf Comand Unkow. Wo finde ich Dein Modul zum nachinstallieren?

Ich denke es geht, aber ich habe das Modul nich und damit natürlich kein Zugriff auf den Befehl.

Wie kommst du denn sonst an die FHEM-Module? Ich habe den Download bewusst gestrichen, damit es keinen Wildwuchs mit verschiedenen Versionen des Befehls gibt.

Gruß

Damian
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: noanda am 25 März 2014, 09:33:02
Ist ja auch richtig, normal über Update, aber ich kann ja nicht mal sehen ob es drauf ist, denn ich habe den Namen des Moduls nicht.
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: betateilchen am 25 März 2014, 09:51:25
98_IF.pm
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: noanda am 25 März 2014, 09:52:49
Werde nachher mal schauen ob ich die schon habe. Vielen Dank
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: Damian am 25 März 2014, 10:19:04
Und ob der Befehl in FHEM korrekt installiert ist, einfach IF in der Kommadozeile aufrufen, dann sollte die Syntax des Befehls auf dem Bildschirm kommen:

IF (<condition>) (<FHEM commands1>) ELSE (<FHEM commands2>)

Gruß

Damian
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: noanda am 25 März 2014, 12:06:45
Obwohl IF Richtig installiert ist, und ich über

reload 98_IF

das Modul aufrufen kann, auch die Eingabe von IF:
IF (<condition>) (<FHEM commands1>) ELSE (<FHEM commands2>)


bekomme ich beim speicher die Meldung:

Usage: define notify IF: no left bracket: Unknown command (set, try help. Unknown command ELSE, try help. IF: unknown Device: PresentDummy1 Unknown command (set, try help. Unknown command ELSE, try help. Unknown command (set, try help. Unknown command ), try help.



Sas mache ich falsch ?
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: betateilchen am 25 März 2014, 12:13:13
Zeige doch einfach mal den Code, den Du gerade tatsächlich versuchst, zu verwenden.
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: Damian am 25 März 2014, 12:15:41
Zitat von: noanda am 25 März 2014, 12:06:45
bekomme ich beim speicher die Meldung:

Usage: define notify IF: no left bracket: Unknown command (set, try help. Unknown command ELSE, try help. IF: unknown Device: PresentDummy1 Unknown command (set, try help. Unknown command ELSE, try help. Unknown command (set, try help. Unknown command ), try help.


IF mekert doch bereits, dass ihm eine Klammer fehlt.

Ohne Code können wir hier lange raten.

Gruß

Damian
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: noanda am 25 März 2014, 12:28:15
Hallo Damian,

zum Testen habe ich eigentlich Deinen Code 1:1 übernommen.

define HZGTest notify (Wetter|PresentDummy1)
IF ([Wetter:temp_c] >= 16)
  (set KZLHeizungK04 controlManu off)
ELSE (
  IF ([PresentDummy1] eq "off")
    (set KZLHeizungK04 controlManu 16.0)
  ELSE
    (set KZLHeizungK04 controlMode Auto)
)
define PresentDummy1 dummy
attr PresentDummy1 fp_WPlan 450,400,2,
attr PresentDummy1 setList state:on,off
attr PresentDummy1 webCmd state



Aber vielleicht suche ich noch mal. Wie gesagt gerade Knoten im Kopf
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: Damian am 25 März 2014, 13:08:25
Wenn die Fehlermeldung nicht eindeutig ausfällt, dann kannst du immer Teile deines Befehls in der Kommandozeile testen, hier z. B.

IF ([Wetter:temp_c] >= 16)   (set KZLHeizungK04 controlManu off)

wenn das klappt kannst du probieren:

IF ([PresentDummy1] eq "off") (set KZLHeizungK04 controlManu 16.0)  ELSE  (set KZLHeizungK04 controlMode Auto)

und dann, wenn alles funktioniert, beide zusammengesetzt ohne notify

IF ([Wetter:temp_c] >= 16) (set KZLHeizungK04 controlManu off) ELSE (IF ([PresentDummy1] eq "off")(set KZLHeizungK04 controlManu 16.0) ELSE  (set KZLHeizungK04 controlMode Auto))

und als letztes in notify kopieren.

So sollte man das Problem relativ schnell einkreisen können.

Gruß

Damian
Titel: Antw:Knoten im Kopf bei If - elsif
Beitrag von: Damian am 25 März 2014, 13:11:48
Da fällt mir gerade auf, dass du mir wahrscheinlich deine cfg-Datei gezeigt hast. Den Befehl musst du aber in der DEF-Zeile des notifys eingeben, dann kommt in der cfg-Datei immer ein \ am Ende jeder Zeile.

Bitte nach Möglichkeit nie die cfg-Datei editieren.

Gruß

Damian