FHEM Forum

FHEM => Automatisierung => Thema gestartet von: gelberlemmy am 28 Januar 2013, 13:00:05

Titel: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 28 Januar 2013, 13:00:05
Hallo,

Ich würde gern mit einem Dummy Schalter
ein Notify Befehl ein oder ausschalten .
Kann man den State Status damit von Activ
auf Inactiv und anders herum Schalten ???
Oder wie würdet ihr das realisieren ????

Gruß André
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: Puschel74 am 28 Januar 2013, 17:20:19
Hallo,

sollte mit attr <Name> disabled 1 und disabled 0 funktionieren.
So in etwa:

define Dummy_EinAus dummy
attr Dummy_EinAus eventmap /on:Activ/off:Inactiv/


define Dummy_Schalten notify Dummy_EinAus:.* {
  if ("%" eq "on") {
    fhem ("attr <NamedesNotify> disabled 0");
  }
  else {
    fhem ("attr <NamedesNotify> disabled 1");
  }
}


Ungetestet und aus dem Kopf.
Das geht sicher noch eleganter.

Grüße
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 28 Januar 2013, 19:27:46
Danke für die Antwort.
So habe dies in mein Config eingeschrieben:

define Dummy_EinAus dummy
attr Dummy_EinAus eventmap /on:Activ/off:Inactiv/

define Dummy_Schalten notify Dummy_EinAus:.* {
  if ("%" eq "on") {
    fhem ("attr <Alarm_zu_Hause> disabled 0");
  }
  else {
    fhem ("attr <Alarm_zu_Hause> disabled 1");
  }
}
Als Fehlermeldung dies bekommen:

ERROR:

Dummy_EinAus: unknown attribute eventmap, choose one of room group comment alias eventMap userReadings loglevel:0,1,2,3,4,5,6 setList devStateIcon fm_fav fm_groups fm_name fm_order fm_type fm_view icon webCmd or use attr global userattr eventmap Unknown command if, try help Unknown command fhem, try help Unknown command }, try help Unknown command else, try help Unknown command fhem, try help Unknown command }, try help Unknown command }, try help


Hab ich etwas falsch verstanden ?
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: Puschel74 am 28 Januar 2013, 19:39:41
Nein,

eventmap sollte nur eventMap lauten.
Steht auch so in der Fehlermeldung ;-)

Grüße

P.S.: Wie geschrieben - ungetestet und nur aus dem Kopf raus
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: Puschel74 am 28 Januar 2013, 19:42:01
Ach so, noch was.

Wenn du den Code, so wie von mir eingestellt, in deine fhem.cfg kopierst musst du dich bitte selbst um das schützen kümmern.
Ich bearbeite grundsätzlich nur die DEF`s meiner cfg`s, daher schütze ich keine Zeilenumbrüche und sonstiges.

Grüße
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 29 Januar 2013, 09:46:53
ok so steht es jetzt bei mir drin:



#############Alarmanlage######################

