FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Jan Hertel am 19 April 2014, 09:07:28

Titel: (Gelöst) Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 19 April 2014, 09:07:28
Hallo,
ich habe es jetzt geschafft meine Intertechno Steckdosen in Fhem einzubinden, nun möchte ich diese auch gerne über meinen vorhandenen FS20 Schalter ansprechen, wie lässt sich das realisieren?
Muß ich mit einem Watchdog arbeiten? oder gibt es irgendwelche anderen Lösungen?
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Rince am 19 April 2014, 09:47:19
Es gibt Szenarien, wo es sinnvoll erscheint. Deines gehört nicht dazu.

Schau doch mal in die Commandfref. Dort unter notify.

Das ist, was du suchst. Da ist sogar ein Beispiel drin, welches deinem Wunsch ziemlich gut entspricht :)
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 19 April 2014, 10:05:24
Hallo,
wenn ich

define Vitrine notify FS20_1be455 set Vitrine $EVENT

nehme kann ich über das webfontend mit dem FS20_1be455 die Vitrine Schalten, mit dem Hardwareschalter aber nicht, kann es daran liegen das ich mit dem  FS20_1be455  toggle ?
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Rince am 19 April 2014, 10:47:52
Da du nicht schreibst, was das jeweils ist, kann ich nur raten.
Ich empfehle Ulis Einsteigerdoku, da wird FS20 schön erklärt. Ist oben ein gepinntes Posting.

Ansonsten würde ich Vorschlagen, mach dir mal den Eventmonitor auf in einem zweiten Browserfenster.
Anschließend schalte per Webfrontend
Schau was im Eventmonitor steht.
Schalte am Schalter
Wieder nachsehen, was im Eventmonitor steht.

Das wird unterschiedlich sein nehme ich an, und der Unterschied ist dann wohl der Grund. Wenn wir den kennen, können wir uns sinnvoll um eine Lösung bemühen :)
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 19 April 2014, 17:32:34
Ich möchte wie oben geschrieben eine Intertechno Steckdose mit einem FS20 Schalter ansprechen, da das beides unterschiedliche Systeme sind stehen im Eventmonitor selbstverständlich unterschiedliche Befehle.
Ich würde gerne den Hardwareschalter FS20 Schalter_Vitrine schalten und damit die Intertechno Steckdose Vitrine ein und ausschalten, da ich beide ja nicht direkt miteinander anlernen kann dachte ich, ich kann den Befehl über FHEM umleiten.

etwa wie define Schalter_Vitrine set Vitrine on

oder so ähnlich

es würde mir wahrscheinlich schon reichen wenn ich wüsste wie ich mit einem Hardware FS20 Schalter eine structure oder einen dummy schalten kann, leider finde ich trotz suchen  keine Möglichkeit.
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: PeMue am 19 April 2014, 19:31:51
Ich habe es bei mir so
define FS20_54fc00_shutter_stop2 notify FS20_54fc00:off set WZ_Rollladen stop
gemacht. Aber wie Rince schon geschrieben hat, in Ulis Dokument ist das ganz gut beschrieben.

Gruß PeMue
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Puschel74 am 19 April 2014, 20:29:47
Hallo,

du brauchst weder eine structure noch einen dummy dazu.

Du musst in das notify den Befehl einbauen der deine Steckdose schaltet.
Ich vermute mal das $EVENT dazu nicht passt da deine Steckdose mit toogle nichts anfangen kann.
Das ist aber alles nur eine Vermutung daher möchte ich dir gerne die angepinnten Beiträge ans Herz legen.

Grüße
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Rince am 19 April 2014, 22:50:52
@Black 8
Schreibe ich undeutlich oder zu kompliziert?

Was ist an einem Copy&Paste aus dem Eventmonitor unverständlich?

Dann sähe man schön, welche Befehle jeweils gesendet werden, und könnten das notify entsprechend richtig schreiben.
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 21 April 2014, 18:37:02
@Rince

Der Befehl für die Steckdose zum einschalten lautet:
2014-04-21 18:31:09 IT Vitrine on
bzw. zum ausschalten:
2014-04-21 18:33:37 IT Vitrine off

