Hat jemand eine Idee, was ich falsch gemacht habe?
in define binDa wird der esle-Zweig nicht ausgeführt.
Danke im Voraus.
define testDummy dummy
attr testDummy room Test
attr testDummy setList on off
define binDa at +*00:02 { if ( "testDummy(on)" ) { fhem("set testDummy off") } else { fhem("set Uhr off")}}
attr binDa room Test
Hallo,
naja,
ZitatHat jemand eine Idee, was ich falsch gemacht habe?
Das kommt drauf an was du dir davon erwartest:
{ if ( "testDummy(on)" ) { fhem("set testDummy off") } else { fhem("set Uhr off")}}
Aber wie der Titel schon sagt: Syntaxfehler
Es wäre etwas hilfreicher wenn du
a) deine Wünsche und
b) den Fehler posten würdest aber
c) werf ich mal meine Glaskugel an *polier*
Du möchtest, wenn TestDummy auf on steht diesen auf off stellen oder
Wenn TestDummy auf off steht die Uhr auf off stellen (vermute ich mal).
Das
{ if ( "testDummy(on)" )
macht erstmal nichts (was soll es auch machen??).
Im Wiki hat es jede Menge Beispiele wie mal mit Value den state eines Dummy abfragen kann - suchen und lesen.
Also wenn dann so
{ if (Value("testDummy" eq "on")
prüft ob der Wert des testDummy gleich on ist und macht dann i-was.
define binDa at +*00:02 { if (Value("testDummy" eq "on")) { fhem("set testDummy off") } else { fhem("set Uhr off")}}
Das ganze geht aber sicher noch kürzer nur bin ich nicht der "Beherrscher" der Einzeiler - ich kann dir das nur "aufdrösseln" auf mehrere Zeilen.
Grüße
Edith: Und auch dieses Beispiel ist sicher noch voll mit Fehler - also ohne Gewähr
Ja, die Glaskugel hat getroffen.
Ich probiere und lese schon den ganzen Tag daran herum. Da ich fast blind bin, fällt mir das Lesen sehr schwer. Trotzdem bemühe ich mich wirklich.
Mit der Syntax ("testDummy" eq "on" ..... hatte cih vorher erfolglos herumprobiert. Aber leider ohne "Value". Das hatte ich auch trotz laaaannnger Suche im Wiki nicht gefunden. Jetzt läuft alles, wie gewünscht.
Vielen Dank für die ausführliche Erklärung. Du hast dir da viel Mühe gemacht, das weiss ich zu würdigen, zumal es mir sehr geholfen hat.
Zu früh gefreut. Die Erklärung von Puschel74 machte zuerst den Anschein, als würde alles laufen, aber leider scheint immernoch nicht ausgewertet zu werden, ob testDummy auf on steht, doer auf off. vielleichthat noch jemand eine Idee, was ich machen könnte?
Kleiner Klammerfehler in Puschels Vorschlag. Versuch dies:
define binDa at +*00:02 { if (Value("testDummy") eq "on") { fhem ("set testDummy off") } else { fhem("set Uhr off") }}
Oh Mann, das war es echt. Ich hatte den Klammerfehler korrigiert, aber leider auch nur falsch. :-)
define binDa at +*00:00:10 { if (Value("testDummy" eq "on")) { fhem ...........
So gehts nicht.
Aber jetzt geht es.
Ich danke dir herzlich.