Modul Weather if Reading Problem

Begonnen von heikom, 03 März 2015, 08:19:12

Vorheriges Thema - Nächstes Thema

heikom

Hallo !

Ich habe folgendes Notify angelegt

ZitatMeinWetter if ([MeinWetter:humidity] > 80) (set push2 message Test H6 )

MeinWetter bezieht die Daten vom dem Modul Weather.

Mein Problem ich bekomme bestimmt 5 bis 10 PUSH Meldung !

Wo liegt der Fehler ?

Danke für eure Hilfe


Brockmann

Zitat von: heikom am 03 März 2015, 08:19:12
Wo liegt der Fehler ?

Es muss IF heißen.

if = Perl-if
IF=FHEM-IF

Das sind zwei verschiedene Dinge mit unterschiedlicher Notation.

heikom

Wenn ich IF groß schreibe gleiches Fehlerbild , immer noch mehrere Meldungen

nesges

Um so einen Fehler zu analysieren benötigen wir die ganze Definition des fehlerhaften notifies und des Devices auf dessen Events reagiert wird. Ohne das kann man idR nur raten. In diesem Fall ist allerdings ein Fehler offensichtlich: Jedes mal wenn das notify ausgelöst wird, prüfst du ob die Luftfeuchtigkeit höher als 80% ist und sendest eine Pushnachricht. D.h. sobald die Luftfeuchtigkeit die 80%-Marke überschreitet wird jedes mal wenn das notify ausgelöst wird auch eine Nachricht gesendet. notify ist für die Aufgabe nicht unbedingt geeignet, sie dir mal http://fhem.de/commandref_DE.html#THRESHOLD an.

Brockmann

Oder so:

define MeinWetter DOIF ([MeinWetter:humidity] > 80) (set push2 message Test H6 )


Das würde einmal eine Nachricht schicken, wenn humidity die 80 überschreitet und dann erst wieder, wenn sie zwischenzeitlich unter 81 abgesunken war.

heikom

@Brockmann Danke bist jetzt geht es :-)

@nesges Auch dir Danke , Aber mein Problem war das bei jedem auslösen des Notify ca 5 Meldungen kammen . der Rest war mir schon klar das bei dem Update der Wettermeldung eine Nachricht kommt , aber doch keine 5 Push´s

Ok noch mal DANKE

Brockmann

Zitat von: heikom am 03 März 2015, 09:22:39
Aber mein Problem war das bei jedem auslösen des Notify ca 5 Meldungen kammen .

Das lag dann vermutlich daran, dass die RegEx Deines notify zu allgemein war. Der Sensor erzeugt pro Messung mehr als ein Event (siehe Eventmonitor). Das musst Du entweder einschränken, so dass nur das gewünschte Event erzeugt wird. Oder Du musst das notify so definieren, dass es nur auf das gewünschte Event reagiert und die anderen ignoriert.
Aber wie schon geschrieben wurde: Es ist immer sinnvoll, die gesamte Definition zu posten, mit der man ein Problem hat. Das macht das Helfen leichter und auch in diesem Fall wäre das eigentliche Problem sicher schneller erkannt worden.

heikom

so ?