der Befehl vom Schalter lautet:
2014-04-21 18:35:01 FS20 Schalter_Vitrine toggle

ich hoffe, es ist das was Du brauchst.
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Rince am 21 April 2014, 18:43:18
Nun,
das ist kein Copy & Paste aus dem Eventmonitor, sieht eher nach Logfile aus ;)
Tu mir doch den Gefallen und schau den Eventmonitor an. Du findest ihn links im Menü ziemlich weit unten.

Aber es gibt Puschel völlig recht, dass Toggle von deiner Steckdose nicht verstanden wird.
Also müssen wir daran arbeiten  ::)
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 21 April 2014, 18:47:26
Hier das copy  paste aus dem Eventmonitor:

2014-04-21 18:45:00 FS20 Schalter_Vitrine toggle
2014-04-21 18:45:01 IT Vitrine on
das sind die relevanten Einträge

es müsste sich doch mit einem IF lösen lassen
etwa so:

define Vitrine_on IF (Schalter_Vitrine eq "on") (set Vitrine on)
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Rince am 21 April 2014, 18:51:23
Na ja, der Rest ist schon auch spannend.
Er zeigt z.B., wann dein Notify auslöst. Nötig ist es nicht, aber es ist halt schöner zum lesen. Am besten, wenn du noch die Marker für Code benutzt zum posten ;)

Schau mal diesen Thread an:
http://forum.fhem.de/index.php/topic,18916.msg126334.html#msg126334

Da steht quasi die Lösung für ein ähnliches Problem drin ;)

Vielleicht kannst du das einfach bei dir umsetzen?
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 21 April 2014, 19:46:02
Danke für die Antwort, jetzt hakt es noch bei mir mit der Umsetzung, ich bekomme es irgendwie nicht hin.

define Wandtaster_T2 notify CUL_HM_HM_PBI_4_FM_2436B1_Btn_02 set schalter1 on

sieht bei mir so aus:

define Vitrine_notify notify Schalter_Vitrine:toggle { fhem "set Vitrine on" }



wie setze ich jetzt das:

define toggle1 dummy
define Wandtaster_T2 notify CUL_HM_HM_PBI_4_FM_2436B1_Btn_02 set schalter1 on;;set toggle1 on
define Wandtaster_T3 notify CUL_HM_HM_PBI_4_FM_2436B1_Btn_03 {\
  if (Value("toggle1") eq "on"){\
   fhem "set schalter1 off" ;;\
   fhem "set toggle1 off"}\
}


für mich um ?
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Rince am 21 April 2014, 20:09:59
Also:
Was da passiert:

Das Problem ist, das du mit dem toggle ja nicht weißt, ob ein oder ausgeschaltet wird. Also du schon, aber fhem nicht.

Was hier hilft, ist ein Dummy.

Dessen Wert kannst du nach Lust und Laune selber bestimmen.
Dieses Zusammenspiel schaltet nun den Dummy entsprechend dem Status von der Steckdose. Also on oder off.
Wenn jetzt ein toggle kommt, wird geprüft wie denn der Status von dem Dummy ist.

Je nachdem, kann man nun nämlich ein on oder ein off setzen. Zusätzlich muss man den Status vom Dummy aktualisieren :)

Mehr will ich dazu nicht schreiben. Liegt daran, das ich es nicht nachstellen kann. So gut, dir aus dem Stegreif einen fehlerfreien Code zu liefern, bin ich nicht.

Daher würde ich empfehlen, in der Commandref mal das Dummy Konzept nachzulesen.

Die if Geschichte steht ja schon fertig da :)
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Puschel74 am 21 April 2014, 20:21:10
Hallo,

wozu der Umweg über einen Dummy?
Kann die Steckdose vor Ort geschalten werden und bekommt das FHEM mit?
Dann hat aber der Dummy auch nichts davon  ???

Mal für die ersten Gehversuche:
define Vitrine_notify notify Schalter_Vitrine:toggle {
  fhem("set Vitrine on") if(Value("Vitrine") ne "on");
  fhem("set Vitrine off") if(Value("Vitrine") eq "on");
}

Achtung!
Nicht in die fhem.cfg kopieren - dafür sind meine Codeversuche nicht gedacht.
Immer brav das DEF bearbeiten  ;)

