Hallo Zusammen
ich möchte eine Homematic Funksteckdose mit der Anwesenheit koppeln, dazu habe ich einen Dummy Anwesenheit erstellt und wollte diesen per Anwesendcheck auf 1 oder 0 setzen
hier der Code vom Anwesendcheck:
{+*00:01:00 { if (Value("Handy_Ronny") eq "absent" && Value("Handy_Anne") eq "absent") { fhem("set Anwesenheit 0″) if (Value("Anwesenheit") ne "0") } else { fhem ("set Anwesenheit 1″) if (Value("Anwesenheit") eq "0");; } }
warum ändert sich der Status vom Dummy Anwesenheit nicht?
Könnt ihr mir hier weiterhelfen? Danke schonmal im Vorraus
P.S. wie kann ich den Status automatisch nachts ab 22:00 UHr auf 0 setzen, Hintergrund die Steckdose schaltet eine Zirkulationspumpe wenn jemand zu Hause ist, aber ab 22:00 Uhr muss das Ding ja nicht mehr weiterlaufen, sind ja alle im Bett ;-)
Schau zuerst mal ins Log, da sollte ne Fehlermeldung auf dich warten. Und dann im Einsteigerhandbuch ab Seite 26 alles zu at und notify.
Hm bekomme diese Fehlermeldung:
2015.02.06 13:56:30 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.02.06 13:56:47 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.02.06 13:57:03 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.02.06 13:57:24 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.02.06 13:57:25 3: Anwesendcheck: Unrecognized character \xE2; marked by <-- HERE after if (Value(<-- HERE near column 25 at (eval 380) line 2.
also meinst du das ich das komplett falsch aufgebaut habe und das lieber über ein notify machen sollte ?
Ich glaube deine Anführungszeichen sind falsch. Du benutzt " und ". Richting wären aber " und " (selbes Zeichen). Vermutlich benutzt du einen Editor der das automatisch beim Tippen ändert.
das habe ich jetzt geändert, bekomme jetzt folgende Fehlermeldung
2015.02.06 14:13:38 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.02.06 14:13:38 1: PERL WARNING: Use of uninitialized value in string eq at FHEM/Blocking.pm line 89.
2015.02.06 14:13:47 1: Error: CUL_HM_HM_LC_SW1_PL2_2AA449 has no TYPE
2015.02.06 14:13:47 1: Error: CUL_HM_HM_LC_SW1_PL2_2AA449 has no TYPE
2015.02.06 14:13:47 1: Error: CUL_HM_HM_LC_SW1_PL2_2AA449 has no TYPE
2015.02.06 14:13:47 1: Error: CUL_HM_HM_LC_SW1_PL2_2AA449 has no TYPE
2015.02.06 14:13:47 1: Error: CUL_HM_HM_LC_SW1_PL2_2AA449 has no TYPE
2015.02.06 14:13:47 1: Error: CUL_HM_HM_LC_SW1_PL2_2AA449 has no TYPE
2015.02.06 14:13:47 1: Error: CUL_HM_HM_LC_SW1_PL2_2AA449 has no TYPE
2015.02.06 14:13:52 1: Error: CUL_HM_HM_LC_SW1_PL2_2AA449 has no TYPE
2015.02.06 14:13:52 1: Error: CUL_HM_HM_LC_SW1_PL2_2AA449 has no TYPE
2015.02.06 14:14:09 3: Anwesendcheck: syntax error at (eval 469) line 1, near "*00:"
syntax error at (eval 469) line 7, near ";
}"
Missing right curly or square bracket at (eval 469) line 9, at end of line
also theoretisch sollte das so (unabhängig von der Logik) gehen:
{
if (Value("Handy_Ronny") eq "absent" && Value("Handy_Anne") eq "absent") {
fhem("set Anwesenheit 0") if (Value("Anwesenheit") ne "0")
} else {
fhem ("set Anwesenheit 1") if (Value("Anwesenheit") eq "0")
}
}
Zitat von: eule66 am 06 Februar 2015, 14:03:50
also meinst du das ich das komplett falsch aufgebaut habe und das lieber über ein notify machen sollte ?
Ja, leider :-) Das ist/war syntaktisch rund herum falsch. Die angedeutete at-Definition am Anfang (+*00:01:00), zeigt dass du den richtigen Ansatz hast, aber mit fhem hat das ganze wenig zu tun. Sieh dir bei der Gelegenheit auch gleich IF und DOIF in der commandref an.
@ weisswurstverkäufer es hat eine geschweifte klammer zum schluss gefehlt bekomme erstmal keine fehlermeldung mehr aber der state im dummy ändert sich nicht
@ nesges werde da mal reinschauen danke
@ nesges danke für den Tipp habe es jetzt folgendermaßen hinbekommen :)
define ZirkuPumpean DOIF ([Handy_Ronny] eq "present") (set Keller_Zirkulation on) DOELSEIF ([Handy_Ronny] eq "absent") (set Keller_Zirkulation off)
kann ich das jetzt genauso für das 2. Handy so machen oder überschneiden sich die Befehle dann ?
Zitat von: eule66 am 06 Februar 2015, 15:48:50
define ZirkuPumpean DOIF ([Handy_Ronny] eq "present" or [Handy_Anne] eq "present") (set Keller_Zirkulation on) DOELSEIF ([Handy_Ronny] eq "absent" and [Handy_Anne] eq "absent") (set Keller_Zirkulation off)
kann ich das jetzt genauso für das 2. Handy so machen oder überschneiden sich die Befehle dann ?
Wäre einen Versuch wert.
Zitat von: eule66 am 06 Februar 2015, 15:48:50
define ZirkuPumpean DOIF ([Handy_Ronny] eq "present") (set Keller_Zirkulation on) DOELSEIF ([Handy_Ronny] eq "absent") (set Keller_Zirkulation off)
DAS sieht jetzt nach fhem aus! ;-)
Zitatkann ich das jetzt genauso für das 2. Handy so machen oder überschneiden sich die Befehle dann ?
Siehe dazu maxrittis Vorschlag und spätestens wenn noch ein drittes Handy dazu kommt http://fhem.de/commandref_DE.html#structure
oder doch einfach das Residents modul...
Ok freue mich schonmal das ich das hinbekomme habe, werde das jetzt mal für das 2.handy ausprobieren?
Wie kann ich das jetzt noch steuern das die pumpe zb 22:00 Uhr ausgeht und der Zyklus morgen früh wieder startet?
Was ist das residents Modul kann es unter der commandref nicht finden?
Gesendet von meinem SM-N9005 mit Tapatalk
dann schau nochmal - unter devices...
@ hab es gefunden das sieht gleich mal schwieriger aus werd mich mal belesen ;)
@ der lolo wie ändern sich die stati der residents bzw wie kann man diese steuern?
Gesendet von meinem SM-N9005 mit Tapatalk
Das Residents Modul stellt in meiner konfiguration einfach die Wohnung da, ich habe dann noch Roomates - also Bewohner und Guests definiert... Die Stati änderst Du über einfache set befehle.
Zitatset rr_Michael home
bewirkt das im Residentsmodul der Residentshome zähler einen weiter hoch gezählt wird. So können beliebig viele mitbewohner "mitspielen" wenn das reading Residentshome <1 ist ist niemand mehr zuhause.
Vielleicht hilft dir dieser Thread noch ein bisschen weiter...
http://forum.fhem.de/index.php/topic,30586.msg234013.html#msg234013