Hauptmenü

Toggle Simulieren

Begonnen von Tropaion, 23 April 2015, 20:47:40

Vorheriges Thema - Nächstes Thema

Tropaion

Hallo Com,
ich möchte ein togglen simulieren, weil ich ein Gerät schalten will, welches nur on/off kann, ich aber mit einem Taster bedienen möchte.
Versucht habe ich es mit diesem Code:
fabian.ambilight.taster:Short.* {
if ({Value("fabian.ambilight")} eq "on") {
  fhem "set fabian.ambilight on"
} else {
  fhem "set fabian.ambilight off"
}
}


Das auslesen des aktuellen Zustandes funktioniert leider nicht richtig. Ich habe zwar in der CommandRef nachgesehen, verstehe es aber nicht ganz.
Kann mir jemand sagen/erklären was ich falsch mache?

Mfg,
Tropaion

Paul

eq =, ne <>

Du willst bei on einschalten
Cubietruck, HM-USB, CUL, FS20, FHT, HUE, Keymatic

Tropaion

fabian.ambilight.taster:Short.* {
if ({Value("fabian.ambilight")} eq "on") {
  fhem "set fabian.ambilight off"
} else {
  fhem "set fabian.ambilight on"
}
}


Ok, das war auch ein Fehler, habe es geändert.
Jedoch besteht immer noch das Problem das er denn aktuellen Statuswert nicht auslest.
Darum springt er jetzt ich immer in denn "else"-Bereich in will einschalten.

Puschel74

Zitat von: Paul am 23 April 2015, 20:53:30
eq =, ne <>

Du willst bei on einschalten
Und weiter  ???

if ({Value("fabian.ambilight")} eq "on") {
  fhem "set fabian.ambilight on"

Wenn ambilight bereits on ist willst du es on schalten?
Ok aber was soll das bringen?
Ich würde on und off vertauschen beim set dann sollte es klappen - wenn im Logfile nicht noch zusätzliche Meldungen aufschlagen.

Zumal mich hier
if ({Value("fabian.ambilight")} eq "on") {
die { } um Value etwas verwirren.
Aber gut - jeder wie er will.

Edith: Bereits erledigt
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Tropaion

Er kann denn Status einfach nicht auslesen. Das mit if habe ich übersehen.

Gerade im Logfile gesehen, der wirft was aus:

2015.04.23 20:58:24 1: PERL WARNING: Odd number of elements in anonymous hash at (eval 328) line 2.
2015.04.23 20:58:24 3: eval: {
if ({Value("fabian.ambilight")} eq "on") {
  fhem "set fabian.ambilight off"
} else {
  fhem "set fabian.ambilight on"
}
}
2015.04.23 20:58:24 3: fabian.ambilight RGB LW12 set on (0, 0, 100) 0
2015.04.23 20:58:24 3: fabian.ambilight set HSV 0, 0, 100 with ramp: 0, flags:

Puschel74

Sollte eigentlich alles in der Fehlermeldung stehen.
Versuch mal
if (Value("fabian.ambilight") eq "on") {
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Tropaion

Hey super, danke funktioniert!

Ich dachte, da ja Value eine eigene Operation ist, das man sie in {} setzen muss.

Habe leider keine Perl-Erfahrung (nur C und PHP -.-) und bin noch am einlernen