[Gelöst] Syntax bei Abfrage von zwei Abhängigkeiten

Begonnen von MacReiner, 28 November 2014, 15:12:29

Vorheriges Thema - Nächstes Thema

MacReiner

Hallo zusammen,

ich hab grad einen Nagel im Kopf...

In Abhängigkeit von $we und einem Dummy "Urlaubsschalter" möchte ich zwei Rolladen auffahren lassen.
Es funktioniert schon, wenn ich nur das WE berücksichtige (...is sicher eher trivial...):
define Rollo.Sven.hoch at *07:20 {\ fhem("set FS20_b54310,FS20_b543bb on") if(!$we) }

Nun soll der Schalter zusätzlich eingreifen. Bei Urlaub wird er manuell gesetzt und die Rollos sollen unten bleiben.
So habe ich es mir gedacht, klappt aber nicht:
define Rollo.Sven.hoch at *15:02 if (Value("Urlaubsschalter") eq "off" && "$we" ne "1")

Kann jemand meine Unwissenheit etwas erhellen? ;-)


Danke
Reiner
viele Grüße
Reiner

Puschel74

Hallo,

schonmal einen Blick ins Logfile geworfen  ???

Grüße
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.

MacReiner

ja klar, sorry, hätte ich gleich dazu schreiben sollen:

2014.11.28 15:00:00 3: Rollo.Sven.hoch: IF: no left bracket:

viele Grüße
Reiner

Puschel74

#3
Und nun passt aber die Meldung nicht zu deinem geposteten Code.
if != IF
Abgesehen davon fehlt bei deinem Code nochwas.
Vergleich doch mal die 2 geposteten Zeilen von dir.

Edith: Zumal auch die Uhrzeit der Meldung NICHT zum Ausführungszeitpunkt des at passt.
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.

MacReiner

#4
mmmmh, ich habe jetzt noch einmal ausprobiert:

Das sagt das Logfile:
2014.11.28 15:20:00 3: Rollo.Sven.hoch: IF: no left bracket:

Das steht in der cfg:
define Rollo.Sven.hoch at *15:20 if (Value("Urlaubsschalter") eq "off" && "$we" ne "1")

Adlerauge:

define Rollo.Sven.hoch at *15:33 if (Value("Urlaubsschalter") eq "off" && "$we" ne "1") }

liefert:
2014.11.28 15:33:00 3: Rollo.Sven.hoch: IF: no left bracket:  }
viele Grüße
Reiner

Doggiebert

if / IF sehr seltsam, passt irgendwie nicht zusammen, aber unabhängig davon:
1.) was soll Dein Statement eigentlich machen, wenn das if greift? Da fehlt die Anweisung...
2.) warum erweiterst Du nicht einfach Deinen ursprünglichen Ausdruck, der ja funktioniert, mit Deiner neuen if-Bedingung?
SW: FHEM 5.5, Raspian, XBMC, Testinstallation auf Win7
HW: Raspi B, 32GB SD, enocean Pi, RFXTRX433E, BSC - MwC-32, Onkyo TX-NR709, Samsung UE55F8090, Jung LS-Eno, permundo SmartPlug, KDG-FB 6490cable (ohne FHEM)

Puschel74

@Doggie
Darauf wollte ich hinaus - aber der Fragesteller sollte es selbst erkennen  ;)
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.

MacReiner

#7
zu 1:

Wenn der Dummy Urlaubsschalter oder wenn $we an ist, soll das Rollo morgens nicht hochfahren.



zu 2:

das würde ich ja gerne. Mir ist nur nicht geläufig, wie ich das ausdrücken muss...


Hach, mein Hund ärgert. Ich bin heute Abend wieder hier. Danke euch erst einmal.
Ich denke das nachher nocheinmal durch ;-)

Is ja echtes Hexenwerk, das.   8)
viele Grüße
Reiner

Doggiebert

@Puschel: verdammt, voll ins didaktische Fettnäpchen gegriffen   :-X  8)

Zitat von: MacReiner am 28 November 2014, 15:42:07
das würde ich ja gerne. Mir ist nur nicht geläufig, wie ich das ausdrücken muss...
Ist Dir schon geläufig, nur weißt Du's noch nicht.  ;D  Schau's Dir nochmal in Ruhe an, eigentlich hast Du schon alle Bausteine, nur halt falsch zusammengesetzt. Wuff....
SW: FHEM 5.5, Raspian, XBMC, Testinstallation auf Win7
HW: Raspi B, 32GB SD, enocean Pi, RFXTRX433E, BSC - MwC-32, Onkyo TX-NR709, Samsung UE55F8090, Jung LS-Eno, permundo SmartPlug, KDG-FB 6490cable (ohne FHEM)

MacReiner

Heureka!

Nach schweißtreibender Denkarbeit habe ich verstanden, was gefehlt hat  ;D

Es reicht tatsächlich nicht, den Dummy zu definieren, nein, ich muss auch noch festlegen, was zu tun ist...unglaublich, wie dumm so ein Rechner doch ist. Kann er sich doch denken... 8)

Das ist meine funktionierende Lösung:
define Rollo.Sven.hoch at *19:28 { if ( !($we) && (Value("Urlaubsschalter")) ne "on") { fhem("set FS20_b54310,FS20_b543bb on");; } }

Ein wenig noch an den Klammern geschoben, nun passt es.

Logfile:
2014.11.28 19:28:00 3: FS20 set FS20_b54310 on
2014.11.28 19:28:00 3: FS20 set FS20_b543bb on


Setze ich den Dummy Urlaubsschalter, bleiben die Rollos unten.

Vielen Dank für eure schnelle Unterstützung!
viele Grüße
Reiner

Puschel74

Hallo,

ZitatNach schweißtreibender Denkarbeit habe ich verstanden, was gefehlt hat
Und das ist auch der Hintergedanke den ich hier als Mod verfolge  ;)

Klar hätten wir dir hier in unseren ersten Antworten die richtige Lösung posten können aber - was hättest du dann daraus gelernt?
So ist es zwar für dich etwas "aufreibender" gewesen aber ich trau mich wetten DAS vergisst du nichtmehr so schnell  :P
Nun noch bitte den Beitrag passen kennzeichnen damit auch deine "Nachfolger" was davon haben  ;D
Danke.

Grüße
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.

MacReiner

viele Grüße
Reiner