ZitatInternals:
   DEF        12835328 60 de
   INTERVAL   60
   LANG       de
   LOCATION   12835328
   NAME       MeinWetter
   NR         11
   STATE      T: 0  H: 88  W: 11
   TYPE       Weather
   UNITS      c
   Readings:
     2015-03-03 10:00:55   city            Freisen, Germany
     2015-03-03 10:00:55   code            32
     2015-03-03 10:00:55   condition       sonnig
     2015-03-03 10:00:55   current_date_time 03 Mar 2015 9:00 am CET
     2015-03-03 10:00:55   day_of_week     Di
     2015-03-03 10:00:55   fc1_code        30
     2015-03-03 10:00:55   fc1_condition   teilweise wolkig
     2015-03-03 10:00:55   fc1_day_of_week Di
     2015-03-03 10:00:55   fc1_high_c      9
     2015-03-03 10:00:55   fc1_icon        partly_cloudy
     2015-03-03 10:00:55   fc1_low_c       -2
     2015-03-03 10:00:55   fc2_code        39
     2015-03-03 10:00:55   fc2_condition   vereinzelt Gewitter
     2015-03-03 10:00:55   fc2_day_of_week Mi
     2015-03-03 10:00:55   fc2_high_c      6
     2015-03-03 10:00:55   fc2_icon        scatteredthunderstorms
     2015-03-03 10:00:55   fc2_low_c       -1
     2015-03-03 10:00:55   fc3_code        30
     2015-03-03 10:00:55   fc3_condition   teilweise wolkig
     2015-03-03 10:00:55   fc3_day_of_week Do
     2015-03-03 10:00:55   fc3_high_c      6
     2015-03-03 10:00:55   fc3_icon        partly_cloudy
     2015-03-03 10:00:55   fc3_low_c       -2
     2015-03-03 10:00:55   fc4_code        34
     2015-03-03 10:00:55   fc4_condition   heiter
     2015-03-03 10:00:55   fc4_day_of_week Fr
     2015-03-03 10:00:55   fc4_high_c      8
     2015-03-03 10:00:55   fc4_icon        mostly_sunny
     2015-03-03 10:00:55   fc4_low_c       -1
     2015-03-03 10:00:55   fc5_code        30
     2015-03-03 10:00:55   fc5_condition   teilweise wolkig
     2015-03-03 10:00:55   fc5_day_of_week Sa
     2015-03-03 10:00:55   fc5_high_c      9
     2015-03-03 10:00:55   fc5_icon        partly_cloudy
     2015-03-03 10:00:55   fc5_low_c       1
     2015-03-03 10:00:55   humidity        88
     2015-03-03 10:00:55   icon            sunny
     2015-03-03 10:00:55   pressure        1024
     2015-03-03 10:00:55   pressure_trend  1
     2015-03-03 10:00:55   pressure_trend_sym +
     2015-03-03 10:00:55   pressure_trend_txt steigend
     2015-03-03 10:00:55   state           T: 0  H: 88  W: 11
     2015-03-03 10:00:55   temp_c          0
     2015-03-03 10:00:55   temp_f          32
     2015-03-03 10:00:55   temperature     0
     2015-03-03 10:00:55   visibility
     2015-03-03 10:00:55   wind            11
     2015-03-03 10:00:55   wind_chill      -3
     2015-03-03 10:00:55   wind_condition  Wind: W 11 km/h
     2015-03-03 10:00:55   wind_direction  270
     2015-03-03 10:00:55   wind_speed      11
   Fhem:
     interfaces temperature;humidity;wind
Attributes:
   room       Wettervorhersage


ZitatInternals:
   DEF        MeinWetter:humidity.* > 80 set push2 message Test H8
   NAME       Luftfeuchtealarm
   NOTIFYDEV  MeinWetter
   NR         196
   NTFY_ORDER 50-Luftfeuchtealarm
   REGEXP     MeinWetter:humidity.*
   STATE      2015-03-03 10:03:00
   TYPE       notify
Attributes:


frank

notify und wettermodul haben den selben namen?
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Brockmann

Zitat von: frank am 03 März 2015, 10:20:56
notify und wettermodul haben den selben namen?
Nee, haben sie nicht.

Da passt aber trotzdem etwas nicht, das DEF vom Notify dürfte so nicht  zulässig sein - Copy&Paste-Fehler?

frank

Zitatdefine MeinWetter DOIF ([MeinWetter:humidity] > 80) (set push2 message Test H6 )
sorry, ich meinte doif, nicht notify.

das wäre mein notify:
define myNotify notify MeinWetter.humidity:.* {if($EVTPART1 > 80) {fhem("set push2 message Test H8")}}

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

heikom

Sorry Fehler vom mir

ZitatInternals:
   CFGFN
   DEF        ([MeinWetter:humidity] < 90) (set push2 message Test H62 $NAME $EVENT )
   NAME       MeinWetter1
   NR         1308
   NTFY_ORDER 50-MeinWetter1
   STATE      cmd_1
   TYPE       DOIF
   Readings:
     2015-03-04 07:13:11   cmd_event       MeinWetter
     2015-03-04 07:13:11   cmd_nr          1
     2015-03-04 07:14:13   e_MeinWetter_humidity 89
     2015-03-04 07:13:11   state           cmd_1
   Condition:
     0          ReadingValDoIf('MeinWetter','humidity','') < 90
   Devices:
     0           MeinWetter
     all         MeinWetter
   Do:
     0          set push2 message Test H62 $NAME $EVENT
   Helper:
     last_timer 0
     sleeptimer -1
   Internals:
   Readings:
     0           MeinWetter:humidity
     all         MeinWetter:humidity
   State:
   Timerfunc:
   Trigger:
Attributes: