FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Tommy82 am 02 November 2014, 11:03:47

Titel: [Gelöst]If Notify Fehler
Beitrag von: Tommy82 am 02 November 2014, 11:03:47
Hallo,
ich möchte den Status eines Dummy
ZitatFenster_ueber_Heizung_Status
über ein notify ändern welches den Status vom Device
ZitatFenster_ueber_Heizung
liest und dann an den Dummy weitergibt.
Hab dazu folgendendes notify mir ausgedacht:
define Wohnzimmer_Heizung_nty notify {if(Value("Fenster_ueber_Heizung") eq "closed") { fhem("set Fenster_ueber_Heizung_Status Zu") } else { fhem("set Fenster_ueber_Heizung_Status Auf")}}

wenn ich das allerdings in Fhem eingebe bekomme ich diesen Fehler:
ZitatBad regexp: Unmatched ( in regex; marked by <-- HERE in m/^{if( <-- HERE Value("Fenster_ueber_Heizung")$/ at ./FHEM/91_notify.pm line 39.

Was mache ich da falsch?

Danke
Titel: Antw:If Notify Fehler
Beitrag von: Puschel74 am 02 November 2014, 11:11:33
Hinter notify fehlt das Device - TOMMY.
Grundlagen!! Basics!!
Schau doch bitte ins Einsteiger.pdf oder die commandref - dort wird das doch alles genau erklärt.
Und dir wurde das übrigens auch schon zigmal erklärt.

Edith: Und deine Frage hat absolut nichts mit Automatisierung zu tun sondern ist eine 08/15-Anfängerfrage.
Titel: Antw:If Notify Fehler
Beitrag von: Tommy82 am 02 November 2014, 12:14:39
Hi Puschel,
das habe ich mittlerweile gelesen, und auch das Wiki und die Commandref bemüht.

Hab das notify jetzt so abgeändert:
define Wohnzimmer_Heizung_nty notify Fenster_ueber_Heizung {if(Value("Fenster_ueber_Heizung") eq "closed") { fhem("set Fenster_ueber_Heizung_Status Zu") } else { fhem("set Fenster_ueber_Heizung_Status Auf")}}
Dann wird es auch akzeptiert,allerdings ändert sich der  Status des Dummys nicht wenn ich dann das Fenster öffne.

Im Log ist allerdings auch kein Fehler.

Was hab ich noch falsch gemacht
Titel: Antw:If Notify Fehler
Beitrag von: Puschel74 am 02 November 2014, 14:39:13
Hallo,

Tommy auch das ist keine Frage die hier her gehört - du hängst noch immer bei den Basics.

Zitatdas habe ich mittlerweile gelesen, und auch das Wiki und die Commandref bemüht.
Sorry aber nur die Zeilen überfliegen ist zu wenig.
Da hilft dir auch das x-te mal Einsteiger.pdf nicht weiter.

ZitatWas hab ich noch falsch gemacht
Du schaust nicht in den EventMonitor,
Du weisst nicht ob das notify überhaupt getriggert wird,
Du weisst nicht wie weit dein notify ausgeführt wird,
Du weisst vermutlich nichtmal wozu du den Status in einen Dummy kopieren willst - sorry aber wozu soll das gut sein?

Du kannst auch im Device selbst open und closed auf Auf und Zu mappen - dazu bedarf es weder eines Dummy noch eines notify.
Vielleicht erkennst du den Zusammenhang in den beiden Screenshots.

Grüße
Titel: Antw:If Notify Fehler
Beitrag von: franky08 am 02 November 2014, 14:46:14
Doch Puschel, er muss den status in ein extra dummy schreiben, welches dann im StarTrek Floorplan mit animiertem gif (auf/zu oder an/aus)  dargestellt wird. Ohne Verwendung des dummys hätte man in der WEB Instanz sonst auch das animierte gif, mit dummy kann man es nur der WEBTablet Instanz, hier FLOORPLAN zuordnen. Und da hierfür die darkfloorplanstyle.css zuständig ist, kann man damit Einfluss auf die Schriftgröße, Farbe usw. nehmen. Ohne "verhuntzt" man sich die Darstellung in der normalen WEB Instanz (8083).

P.S. Habe ich seit 3 Monaten bei mir auch so laufen, extra eine neue WEBTablet Instanz mit Port 8086 angelegt und damit wird nur das 22 Zoll Wand Tablet angesprochen
;) 8)

VG
Frank
Titel: Antw:If Notify Fehler
Beitrag von: Puschel74 am 02 November 2014, 14:53:50
Hallo,

kann man sich den Status nicht einfach in ein userReading schreiben und dieses dann im Floorplan mit animiertem gif anzeigen lassen?
Ich hab den Beitrag mit dem animierten gif schon gelesen mich das aber damals schon gefragt.
Da ich aber keinen Floorplan benutze weiß ich das so nicht.

Grüße
Titel: Antw:If Notify Fehler
Beitrag von: franky08 am 02 November 2014, 15:31:23
Ob es mit einem userReading oder setreading $EVTPART1 geht, hab ich nie probiert. Bei setreading wird aber auch ein dummy gebraucht und dessen state gesetzt. M.Mn. nach funktioniert das mit dem dummy recht gut, da man es eben wie ein normales device, mit seinen Eigenschaften verwenden kann.

VG
Frank
Titel: Antw:If Notify Fehler
Beitrag von: Puschel74 am 02 November 2014, 15:41:18
Hallo,

auch wenn wir jetzt OT werden aber
ZitatBei setreading wird aber auch ein dummy gebraucht und dessen state gesetzt.
Wozu?
Ich meine es lassen sich im Floorplan einzelne Reading einbinden - da brauch ich doch nicht explizit state?
Ok - ein einfaches "doch brauchst du" genügt mir hier da ich, wie gesagt, keinen Floorplan benutze.

Grüße
Titel: Antw:If Notify Fehler
Beitrag von: LuckyDay am 02 November 2014, 15:45:47
ZitatWozu?
Ich meine es lassen sich im Floorplan einzelne Reading einbinden - da brauch ich doch nicht explizit state?

Ein einziges pro Device! , Wenn mehrere Readings von einem Device geht nicht ,
Titel: Antw:If Notify Fehler
Beitrag von: Puschel74 am 02 November 2014, 15:46:44
Ah, danke.
Titel: Antw:If Notify Fehler
Beitrag von: franky08 am 02 November 2014, 15:48:50
Schon beantwortet, fhem-hm-knecht war schneller, ich musste noch Kaffee kochen  ;D
Titel: Antw:If Notify Fehler
Beitrag von: Puschel74 am 02 November 2014, 15:57:51
Hallo,

@Tommy82
Hier mal
define Wohnzimmer_Heizung_nty notify Fenster_ueber_Heizung:(open|closed) {
  if ($EVENT eq "closed") {
    fhem("set Fenster_ueber_Heizung_Status Zu");
  }
  else {
    fhem("set Fenster_ueber_Heizung_Status Auf");
  }
}

Voraussetzungen:
Das notify existiert noch nicht mit dem Namen Wohnzimmer_Heizung_nty
Der Kontakt heisst Fenster_ueber_Heizung
und beim öffnen und schliessen kommen die Events open und Closed
das Device (der Dummy) heisst Fenster_ueber_Heizung_Status

Eigentlich war dein notify schon recht gut - ich hab keinen Fehler gesehen auf die schnelle.

Grüße

Edith: Jep @franky08 danke für den Tipp - grad angepasst (und passende Tags verwendet  ::) ).
Titel: Antw:If Notify Fehler
Beitrag von: franky08 am 02 November 2014, 16:14:49
@Puschel