Grüße

Und bitte keine Meckereien wegen Fehler - die haben meine Codes immer an Board  ;D
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 22 April 2014, 15:28:55
Hallo Puschel,
danke erst mal für Deine Hilfe, es klappt jetzt mit
}};
{if(Value("Vitrine") eq "on")  { fhem("set Vitrine off") }}

bis zum einschalten der Vitrine, aber wie erweitere ich das für das wieder ausschalten?
define Vitrine_notify notify Schalter_Vitrine:toggle {if(Value("Vitrine") eq "off")  { fhem("set Vitrine on") }};;
{if(Value("Vitrine") eq "on")  { fhem("set Vitrine off") }}

klappt leider nicht, habe ich Syntaxfehler ?
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Puschel74 am 22 April 2014, 15:35:13
Hallo,

schau mal ins FHEM-Logfile.
FHEM sagt dir schon wenn was nicht passt  ;)

Grüße

Edith: dann zeig bitte den ganzen Code und beschreib bitte genau was geht und was nicht.
Und fummel nicht in der fhem.cfg rum - das mach ich nämlich auch nicht  ;)
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 22 April 2014, 17:03:58
Habe es jetzt mit
define Vitrine_notify notify Schalter_Vitrine:toggle {if(Value("Vitrine") eq "off") { fhem("set Vitrine on") }};;
{if(Value("Vitrine") eq "on") { fhem("set Vitrine off") }}

versucht, damit lässt sich die Vitrine nur einschalten wenn Status Vitrine off ist, aber nicht einschalten wenn Status Vitrine on ist
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: mi.ke am 22 April 2014, 17:56:39
geschweifte Klammern sind falsch.

So sollte es besser gehen (ungetestet) 8)

define Vitrine_notify notify Schalter_Vitrine:toggle {
    if(Value("Vitrine") eq "off") { fhem("set Vitrine on") };
    if(Value("Vitrine") eq "on") { fhem("set Vitrine off") };
    }



Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 22 April 2014, 18:03:55
mit

define Vitrine_notify notify Schalter_Vitrine:toggle {
    if(Value("Vitrine") eq "off") { fhem("set Vitrine on") };
    if(Value("Vitrine") eq "on") { fhem("set Vitrine off") };
    }



bekomme ich folgenden Fehler:

Unknown command if(Value("Vitrine"), try help. Unknown command if(Value("Vitrine"), try help. Unknown command }, try help
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Puschel74 am 22 April 2014, 18:06:47
Hallo,

ich versteh nicht ganz was an dem Code
define Vitrine_notify notify Schalter_Vitrine:toggle {
  fhem("set Vitrine on") if(Value("Vitrine") ne "on");
  fhem("set Vitrine off") if(Value("Vitrine") eq "on");
}

falsch sein soll?

Ich werd den später mal in meiner Testumgebung auf meine Dummys loslassen.

Ob das if vorher oder nachher kommt ist für FHEM (Perl) egal.
Es kann allerdings sein das der Empfänger ein- und sofort wieder ausschaltet.
Das muss ich, wie gesagt, nachher mal kurz testen.
Evtl. muss das noch etwas anders gekapselt werden.

Es gibt aber auch die Funktion Untoogle - ob die hier helfen kann muss Black8 mal versuchen.

Grüße
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 22 April 2014, 18:09:20
Untoggle habe ich gemacht, bringt aber nichts da bei Schalterbetätigung trotzdem der toggle Befehl gesendet wird und das untoggle nur Auswirkung auf das Webfontend hat.
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: mi.ke am 22 April 2014, 18:11:23
Bei der Fehlermeldung tippe ich auf einfügen des Codes in die cfg direkt und nicht (wie es gemacht werden sollte) über's DEV.....

Oder ?!
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 22 April 2014, 18:21:13
Über DEV bekomme ich bei:

define Vitrine_notify notify Schalter_Vitrine:toggle {
  fhem("set Vitrine on") if(Value("Vitrine") ne "on");
  fhem("set Vitrine off") if(Value("Vitrine") eq "on");
}



ein:Unknown module Schalter_Vitrine:toggle
Unknown command fhem, try help.
Unknown command }, try help.
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: mi.ke am 22 April 2014, 18:35:55
Zitat von: Black 8 am 22 April 2014, 18:03:55
mit