define Alarm_zu_Hause notify .*:Window.*(Open|Closed) { \
  my $window_state=ReadingsVal("@", "Window", "nA");;\
  my $deftype=$defs{@}{TYPE};;\
  return if ( $deftype ne "CUL_FHTTK" );;\
  if ( $defs{@}{PREVSTATE} ne $window_state ) { \
    my $fhttk_status=FHTTK_status;;\
    my $subject="FHEM: Fenster @ ".$window_state;; \
    DebianMail('8c4337dc1a0983412f00222507d92c1a6cdcef29@@api.prowlapp.com' (@@api.prowlapp.com'),$subject,$fhttk_status);;\
    Log 3, "@: Window ".$window_state;;\
  }\
}
define EMA FS20  11114444 1a
attr EMA eventMap /on:Activ/off:Inactiv/
attr EMA room Alarm

define Dummy_Schalten notify EMA:.* { if ("%" eq "on") {fhem ("attr <Alarm_zu_Hause> disabled 0");
  }
else {fhem ("attr <Alarm_zu_Hause> disabled 1");
  }
}

Als Fehlermeldung dies :

Unknown command }, try help Unknown command else, try help Unknown command }, try help Unknown command }, try help

Was heißt denn dies ????
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: MisterEltako am 29 Januar 2013, 12:17:39
Hi!

Müsste es nicht:

define Dummy_Schalten notify EMA:.* { if ("%" eq "on") {fhem ("attr <Alarm_zu_Hause> disabled 0");;\
}
else {fhem ("attr <Alarm_zu_Hause> disabled 1");;\
}\
}

....lauten???

MfG, MisterEltako.
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 29 Januar 2013, 12:43:15
Also bei kommt wieder die gleiche Fehlermeldung.
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: MisterEltako am 29 Januar 2013, 13:54:37
define Dummy_Schalten notify EMA:.* { if ("%" eq "on") {fhem ("attr <Alarm_zu_Hause> disabled 0");;\
}\
else {fhem ("attr <Alarm_zu_Hause> disabled 1");;\
}\
}

Das müsste doch eigentlich gehen...
(kann es im Moment leider nicht testetn)

MfG, MisterEltako.
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 29 Januar 2013, 17:41:19
Danke für die Antwort. Jetzt hat er es ohne Fehler geschluckt.

Aber in dem Logfile steht dieses:


2013.01.29 17:35:15 2: FS20 set EMA on
2013.01.29 17:35:15 3: Please define <Alarm_zu_Hause> first
2013.01.29 17:35:15 3: attr <Alarm_zu_Hause> disabled 1 : Please define <Alarm_zu_Hause> first
2013.01.29 17:35:15 3: Dummy_Schalten return value: Please define <Alarm_zu_Hause> first

So jetzt habe ich gedacht ich lass die <> weg. Also nur Alarm_zu_Hause. So heisst der Dummy auch.
Dann stand folgendes in dem Logfile:


2013.01.29 17:32:11 2: FS20 set EMA on
2013.01.29 17:32:11 3: Alarm_zu_Hause: unknown attribute disabled, choose one of room group comment alias eventMap userReadings disable:0,1 forwardReturnValue:0,1 loglevel:0,1,2,3,4,5,6 devStateIcon fm_fav fm_groups fm_name fm_order fm_type fm_view icon webCmd or use attr global userattr disabled
2013.01.29 17:32:11 3: attr Alarm_zu_Hause disabled 1 : Alarm_zu_Hause: unknown attribute disabled, choose one of room group comment alias eventMap userReadings disable:0,1 forwardReturnValue:0,1 loglevel:0,1,2,3,4,5,6 devStateIcon fm_fav fm_groups fm_name fm_order fm_type fm_view icon webCmd or use attr global userattr disabled
2013.01.29 17:32:11 3: Dummy_Schalten return value: Alarm_zu_Hause: unknown attribute disabled, choose one of room group comment alias eve

Ja immerhin bin ich einen Schritt weiter. Dafür schon einmal grössten Dank
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: Puschel74 am 29 Januar 2013, 17:54:37
Hallo,

attr wird grundsätzlich (wenn ich mich nicht irre) OHNE < > geschrieben und soll so heissen wie dein Notify.

OK. Diesen Teil hast du ohne fragen lösen können.

Und zum zweiten Teil steht die Antwort in der Fehlermeldung ... so wie auch bei eventmap/eventMap.

Sry das ich dafür mal wieder keinen eigenen Beitrag aufmache aber ...
Bitte lest euch die Fehlermeldungen durch und versucht! (wenigstens versuchen) daraus etwas zu lesen/lernen.

Wenn danach immer noch Fragen offen sind könnt ihr gerne einen ??Beitrag?? aufmachen und nachfragen oder, noch besser, die SuFu
benutzen und erst wenn dann nichts mehr geht und das Haus einfriert und Eure Frau/Freundin/Lebensgefährtin/Lebensabschnittsbegleiterin
mit der Keule hinter Euch steht hier einen Beitrag eröffnen.

Lange Rede kurzer Sinn:
ZitatAlarm_zu_Hause: unknown attribute disabled, choose one of room group comment alias eventMap userReadings disable:0,1
Ersetze disabled durch disable und es sollte gehen.

Grüße

P.S.: Die Schnauzerei war nicht auf dich persönlich bezogen lemmy aber in letzter Zeit häufen sich hier die Beitrage weil alle!? nicht
lesen wollen?
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 29 Januar 2013, 19:00:57
Das kann ich mir denken. Da ich noch echt in der Anfangsphase stecke kann man mit vielen Dingen nicht so viel anfangen. Ich gelobe besserung !!!!!Aber danke
für Eure Gedult.

Ein Frage habe ich noch...... (sorry)


So jetzt steht nur noch im Log: FS20 set EMA off
                                                FS20 set EMA on

Nur egal wie dieser Schalter steht. Ändere ich den Zustand geht der Dummy auf disable. Wenn ich dann wieder schalte geht er nicht von disable auf active.

Liegt das am Schalter den ich angelegt habe ? Ist dieser evntuell falsch ?????



Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 29 Januar 2013, 19:02:29
Ach so steht er drinne:


define EMA FS20 11114444 1a
attr EMA eventMap /on:Activ/off:Inactiv/
attr EMA room Alarm


Hatte ich oben schon erwähnt
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: Puschel74 am 29 Januar 2013, 19:08:37
Hallo,

wieso geht der Dummy auf disable?
Jetzt wäre gut wenn du deinen (funktionierenden) Code gepostet hättest ;-)
Und eine etwas genauere Beschreibung was nicht geht und welche Fehlermeldung im Logfile steht.

