FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ErzGabriel am 01 Dezember 2015, 19:28:01

Titel: [gelöst] Notify per Schalter deaktivieren
Beitrag von: ErzGabriel am 01 Dezember 2015, 19:28:01
Hallo zusammen.
Ich versuche seit mehreren Tagen, einen Notify per Schalter zu deaktivieren oder aktivieren.
Dafür habe ich einen Schalter als Dummy angelegt:
define em_w_sch dummy
attr em_w_sch eventMap /on:Activ/off:Inactiv/
attr em_w_sch room System
attr em_w_sch setList on off
attr em_w_sch webCmd on:off

Dann einen Notify, der den eigentlich Notify steuern soll
define n_em_w notify em_w_sch:.* {\
if ("%" eq "on")\
  {fhem ("attr n_batt_chk disable 0");;}\
else\
  {fhem ("attr n_batt_chk disable 1");;}\
}
attr n_em_w room System


Damit möchte ich die eine Email Warnung per Email aktivieren oder deaktivieren.
Egal wie ich den notify konfiguriere kommt immer nur disable 1 als Ergebnis raus. Da Perl nicht zu meinen Stärken gehört, weiß ich nicht mehr weiter und bitte hier um Hilfe, von jemanden mit mehr Perl Kenntnissen.
Titel: Antw:Notify per Schalter deaktivieren
Beitrag von: dev0 am 02 Dezember 2015, 07:26:48
Wäre es nicht sinnvoller das 2. notify wegzulassen und im 1. notify den state des dummy abzufragen?

if (ReadingsVal("dummy","state","") eq "on") {...}


Ansonsten lies die Ankündigung zu Featurelevel 5.7
Titel: Antw:Notify per Schalter deaktivieren
Beitrag von: Benni am 02 Dezember 2015, 08:04:21
und dann gibt es für das notify auch noch das set active/inactive, was keine Strukturänderung (Stichwort rotes Fragezeichen) auslöst, wie es das Ändern eines Attributes tut.

s.a. Commandref zu Notify (http://fhem.de/commandref_DE.html#notify)
Titel: Antw:Notify per Schalter deaktivieren
Beitrag von: ErzGabriel am 02 Dezember 2015, 10:29:10
@dev0
Währe es nicht sinnvoller mit hilfreichen Aussagen und Code Beispielen zu helfen, als Gegenfragen zu stellen, wenn Der Threadverfasser geschrieben hat, das Er nicht viel Ahnung von Perl hat.
Da währe es auf jeden Fall sinnvoller mit Code und Erklärungen zu helfen, als Gegenfragen zu stellen und auf Texte zu verweisen, die man lesen soll.
Die texte habe ich nämlich schon alle gelesen und finde selbst keine Lösung, deswegen habe ich um Hilfe gebeten und nicht um darum Gegenfragen zu erhalten oder Verweise auf Texte  zu lesen.

@Benni
Die habe ich gelesen und wenn ich damit weiter gekommen währe, hätte ich hier nicht um Hilfe gebeten.


Ich muss leider immer wieder feststellen, das hier im Forum viele User nicht helfen möchten, sondern nur Kommentare abgeben, die nicht hilfreich sind. Zum Glück gibt es hier auch ein paar Ausnahmen, die wirklich hilfsbereit sind und nützliche Posts schreiben
Titel: Antw:Notify per Schalter deaktivieren
Beitrag von: Brice am 02 Dezember 2015, 10:41:38
Na ja  ::)

dev0 hat dir doch die Lösung aufgezeigt und die funktioniert auch. Der Hinweis auf Featurelevel 5.7 bezieht sich auf dein Codebeispiel mit dem "%"
Titel: Antw:Notify per Schalter deaktivieren
Beitrag von: ErzGabriel am 02 Dezember 2015, 10:51:29
Das ist ein Stück Code, der mir aber nicht sagt, wo und wie ich ihn einbauen muss.

In Bezug auf Version 6.7, ich habe auch andere Sonderzeichen probiert und keinen Erfolg gehabt, dev0 geht auch davon aus, das ich Version 5.7 installiert habe, was ich aber beim erstellen des posts nicht hatte.
.
Titel: Antw:Notify per Schalter deaktivieren
Beitrag von: Brice am 02 Dezember 2015, 11:00:28
define <Name deines Notify> notify if (ReadingsVal("em_w_sch","state","") eq "on") {dann aktiviere die e-Mail Warnung}

Wie deine e-Mail-Warnung aussieht, hast du nicht mitgeteilt.

Titel: Antw:Notify per Schalter deaktivieren
Beitrag von: ErzGabriel am 02 Dezember 2015, 11:03:49
Spitze, so funktioniert es.
Danke Brice.
Titel: Antw:[gelöst] Notify per Schalter deaktivieren
Beitrag von: Brice am 02 Dezember 2015, 11:14:25
Dennoch:

das Wiki ist im Hinblick auf Notify wirklich gut. Mir hat es damals sehr geholfen, anhand des Wizards (Regexp wizard - FHEMWEB-unterstützte Anlage eines notify) meine Schwierigkeiten zu beheben.

Tipp: nochmals lesen und testen :-)
Titel: Antw:[gelöst] Notify per Schalter deaktivieren
Beitrag von: dev0 am 02 Dezember 2015, 11:53:13
Und bitte den funktionieren Code hier posten oder den Thread nach Anfängerfragen verschieben (lassen). Sonst ist das hier offtopic.
Titel: Antw:[gelöst] Notify per Schalter deaktivieren
Beitrag von: ErzGabriel am 02 Dezember 2015, 12:06:08
Den komplette funktionierende Code sieht wie folgt aus.

Der Dummy Schalter
define em_w_sch dummy
attr em_w_sch alias Batterie Warnung
attr em_w_sch devStateIcon Activ:on-green Inactiv:off-gray
attr em_w_sch eventMap /on:Activ/off:Inactiv/
attr em_w_sch room System
attr em_w_sch setList on off
attr em_w_sch webCmd on:off


Der Notify
define n_em_w notify em_w_sch:.* {\
if (ReadingsVal("em_w_sch","state","") eq "on")\
  {fhem ("set n_batt_chk active");;}\
else\
  {fhem ("set n_batt_chk inactive");;}\
}
attr n_em_w room System


Der Tipp von Benni mit dem set <Devicename> active/inactive wurde von mir heute erst eingebaut, da ich vorher nicht auf die Idee gekommen bin, es so zu lösen. Da es keine Strukturänderung bringt, liegt der Vorteil auf der Hand.

Wenns besser im Anfängerbereich aufgehoben ist, dann bitte verschieben. Danke.
Titel: Antw:[gelöst] Notify per Schalter deaktivieren
Beitrag von: Bennemannc am 02 Dezember 2015, 22:22:38
Hallo,

eine andere Alternative wäre "devStateIcon" mit dem Wert "inactive:control_x@red:active active:vent_ventilation_level_automatic@green:inactive". Die Icons kann man ja frei wählen. Damit kann man sich den Dummy sparen.

Gruß Christoph
Titel: Antw:[gelöst] Notify per Schalter deaktivieren
Beitrag von: Benni am 02 Dezember 2015, 22:50:31
Ach! War mein Tipp anscheinend doch noch nützlich?

Im Übrigen, wenn ich nicht helfen wollte, würde ich einfach gar nichts schreiben.