FHEM Forum

FHEM - Hausautomations-Systeme => MAX => Thema gestartet von: C1500 am 30 August 2014, 09:45:30

Titel: MAX! Schaltsteckdose - Wie schaltbar machen
Beitrag von: C1500 am 30 August 2014, 09:45:30
Servus,

ich versuche gerade die MAX! Schaltsteckdose über FHEM schaltbar zu machen.
Vom Prinzip her ja kein Problem, einfach per "set desiredTemperature on" schalten.
Leider ist z.B. bei andFHEM ON und OFF nicht verfügbar.
Ich möchte jetzt per dummy "Schalter1" die Steckdosen schalten.

Das probiere ich so:
Zitatdefine schalter1 dummy
attr schalter1  setList on off
attr schalter1 room MAX
define umschalter1 notify MAX_0e6bed:* {fhem("set desiredTemperature on") if ($value{schalter1} ne "on")}
define umschalter2 notify MAX_0e6bed:* {fhem("set desiredTemperature off") if ($value{schalter1} ne "off")}

Angemeldet sind die Steckdosen so:
Zitat##Schaltsteckdosen##
define MAX_0e6bee MAX HeatingThermostat 0e6bee
attr MAX_0e6bee alias Steckdose Wohnzimmer
attr MAX_0e6bee room MAX

Wenn ich jetzt den Dummy-Schalter on oder off schalte passiert garnix.

Wo liegt mein Denkfehler?

Oder gibt es für die Schalter einen andere Möglichkeit sie anzumelden als "HeatingThermostat"?

Gruß Peer
Titel: Antw:MAX! Schaltsteckdose - Wie schaltbar machen
Beitrag von: Puschel74 am 30 August 2014, 10:47:09
Hallo,

ZitatWenn ich jetzt den Dummy-Schalter on oder off schalte passiert garnix.
Natürlich nicht, was soll auch passieren  ???

define umschalter1 notify MAX_0e6bed:* {fhem("set desiredTemperature on") if ($value{schalter1} ne "on")}
define umschalter2 notify MAX_0e6bed:* {fhem("set desiredTemperature off") if ($value{schalter1} ne "off")}


Die beiden Defines "hören" auf MAX_0e6bed und nicht auf den Dummy.
Einzig der Wert des Dummy wird im notify geprüft - was aber nichts bringt da das notify nicht triggert (nicht triggern kann).

define umschalter1 notify schalter1:.* {
  if($EVENT eq "on") {
    fhem("set MAX_0e6bed desiredTemperature on");
  } else {
    fhem("set MAX_0e6bed desiredTemperature off");
  }
}


Sollte klappen - ungetestet und ohne Gewähr ;Fehlermeldungen bitte hier posten.
Und ja, ich hasse Einzeiler (weil mir die u.U zu lang werden und ich sie dann nichtmehr blicke).

$value solltest du gegen Value ersetzen.

Grüße

Edith: Wobei das aber kein typisches MAX-Problem ist sondern eher im Code zu suchen ist  8)
Titel: Antw:MAX! Schaltsteckdose - Wie schaltbar machen
Beitrag von: C1500 am 30 August 2014, 11:14:12
Servus,
danke für die schnelle Hilfe.
Das der Notify auf den Max achtet hatte ich mir schon gedacht.

Ich habe es jetzt so probiert:
Zitatdefine schalter1 dummy
attr schalter1  setList on off
attr schalter1 room MAX
define umschalter1 notify schalter1:.* {
  if($EVENT eq "on") {
    fhem("set MAX_0e6bed desiredTemperature on");
  } else {
    fhem("set MAX_0e6bed desiredTemperature off");
  }
}

Aktuell bekomme ich beim speichern folgende Fehlermeldung:
ZitatUnknown command if($EVENT, try help. Unknown command fhem("set, try help. Unknown command }, try help. Unknown command fhem("set, try help. Unknown command }, try help. Unknown command }, try help. Unknown command if($EVENT, try help. Unknown command fhem("set, try help. Unknown command }, try help. Unknown command fhem("set, try help. Unknown command }, try help. Unknown command }, try help.

Ich finde "$EVENT" auch nicht in der commandref.

Oder gibt es eine andere Möglichkeit direkt einen Dummy als Schalter zu definieren der bei Betätigung ein Kommando ausführt?

Gruß Peer

ps: Auch ich finde mehrzeiler besser ;o)
Titel: Antw:MAX! Schaltsteckdose - Wie schaltbar machen
Beitrag von: Puschel74 am 30 August 2014, 11:19:31
Hallo,

meine codes sind NICHT für die fhem.cfg gedacht sondern können ausschliesslich nur per DEF verwendet werden.

Wenn du den Codes unbedingt in die fhem.cfg kopieren willst dann musst du sich selbst um die Zeilenenden kümmern.

Grüße

Edith: Bzgl. $EVENT siehe hier:
http://forum.fhem.de/index.php/topic,11886.0.html (http://forum.fhem.de/index.php/topic,11886.0.html)

Edith1: Wie man ein notify OHNE die fhem.cfg zu "quälen" eingeben kann wurde schon einige Male beschrieben.

Edith2:
ZitatOder gibt es eine andere Möglichkeit direkt einen Dummy als Schalter zu definieren der bei Betätigung ein Kommando ausführt?
Ein Dummy mit setList und webCmd wird per se die angegebenen Kommandos ausführen.
Wie FHEM darauf reagieren soll musst du im notify entscheiden.