define Vitrine_notify notify Schalter_Vitrine:toggle {
    if(Value("Vitrine") eq "off") { fhem("set Vitrine on") };
    if(Value("Vitrine") eq "on") { fhem("set Vitrine off") };
    }



bekomme ich folgenden Fehler:

Unknown command if(Value("Vitrine"), try help. Unknown command if(Value("Vitrine"), try help. Unknown command }, try help


haste den Code mal im DEV versucht ?
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 22 April 2014, 18:43:25
Jetzt bin ich doch verunsichert, was ist DEV ?
Ist es nicht das Eingabefeld oben ?

Dort habe ich
define Vitrine_notify notify Schalter_Vitrine:toggle {
    if(Value("Vitrine") eq "off") { fhem("set Vitrine on") };
    if(Value("Vitrine") eq "on") { fhem("set Vitrine off") };
    }


mit folgenden Fehler: Unknown command if(Value("Vitrine"), try help.
Unknown command }, try help.
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Puschel74 am 22 April 2014, 18:46:11
Den Code kannst du so 1:1 nicht in das Befehlsfeld kopieren.

Versuch es so:
define Vitrine_notify notify Schalter_Vitrine:toggle {}
Dann Enter.
Nun hast du links vom Codeteil DEF stehen.
Drauf klicken und
if(Value("Vitrine") eq "off") { fhem("set Vitrine on") };
    if(Value("Vitrine") eq "on") { fhem("set Vitrine off") };

zwischen de geschweiften Klammern einfügen.

Und dann darunter auf modify klicken.
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: mi.ke am 22 April 2014, 18:50:01
naja fast...

bei der eingabe dort mit geschweiften Klammern vergisst er immer die letzte.

ich bin davon ausfegangen, das Du Dein "Vitrine_notify" bearbeitest.

Und zwar über den Internen FHEM Editor. Wenn Du das immer neu in die Zeile oben eingibst, dann sollte sowas kommen wie "Schon vorhaben, kann nicht angelegt werden"
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 22 April 2014, 18:54:30
Danke für Eure Geduld,
habe es jetzt in der DEV gemacht, als Ergebnis schaltet die Vitrine ein und sofort wieder aus.
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Puschel74 am 22 April 2014, 18:56:21
Hallo,

Zitatschaltet die Vitrine ein und sofort wieder aus.
Meine Rede.

Ich bin dran - bischen Geduld bitte.

Grüße
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: mi.ke am 22 April 2014, 19:00:42
OT.
Vermaledeiter UMTS Stick ! ! ! ! Mieser Empfang
OToff


Das Ding heisst DEF (mein Fehler)

Wenn Du auf den Link DEF klickst, kannst Du den Code bearbeiten.


Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 22 April 2014, 19:01:47
Habe es jetzt verstanden, danke für die gute Erklärung
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Puschel74 am 22 April 2014, 19:03:00
Hallo,

so klappt es mit meinen beiden Dummy einwandfrei.

Schalter_Vitrine:toggle {
  if(Value("Vitrine") ne "on") {
    fhem("set Vitrine on");
  }
  else {
    fhem("set Vitrine off");
  }
}

Einfach den Teil im DEF anpassen.

Hier hab ich noch einen Beitrag gefunden:
http://forum.fhem.de/index.php/topic,17496.msg115065.html#msg115065 (http://forum.fhem.de/index.php/topic,17496.msg115065.html#msg115065)
Der untere Teil beschreibt das "arbeiten" ohne die fhem.cfg anfassen zu müssen.
Also zumindest einen Teil davon  ;D

Grüße
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Jan Hertel am 22 April 2014, 19:06:41
@Puschel,
vielen Dank es Klappt alles Super, Danke das Ihr so geduldig wart und euch die Zeit genommen habt
Titel: Antw:Intertechno mit FS20 Schalten
Beitrag von: Puschel74 am 22 April 2014, 19:08:42
Hallo,

Gern geschehen.

Bitte noch den Beitrag als Gelöst markieren - Danke.

Grüße