Leerzeichen zwischen if und der 1. Klammer?! Hab ich bei mir jedenfalls so.
VG
Frank
Titel: Antw:If Notify Fehler
Beitrag von: Tommy82 am 02 November 2014, 17:45:36
Zitat von: Puschel74 am 02 November 2014, 15:57:51
Hallo,

@Tommy82
Hier mal
define Wohnzimmer_Heizung_nty notify Fenster_ueber_Heizung:(open|closed) {
  if ($EVENT eq "closed") {
    fhem("set Fenster_ueber_Heizung_Status Zu");
  }
  else {
    fhem("set Fenster_ueber_Heizung_Status Auf");
  }
}

Voraussetzungen:
Das notify existiert noch nicht mit dem Namen Wohnzimmer_Heizung_nty
Der Kontakt heisst Fenster_ueber_Heizung
und beim öffnen und schliessen kommen die Events open und Closed
das Device (der Dummy) heisst Fenster_ueber_Heizung_Status

Eigentlich war dein notify schon recht gut - ich hab keinen Fehler gesehen auf die schnelle.

Grüße

Edith: Jep @franky08 danke für den Tipp - grad angepasst (und passende Tags verwendet  ::) ).

Puschel das ich das noch erleben darf, ich ja fast schon ein Lob
ZitatEigentlich war dein notify schon recht gut - ich hab keinen Fehler gesehen auf die schnelle.
:)
Hab deinen Code jetzt mal eingegeben, dann bekomme ich die Meldung zurück, das notify wird aber trotzdem angelegt
Unknown command }, try help.
Unknown command }, try help.


Im Eventmonitor erscheint auch das ich das Fenster geöffnet habe:
2014-11-02 17:39:51.861 CUL_HM Fenster_ueber_Heizung open

Aber es kommt am dummy nichts an, also irgendwas stimmt dann noch nicht, aber deutete die Fehlermeldung ja auch drauf hin.

Ich guck mir das jetzt mal genauer an
Titel: Antw:If Notify Fehler
Beitrag von: Puschel74 am 02 November 2014, 17:47:25
Meine Codes gehören auch nicht direkt in die fhem.cfg - es sei den du bist scharf auf Fehlermeldungen  8)
Das solltest du schön langsam wissen  ;)
Titel: [Gelöst]Antw:If Notify Fehler
Beitrag von: Tommy82 am 02 November 2014, 17:48:45
Zitat von: Puschel74 am 02 November 2014, 17:47:25
Meine Codes gehören auch nicht direkt in die fhem.cfg - es sei den du bist scharf auf Fehlermeldungen  8)
Das solltest du schön langsam wissen  ;)

hab den Code auch niccht in die fhem.cfg gepakt, sondern übers commandfield eingegeben ;)
Titel: Antw:If Notify Fehler
Beitrag von: Puschel74 am 02 November 2014, 17:49:49
Aber hoffentlich nicht Zeile für Zeile
Titel: Antw:If Notify Fehler
Beitrag von: Tommy82 am 02 November 2014, 18:05:47
Nein,natürlich nicht, hab das notify mal geöffnet und den Code im DEF neu eingefügt, und nun gehts auch.

Da sich der Status der Buttons noch nicht automatisch setzte hab ich jetzt noch
attr WEBtablet longpoll 1 gesetzt.

Damit wäre dann erstmal nur noch eine Baustelle (Status der Rauchmelder) offen  8)

Danke für eure Hilfe

Edit muss mich korregieren, longpoll hat doch noch nicht geholfen, aber passt hier nicht hin, mal sehn was das noch ist
Titel: Antw:If Notify Fehler
Beitrag von: Puschel74 am 02 November 2014, 18:15:11
Post mal bitte den Code aus dem DEF.
Titel: Antw:If Notify Fehler
Beitrag von: Tommy82 am 02 November 2014, 18:16:45
Ist jetzt der gleiche wie du ihn geschrieben hattest, bei der eingabe ins commandfield, ist irgendwas schief gelaufen, denn im DEF stand dann nur:
Fenster_ueber_Heizung:(open|closed) {   
if ($EVENT eq "closed") {     
fhem("set Fenster_ueber_Heizung_Status Zu")


der Rest fehlte einfach
Titel: Antw:If Notify Fehler
Beitrag von: Puschel74 am 02 November 2014, 18:18:54
Ich meinte das aktuelle DEF  ;D
Edith: Im geposteten fehlt nach Zu") auch das ;
Titel: Antw:If Notify Fehler
Beitrag von: Tommy82 am 02 November 2014, 18:21:47
Achso, das aktuelle sieht so aus:
Fenster_ueber_Heizung:(open|closed) {
  if ($EVENT eq "closed") {
    fhem("set Fenster_ueber_Heizung_Status Zu");
  }
  else {
    fhem("set Fenster_ueber_Heizung_Status Auf");
} }
Titel: Antw:If Notify Fehler
Beitrag von: Puschel74 am 02 November 2014, 18:25:26
Sobald sich der Status von Fenster_ueber_Heizung ändert muss sich auch der Status des Dummy ändern.
Im notify hast du unten einen Eintrag "Probably associated with"
Was steht dort drinnen?
Titel: Antw:If Notify Fehler
Beitrag von: Tommy82 am 02 November 2014, 18:46:18
Funktioniert ja auch.

Da steht drin:
Fenster_ueber_Heizung
CUL_HM
Fenster_ueber_Heizung_Status
dummy
Titel: Antw:If Notify Fehler
Beitrag von: Puschel74 am 02 November 2014, 18:48:58
Ah, ok.
Sobald der Fenserkontakt schaltet schaltet auch dein Dummy aber der Status im Floorplan aktualisiert sich nicht.
Titel: Antw:If Notify Fehler
Beitrag von: Tommy82 am 02 November 2014, 18:58:03
Hallo,
ja der Status ändert sich direkt im Dummy, allerdings nicht im Floorplan. Kann das mit dem notify zusammenhängen?

Hab auch über eine Minute gewartet, im FP keine änderung, nach einem Reload im Browser stimmen die Werte dann wieder
Titel: Antw:If Notify Fehler
Beitrag von: Puschel74 am 02 November 2014, 19:02:35
Nö, hat mit dem notify nix zu tun.
Das ändert ja nur den Status des Dummy.
Titel: Antw:If Notify Fehler
Beitrag von: Tommy82 am 02 November 2014, 19:03:46
Zitat von: Puschel74 am 02 November 2014, 19:02:35
Nö, hat mit dem notify nix zu tun.
Das ändert ja nur den Status des Dummy.

Ja dann passt es hier ja nicht so richtig hin.

Dann hab ich wohl wieder eine zweite Baustelle :-(