Hallo,
kann ich mit if mehrere kombonenten abfragen?
zB.: habe ich 3 XBMC´s am laufen und einen bewegungs melder --> jetzt will ich wenn eine bewegung stat findet "motion" abfragen welcher XBMC an ist (das mach ich mit Ping und present und absent => das klappt auch)
=> Aufgabenstellung
wenn motion => dann
- if XBMC1 => present => set bla bla
- if XBMC2 => present => set bla bla
- if XBMC3 => present => set bla bla
--> wenn XBMC1 oder 2 nicht online ist sollte das trotzdem funktunieren ...
Ich habe mir das so vorgestellt ;D :
define nfy_CAM_I_motion notify DY_CAM_I:motion {\
if ( Value("pc1") ne "absent") {fhem ("set XBMC1 addon script.CAM_I id 1")\
if ( Value("pc2") ne "absent") {fhem ("set XBMC2 addon script.CAM_I id 1")\
if ( Value("pc3") ne "absent") {fhem ("set XBMC3 addon script.CAM_I id 1")\
}
--> klappt leider nicht => ich habe die klammern schon umgestellt und geändert nur bekomm ich das nicht hin ... :o
- Öffnende und schliessende Klammern müssen in Summe immer 0 geben
- Du benutzt verschiedene Gänsefüßchen
- 3. mach es nicht in der Config sondern in der WebUI da gibt es einen JS Editor, der Dir die Klammern anzeigt und Du hast nicht die Maskierungsprobleme mit \;, usw
- codetags machen das ganze infacher lesbarer hier im Forum
- was sagt das LOG?
dann sollte es schon funktionieren ....
Zitat=> Aufgabenstellung
wenn motion => dann
- if XBMC1 => present => set bla bla
- if XBMC2 => present => set bla bla
- if XBMC3 => present => set bla bla
--> wenn XBMC1 oder 2 nicht online ist sollte das trotzdem funktunieren ...
Ich habe mir das so vorgestellt ;D :
define nfy_CAM_I_motion notify DY_CAM_I:motion {\
if ( Value("pc1") ne "absent") {fhem ("set XBMC1 addon script.CAM_I id 1")\
if ( Value("pc2") ne "absent") {fhem ("set XBMC2 addon script.CAM_I id 1")\
if ( Value("pc3") ne "absent") {fhem ("set XBMC3 addon script.CAM_I id 1")\
}
define nfy_CAM_I_motion notify DY_CAM_I:motion {
if ( Value("pc1") ne "absent") fhem ("set XBMC1 addon script.CAM_I id 1");
if ( Value("pc2") ne "absent") fhem ("set XBMC2 addon script.CAM_I id 1");
if ( Value("pc3") ne "absent") fhem ("set XBMC3 addon script.CAM_I id 1");
}Code für die WebUI
Hey Wuppi
danke für die guten Tipps habe die COnfig erstmal umgestellt das mit der Formatierung der Gänsefüschen passiert wenn man in Word versucht die Cods zu schreiben :-(
hab dein Vorschlag getestet leider ohne erfolg im Log steht:
return value: Unknown command {
if, try help.
Unknown command if, try help.
Unknown command if, try help.
Unknown command }
paste das mal so in den DEF Abschnitt in der WebUI ...
define nfy_CAM_I_motion notify DY_CAM_I:motion {
if ( Value("pc1") ne "absent") fhem ("set XBMC1 addon script.CAM_I id 1");
if ( Value("pc2") ne "absent") fhem ("set XBMC2 addon script.CAM_I id 1");
if ( Value("pc3") ne "absent") fhem ("set XBMC3 addon script.CAM_I id 1");
}
der Coe sieht auf den ersten Blick gleich aus, es ist aber jetzt ein Leerzeichen nach der Klammer auf (also 2 vor dem if :-) )
Hallo Wuppi
--> geht immer noch nicht im Log steht
PERL WARNING: Bareword found where operator expected at (eval 9297) line 4, near ") fhem"
2015.10.07 16:02:01 3: eval: {
if ( Value("pc1") ne "absent") fhem ("set XBMC1 0815");
if ( Value("pc2") eq "absent") fhem ("set XBMC2 0815");
if ( Value("pc3") ne "absent") fhem ("set XBMC3 0815");
return value: syntax error at (eval 9297) line 2, near ") fhem "
syntax error at (eval 9297) line 3, near ") fhem "
syntax error at (eval 9297) line 4, near ") fhem "
--> kann doch nicht so schwehr sein ...
geb mal bitte
{Value("pc")}
in die Ausführungszeile ein oder dem Telnet Prompt ein
klappt das?, weil bei mir funktioniert folgender Part im DEF Teil der GUI Problemlos
hm.remote.1.2
{
if (ReadingsVal("hm.motion.1", "brightness", "50") < 40)
{ fhem "set hm.dim.1 12" }
else
{ fhem "set hm.dim.1 off" }
if (ReadingsVal("harmony.hub.1", "activity", "undefined") eq "TV")
{ fhem "set harmony.hub.1 off"}
else
{ fhem "set harmony.hub.1 activity TV"}
}
so geht's nicht {Value sondern { fhem
AKT
{
if (Value("pc1") ne "absent")
{ fhem "set XBMC1 $EVENT"}
if (Value("pc2") eq "on")
{ fhem "set XBMC2 $EVENT"}
if (Value("pc3") ne "absent")
{ fhem "set XBMC3 $EVENT"}
}
--> Super Danke, dein Part hat mich auf die Idee gebracht :-)