FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: hyper2910 am 02 Februar 2016, 22:33:14

Titel: Schalten wenn und
Beitrag von: hyper2910 am 02 Februar 2016, 22:33:14
Hallo,

Habe ein paar Probleme mit einer Zeitschaltuhr.

Die einfache Schaltung geht, aber erweitert um eine Anwesenheit nicht, hat jemand eine Idee?


Funktioniert

{ fhem("set Alarmanlagen_Dummy closed") if (!$we) }


Keine Funktion

{ fhem("set Alarmanlagen_Dummy closed") if (!$we) && ([DirkAnwesend] eq:"present") }
Titel: Antw:Schalten wenn und
Beitrag von: franky08 am 02 Februar 2016, 22:37:45
eq:
Richtig eq und Leerzeichen

und die Klammersetzung stimmt nicht
Titel: Antw:Schalten wenn und
Beitrag von: Bennemannc am 02 Februar 2016, 22:40:38
Hallo,

das es nachgestelltes if gibt, habe ich mittlerweile gelernt - mögen tu ich es immer noch nicht. Den : hinter eq verstehe ich nicht - zudem würde ich die beiden Bedingungen nach dem if klammern um auszuschließen, das perl da etwas anderes draus macht.
Warum alle Welt runter auf Perl geht um Vergleiche zu machen - es gibt doch genug Möglichkeiten das mit fhem zu machen. Entweder IF oder DOIF - wobei ich in diesem Fall mir mal DOIF ansehen würde.

Gruß Christoph
Titel: Antw:Schalten wenn und
Beitrag von: betateilchen am 02 Februar 2016, 22:52:01
Zitat von: Bennemannc am 02 Februar 2016, 22:40:38
Warum alle Welt runter auf Perl geht um Vergleiche zu machen

Weil perl einfach logischer zu verstehen ist. Aber wenn schon perl, dann bitte konsequent.

{ fhem("set Alarmanlagen_Dummy closed") if ((!$we) && Value("DirkAnwesend") eq "present") }
Titel: Antw:Schalten wenn und
Beitrag von: turo am 03 Februar 2016, 07:47:18
Genau! Perl rules!

Und wer das nachgestellte if nicht mag, zieht es eben nach vorne:
{ !$we && Value("DirkAnwesend") eq "present" && fhem("set Alarmanlagen_Dummy closed") }
Titel: Antw:Schalten wenn und
Beitrag von: marvin78 am 03 Februar 2016, 07:49:40
Zitat{ !$we && Value("DirkAnwesend") eq "present" && fhem("set Alarmanlagen_Dummy closed") }

@turo: Ist das dein Ernst?
Titel: Antw:Schalten wenn und
Beitrag von: turo am 03 Februar 2016, 07:53:40
Äh? Ja? Das tut doch! (Oder hätte ich doch erst meinen Kaffee zu Ende trinken sollen?) Nutzt die short circuit evaluation des "&&" Operators.
Titel: Antw:Schalten wenn und
Beitrag von: marvin78 am 03 Februar 2016, 08:02:31
Ich meinte eher, das hier im Anfängerforum zu posten. Kann man machen, ein if kann man aber auch anders voran stellen. Ich möchte mal wissen, welchen Anfänger das nicht verwirrt.
Titel: Antw:Schalten wenn und
Beitrag von: turo am 03 Februar 2016, 08:19:39
OK, da könntest Du Recht haben, dass das für manchen etwas harter Tobak ist. Aber "Anfängerforum" heisst doch nicht unbedingt "Programmieranfänger-Forum"? Und eine alternative Lösung mag ja für manchen der Anreiz sein, sich mal etwas tiefer mit Perl zu beschäftigen.

Es fehlte vielleicht der Disclaimer: "Das ist eine Alternative! Die müsst Ihr nicht verstehen! Sucht Euch die Lösung aus, die Ihr mögt und versteht und auch handhaben könnt!"

(Ich wollte eigentlich primär auf das "ich mag kein nachgestelltes if" eingehen.)
Titel: Antw:Schalten wenn und
Beitrag von: hyper2910 am 28 Februar 2016, 23:18:34
Hallo,

Danke nochmals für die Hilfe,  dies hat es auch getan, bis vor ca. Einer Woche.

Irgendwie schaltet nichts mehr. Haben sich irgendwelche Änderungen eingeschlichen welche ich im Urlaub übersehen habe?

*22:00:00 { fhem("set Alarmanlagen_Dummy closed") if ((!$we) && Value("DirkAnwesend") eq "present") }