Grüße
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 29 Januar 2013, 19:14:23
In der Config:

#############Alarmanlage######################

define Alarm_zu_Hause notify .*:Window.*(Open|Closed) { \
  my $window_state=ReadingsVal("@", "Window", "nA");;\
  my $deftype=$defs{@}{TYPE};;\
  return if ( $deftype ne "CUL_FHTTK" );;\
  if ( $defs{@}{PREVSTATE} ne $window_state ) { \
    my $fhttk_status=FHTTK_status;;\
    my $subject="FHEM: Fenster @ ".$window_state;; \
    DebianMail('8c4337dc1a0983412f00222507d92c1a6cdcef29@@api.prowlapp.com' (@@api.prowlapp.com'),$subject,$fhttk_status);;\
    Log 3, "@: Window ".$window_state;;\
  }\
}
attr Alarm_zu_Hause room Alarm

###########Alarmanlage Ein_Ausschalten###########

define EMA FS20 11114444 1a
attr EMA eventMap /on:Activ/off:Inactiv/
attr EMA room Alarm

define Dummy_Schalten notify EMA:.* { if ("%" eq "on") {fhem ("attr Alarm_zu_Hause disable 0");;\
}\
else {fhem ("attr Alarm_zu_Hause disable 1");;\
}\
}
attr Dummy_Schalten room Alarm


In der Log:

2013.01.29 18:55:34 2: FS20 set EMA on
2013.01.29 18:55:38 2: FS20 set EMA off
2013.01.29 18:57:15 2: FS20 set EMA on
2013.01.29 18:57:19 2: FS20 set EMA off
2013.01.29 18:57:22 2: FS20 set EMA on
2013.01.29 18:57:27 2: FS20 set EMA off
2013.01.29 18:59:07 2: FS20 set EMA on
2013.01.29 18:59:11 2: FS20 set EMA off
2013.01.29 18:59:25 2: FS20 set EMA on
2013.01.29 18:59:33 2: FS20 set EMA off
2013.01.29 19:00:32 2: FS20 set EMA on
2013.01.29 19:00:35 2: FS20 set EMA off
2013.01.29 19:03:42 2: FS20 set EMA off
2013.01.29 19:07:45 2: FS20 set EMA on
2013.01.29 19:08:23 2: FS20 set EMA off

Alarm_zu_Hause soll ein und ausgeschaltet werden
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 29 Januar 2013, 19:38:53
Ach ja wenn ich On oder Off egal , geht Alarm zu Hause auf disable und da
Bleibt er
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: Puschel74 am 29 Januar 2013, 19:50:17
Als attr bleibt disable auf alle Fälle stehen. Nur eben einmal mit 1 und einmal mit 0.
Also der Eintrag verschwindet nicht.

Grüße
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 29 Januar 2013, 20:02:39
Gibt es ne Alternative ?
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 29 Januar 2013, 20:09:27
Vielleicht der Befehl "Set" ????
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 30 Januar 2013, 20:05:58
So nun habe ich einiges ausprobiert.
Da ich mir es ja zu Herzen genommen habe, dass man zuerst selbst mal ein wenig rumprobieren sollte.

Habe den Befehl "attr" gegen "set" "trigger" getauscht. dies hat nichts gemacht. Keine Fehlermeldung beim Speichern der Config. Im Logfile
stand nur EMA on, EMA off nach einem Schaltbefehl. Wie oben auch schon beschrieben. Keinerlei umschalten des Notifys. Habe noch einmal im Wiki ein wenig gestöbert und Sachen ausprobiert.
So nun weiss ich wirklich nicht weiter. Ich habe das Gefühl, das noch irgendetwas fehlt, da ich denke das "set" doch eigentlich der richtige Befehl sein sollte.

Ich hoffe Ihr könnt mir noch einmal unter die Arme greifen.... Das wäre super nett.


Gruß Gelberlemmy

Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: MisterEltako am 31 Januar 2013, 15:22:56
Wird den Alarm_zu_ Hause überhaupt ausgelöst?  (.*:Window.*(Open|Closed))????

define Alarm_zu_Hause notify .*:Window.*(Open|Closed) { \
my $window_state=ReadingsVal("@", "Window", "nA");;\
Log 1, "Alarm_zu_Hause wird ausgelöst";;
....

MfG, MisterEltako.
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: MisterEltako am 31 Januar 2013, 15:32:23
Noch eine Idee: eventuell mit "deleteattr" arbeiten....

define Dummy_Schalten notify EMA:.* { if ("%" eq "on") {fhem ("deleteattr Alarm_zu_Hause disable");;\
}\
else {fhem ("attr Alarm_zu_Hause disable 1");;\
}\
}
attr Dummy_Schalten room Alarm

MfG, MisterEltako.
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 31 Januar 2013, 18:26:22
Ja das Funktioniert einwandfrei
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 31 Januar 2013, 18:36:34
Also mit deleteattr geht es gar nicht. Mit dem Post vorher meine ich die Fenstermeldungen per email
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: MisterEltako am 31 Januar 2013, 21:50:27
Hi!
Ich habe deinen Code/Konfiguration nachfolgend simuliert:

define Test dummy
attr Test room Experiment
attr Test eventMap /on:Activ/off:Inactiv/
attr Test webCmd on:off

define EMA dummy
attr EMA room Experiment
attr EMA eventMap /on:Activ/off:Inactiv/
attr EMA webCmd on:off

define Alarm_zu_Hause notify Test:.* {Log 1, "Notify an"}
attr Alarm_zu_Hause room Experiment

define Dummy_Schalten notify EMA:.* {\
    if ("%" eq "on") {\
    fhem ("deleteattr Alarm_zu_Hause disable");;\
    }else {\
    fhem ("attr Alarm_zu_Hause disable 1");;\
    }\
}
attr Dummy_Schalten room Experiment

Funktioniert einwandfrei....

MfG, MisterEltako
Titel: Aw: Notify Befehl mit einen Webschalter Ein/ausschalten
Beitrag von: gelberlemmy am 01 Februar 2013, 17:13:34
Hallo danke für Dein Testen. Ich habs gestern auch hinbekommen. ein zwei kleine Änderungen und es lief. Und zawar so:

In der Config:

#############Alarmanlage######################

define Alarm_zu_Hause notify .*:Window.*(Open|Closed) { \
  my $window_state=ReadingsVal("@", "Window", "nA");;\
  my $deftype=$defs{@}{TYPE};;\
  return if ( $deftype ne "CUL_FHTTK" );;\
  if ( $defs{@}{PREVSTATE} ne $window_state ) { \
    my $fhttk_status=FHTTK_status;;\
    my $subject="FHEM: Fenster @ ".$window_state;; \
    DebianMail('123456789mail@@weiss auch nicht.com',$subject,$fhttk_status);;\
    Log 3, "@: Window ".$window_state;;\
  }\
}
attr Alarm_zu_Hause disable 1
attr Alarm_zu_Hause room Alarmanlage

###########Alarmanlage Ein_Ausschalten###########

define EMA FS20 11114444 1a
attr EMA fm_type on-off
attr EMA fm_view 0,1
attr EMA model fs20
attr EMA room Alarmanlage

define Dummy_Schalten notify EMA:.* { if ("%" eq "on") {fhem ("attr Alarm_zu_Hause disable 0");;\
}\
else {fhem ("attr Alarm_zu_Hause disable 1");;\
}\
}
attr Dummy_Schalten room Alarmanlage


und in der 99_myUtil.pm:


#################eMail wenn Fenster auf############

sub FHTTK_status {
  my @fhttks = devspec2array("TYPE=CUL_FHTTK");
  my @wopen = ();
  foreach(@fhttks) {
    my $fhttk_window = ReadingsVal($_, "Window", "nA");
    push (@wopen,$_) if ($fhttk_window eq "Open" );
  }
  my $num_wopen = @wopen;
  my $resultstring='';
  if ( $num_wopen gt 0 ) {
    $resultstring="folgende Fenster sind noch offen:\n\n";
    foreach(@wopen) {
      $resultstring.="- ".$_."\n";
      Log 4, "FHTTK_status: ". $_. "noch offen";
    }
  } else {
    $resultstring="alle Fenster sind derzeit geschlossen.";
  }
  return $resultstring;
}


Das war aber auch stressig. Ich danke Euch für die Unterstützung.