DOIF soll bei Änderung vom Reading erneut senden. Tut es aber nicht

Begonnen von Thoffi1978, 05 Dezember 2016, 14:42:18

Vorheriges Thema - Nächstes Thema

Thoffi1978

Hallo,

ich habe mit ein DOIF gebastelt, das mir eine WhatsApp schickt, wenn der Zug Verspätung hat.
Dies funktioniert auch "fast ganz gut".Ich möchte nun aber gerne, dass wenn sich der Verspätung des Zuges ändert, mir erneut eine Nachricht zugeschickt wird.
Bis jetzt bekomme ich diese einmal. Helfe ich mir mit Do Always, werde ich zugespamt mit WA Nachrichten.
Wie kann ich es erreichen, dass ich nur bei einer Statusänderung eine Mitteilung bekomme?
Anbei der derzeitige Code:
([Rst_OD:plan_departure_delay_1] ne "+0")((set Torsten_WA send [Rst_OD:plan_departure_1], [Rst_OD:plan_departure_delay_1] Abfahrt,[Rst_OD:plan_arrival_delay_1] Ankunft,[Rst_OD:travel_note_link_1]))
DOELSEIF
([OD_Rst:plan_departure_delay_1] ne "+0")((set Torsten_WA send [OD_Rst:plan_departure_1], [OD_Rst:plan_departure_delay_1]))
DOELSE
(set Torsten_WA send Bahn faehrt wieder puenktlich)


Ich habe nun Versucht das mit Even on Change "hinzubekommen", entweder mache ich es falsch, oder es klappt nicht.
Vielleicht kann mir jemand auf "die Sprünge" helfen.
Vielen Dank schon einmal

Hier einmal die List des DOIF´s:
Internals:
   DEF        ([Rst_OD:plan_departure_delay_1] ne "+0")((set Torsten_WA send [Rst_OD:plan_departure_1], [Rst_OD:plan_departure_delay_1] Abfahrt,[Rst_OD:plan_arrival_delay_1] Ankunft,[Rst_OD:travel_note_link_1]))
DOELSEIF
([OD_Rst:plan_departure_delay_1] ne "+0")((set Torsten_WA send [OD_Rst:plan_departure_1], [OD_Rst:plan_departure_delay_1]))
DOELSE
(set Torsten_WA send Bahn faehrt wieder puenktlich)
   NAME       DBPlan_Whatsapp
   NR         256
   NTFY_ORDER 50-DBPlan_Whatsapp
   STATE      cmd_3
   TYPE       DOIF
   Readings:
     2016-12-05 14:39:08   Device          Rst_OD
     2016-12-05 14:39:03   cmd             3
     2016-12-05 14:39:03   cmd_event       Rst_OD
     2016-12-05 14:39:03   cmd_nr          3
     2016-12-05 14:39:08   e_Rst_OD_plan_departure_delay_1 +0
     2016-12-05 14:39:03   state           cmd_3
     2016-12-05 14:39:03   wait_timer      no timer
   Condition:
     0          ReadingValDoIf($hash,'Rst_OD','plan_departure_delay_1') ne "+0"
     1          ReadingValDoIf($hash,'OD_Rst','plan_departure_delay_1') ne "+0"
   Devices:
     0           Rst_OD
     1           OD_Rst
     all         Rst_OD OD_Rst
   Do:
     0:
       0          (set Torsten_WA send [Rst_OD:plan_departure_1], [Rst_OD:plan_departure_delay_1] Abfahrt,[Rst_OD:plan_arrival_delay_1] Ankunft,[Rst_OD:travel_note_link_1])
     1:
       0          (set Torsten_WA send [OD_Rst:plan_departure_1], [OD_Rst:plan_departure_delay_1])
     2:
       0          set Torsten_WA send Bahn faehrt wieder puenktlich
   Helper:
     event      travel_departure_1: Gl. 1
,travel_destination_1: Gl. 3

     globalinit 1
     last_timer 0
     sleepdevice Rst_OD
     sleepsubtimer 0
     sleeptimer -1
     timerdev   Rst_OD
     timerevent travel_departure_1: Gl. 1
,travel_destination_1: Gl. 3

     triggerDev Rst_OD
     timerevents:
       travel_departure_1: Gl. 1

       travel_destination_1: Gl. 3

     timereventsState:
       travel_departure_1: Gl. 1

       travel_destination_1: Gl. 3

     triggerEvents:
       travel_departure_1: Gl. 1

       travel_destination_1: Gl. 3

     triggerEventsState:
       travel_departure_1: Gl. 1

       travel_destination_1: Gl. 3

   Internals:
   Itimer:
   Readings:
     0           Rst_OD:plan_departure_delay_1
     1           OD_Rst:plan_departure_delay_1
     all         Rst_OD:plan_departure_delay_1 OD_Rst:plan_departure_delay_1
   Regexp:
     0:
     1:
     All:
   State:
   Trigger:
Attributes:
   event-min-interval .*:2
   event-on-change-reading e_.*
   room       yowsup,ÖPNV
   wait       20:20

Per

Das Übliche: wenn dein DOIF einen Status (hier: Verspätung Hinweg) erreicht hat, wird der nicht mehr geändert, bis ein anderer Status (Verspätung Rückweg oder pünktlich) eingenommen wird.
Abhilfe: das Attribut wieder "do always" an und "event-on-change-reading" auf das Fahrplan-Device anwenden.

Thoffi1978

Hallo Per.

ich habe nun Do always und "event-on-change-reading" aktiviert.
Ich hoffe es ist so richtig:
event-on-change-reading      e_Rst_OD_plan_departure_delay_1

Ich habe es mit und ohne "e_" davor versucht.
Es hat aber nun die Folge, das ich immer bei jeder Aktualisierung des Fahrplanmoduls eine WA bekomme "do always"

Wie muss ich das einstellen, damit nur auf die Änderung reagiert wird?

Hoffi

Brockmann

Du musst das bei dem Device einstellen, welches das Event erzeugt:

attr Rst_OD event-on-change plan_departure_delay_1
attr OD_Rst event-on-change plan_departure_delay_1

Thoffi1978

Ich habe nun das Atrribut
attr OD_Rst event-on-change-reading plan_departure_delay_1
Im Modul hinzugefügt.

Wenn sich jetzt das Modul aktualisiert, wird aber genau dieser Wert ROT angezeigt, also aktualisiert, obwohl immer noch +0 bzw. jetzt gerade Hinweise dort steht.
Und ich bekomme weiter fleißig eine Nachricht über WA.

Anbei die List des Moduls/Abfrage:
Internals:
   BASE_URL   http://reiseauskunft.bahn.de/bin/query.exe/dox?S=departure&Z=destination&start=1&rt=1
   CHANGED
   DEF        120
   Interval   120
   NAME       OD_Rst
   NR         273
   STATE      active
   TRIGGERTIME 1481029128.05427
   TRIGGERTIME_FMT 2016-12-06 13:58:48
   TYPE       DBPlan
   addr       http://reiseauskunft.bahn.de:80
   buf        HTTP/1.1 200 OK

Date: Tue, 06 Dec 2016 12:56:52 GMT

Server: Apache

Set-Cookie: ident=no.0791082.1481029008; Path=/; Version=1

Set-Cookie: seqnr=4; Path=/; Version=1

Set-Cookie: ld=15082; Path=/; Version=1

Set-Cookie: dc=dc1; Domain=.bahn.de; Path=/; Version=1

Connection: close

Content-Type: text/html; charset=ISO-8859-1



<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Deutsche Bahn - Verbindungen - Verbindungsdetails</title>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="expires" content="-1" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="viewport" content="width=device-width; initial-scale=1.0;" />
<meta name="format-detection" content="telephone=no" />
<meta name="HandheldFriendly" content="true" />
<link rel="shortcut icon" href="http://www.img-bahn.de/v/1610/img/favicon.ico" />
<link rel="apple-touch-icon" type="image/x-icon" href="http://www.img-bahn.de/v/1610/img/apple-touch-icon.png"/>
<link rel="stylesheet" type="text/css" href="http://www.img-bahn.de/v/1610/cms/mobile/css/bahn_mobile.css" />
<link rel="stylesheet" type="text/css" href="http://www.img-bahn.de/v/1610/css/hafas_mobile.css" />
<link rel="stylesheet" type="text/css" href="http://www.img-bahn.de/v/1610/cms/mobile/css/notouch.css" />
<link rel="stylesheet" type="text/css" href="http://www.img-bahn.de/v/1610/css/hafas_notouch.css" />
</head>
<body >
<div id="doc" >
<div id="header">
<div class="logo">
<img src="http://www.img-bahn.de/v/1610/img/ua_xhtml/l_bahnmobile.gif" alt="DB - Deutsche Bahn" height="15" width="60" />
</div>
<div id="branding">
<div class="bar"> </div>
</div>
</div>
<div id="content" class="">
<h1>
<img class="prio1Icon" src="http://www.img-bahn.de/v/1610/img/ua_xhtml/icon_verbindung_grau_22x22.gif" height="22" width="22" alt="" />Verbindungsdetails
</h1>
<div class="inputtbl">
<div class="clickarea rline route" id="dtlOpen">
<a id="dtlOpen_link" href="http://reiseauskunft.bahn.de/bin/query2.exe/dox?ld=15082&amp;n=4&amp;i=no.0791082.1481029008&amp;rt=1&amp;use_realtime_filter=1&amp;HWAI=~CONNECTION$C0-0!details" class="flaparrowclose">
<span class="querysummary1">
Bad Oldesloe - Hamburg-Rahlstedt
</span>
<span class="querysummary2" id="dtlOpen_2">
<img src="http://www.img-bahn.de/v/1610/img/achtung_17x19_mitschatten.png" style="vertical-align: middle;" />
Di, 06.12.16, 14:00
<span class="red">+7</span>
-
14:28
<span class="okmsg">+0</span>
</span>
</a>
</div>
<div class="rline haupt routeStart" style=" ">
<span class="bold">Bad Oldesloe</span><br />
ab 14:00 <span class="red">+7</span> Gl. 6
<br />
</div>
<div class="rline haupt mot">
<div class="motSection">
<a href="http://reiseauskunft.bahn.de/bin/query2.exe/dox?ld=15082&amp;n=4&amp;i=no.0791082.1481029008&amp;rt=1&amp;use_realtime_filter=1&amp;HWAI=CONNECTION$C0-0!section=0!" class="flaparrow">
<span class="bold">
RE 21471
</span>
</a>
</div>
</div>
<div class="rline haupt routeChange routeChange__IV">
an 14:11 <span class="red">+7</span> Gl. 1
<img src="http://www.img-bahn.de/v/1610/img/achtung_17x19_mitschatten.png" class="middle" />
<br />
<span class="bold">Ahrensburg</span><br />
</div>
<div class="rline haupt mot mot_inter">
<div class="interSection">
11 Min. Umstiegszeit
</div>
</div>
<div class="rline haupt stationDark routeChange routeChangeIV">
<span class="bold">Ahrensburg</span><br />
ab 14:22 <span class="okmsg">+0</span> Gl. 2
<br />
</div>
<div class="rline haupt mot">
<div class="motSection">
<a href="http://reiseauskunft.bahn.de/bin/query2.exe/dox?ld=15082&amp;n=4&amp;i=no.0791082.1481029008&amp;rt=1&amp;use_realtime_filter=1&amp;HWAI=CONNECTION$C0-0!section=1!" class="flaparrow">
<span class="bold">
RB 21371
</span>
</a>
</div>
</div>
<div class="rline haupt routeEnd routeEnd__IV">
an 14:28 <span class="okmsg">+0</span> Gl. 2
<br />
<span class="bold">Hamburg-Rahlstedt</span><br />
</div>
<div class="rlinebottom"></div>
<div class="bline bggrey">
<a class="arrowlink" href="http://reiseauskunft.bahn.de/bin/query2.exe/dox?ld=15082&amp;n=4&amp;i=no.0791082.1481029008&amp;rt=1&amp;use_realtime_filter=1&amp;sotRequest=1&amp;sotContext=&amp;sotMasterId=C0-0&amp;REQ0SOTCtxtP=C0-0&amp;REQ0SOTCtxtO=FROM_RECONSTRUCTION_VIA_SPOOL&amp;vcra=1&amp;start=1&amp;displayOutward=1">Aktuelle Alternativen</a>
</div>
<div class="haupt rline normalpaddingleft">
<span class="bold">Aktuelle Informationen zu der Verbindung</span>
<br />
<img src="http://www.img-bahn.de/v/1610/img/achtung_17x19_mitschatten.png" class="middle absolute" />
<div class="him">Aufgrund der Verspätungen kann es sein, dass der Anschluss nicht mehr rechtzeitig erreicht wird. Bitte beachten Sie die örtlichen Ansagen.</div>
</div>
<div class="rlinebottom"></div>
<div class="bline stdpadding bggrey">
<a href="http://reiseauskunft.bahn.de/bin/query2.exe/dox?ld=15082&amp;n=4&amp;i=no.0791082.1481029008&amp;rt=1&amp;use_realtime_filter=1&amp;selectOutwardJourney=yes&amp;selectReturnMode=yes&amp;guiVCtrl_connection_detailsOut_add_selection=yes&amp;showReturnRequestPage=yes&amp;HWAI=~CONNECTION$C0-0!details!&amp;" class="nebenbtn " >Rückfahrt hinzufügen</a>
</div>
<div class="haupt bggrey paddingleft editBtnCon ">
<div style="position: absolute;">Reiseprofil:</div><div class="bold" style="padding-left: 90px;">2. Klasse |&ensp;1&nbsp;Erwachsener&nbsp;-&ensp;Keine Ermäßigung&ensp;</div><br/><a class="arrowlink" href="http://reiseauskunft.bahn.de/bin/query2.exe/dox?ld=15082&amp;n=4&amp;i=no.0791082.1481029008&amp;rt=1&amp;use_realtime_filter=1&amp;chgBC=y&amp;getstop=1&amp;showRequestPage=1&amp;&amp;">Reiseprofil ändern</a></div><div class="rlinetop"></div><h3 style="padding-left: 6px !important;">Einfache Fahrt</h3><div class="formular" ><div class="tarifftable"><table class="tariff"><tr><td>Preisauskunft nicht möglich</td></tr><tr class="noBorderBottom"><td>Für die gewählte Verbindung kann online kein Preis ermittelt werden. Bitte informieren Sie sich vor Ort oder telefonisch bei der Servicenummer der Deutschen Bahn, welche Fahrkarte für Ihren Zug gültig ist. Die entsprechende Rufnummer finden Sie unter www.bahn.de/kontakt.</td></tr></table></div><div class="rlinebottom"></div><div class="bline bggrey"><input type="submit" class="hauptbtn" name="dummy" value="Ticket/Reservierung" disabled="disabled" /></div></div><div class="bline bggrey"><input type="submit" class="hauptbtn" name="dummy" value="Nur Reservierung" disabled="disabled" /></div><form action="http://reiseauskunft.bahn.de/bin/query2.exe/dox?ld=15082&amp;n=4&amp;i=no.0791082.1481029008&amp;rt=1&amp;use_realtime_filter=1&amp;" method="post"><div class="bline bggrey"><input type="submit" class="nebenbtn" name="vcra" value="Zurück" /></div></form></div></div>
<div id="footer" style="">
<ul class="footer">
<li class="firstitem"><a class="footerlinks" href="http://www.bahn.de/m/view/de/index.shtml">Startseite</a></li>
<li class="">
<a class="footerlinks" href="http://www.bahn.de/m/view/de/home/kontakt/impressum.shtml">Impressum</a>
</li>
</ul>
</div>
<p class="webtrack">
<img src="http://t.bahn.de/b/ss//5/327890582?AQB=1&amp;gn=MOBI_ASK_DEU_de_AuskunftVerbindungenDetail&amp;ch=MOBI_ASK_DEU_de&amp;ev=event48,event3&amp;c21=MOBI>ASK>Z1>1E0K>BC1>2KL>SV1>ALL>EF&amp;v21=MOBI>ASK>Z1>1E0K>BC1>2KL>SV1>ALL>EF&amp;c23=Bad%20Oldesloe>Hamburg-Rahlstedt&amp;v23=Bad%20Oldesloe>Hamburg-Rahlstedt&amp;pl=;;;;;evar25=BC0&amp;c25=BC0&amp;c48=mit_AR&amp;AQE=1" width="5" height="5" alt="" />
</p>
</div>
</body>
</html>

   code       200
   conn
   displayurl http://reiseauskunft.bahn.de/bin/query2.exe/dox?ld=15082&n=1&i=no.0791082.1481029008&rt=1&use_realtime_filter=1&co=C0-0&vca&HWAI=CONNECTION$C0-0!details=opened!&
   host       reiseauskunft.bahn.de
   httpheader HTTP/1.1 200 OK

Date: Tue, 06 Dec 2016 12:56:52 GMT

Server: Apache

Set-Cookie: ident=no.0791082.1481029008; Path=/; Version=1

Set-Cookie: seqnr=4; Path=/; Version=1

Set-Cookie: ld=15082; Path=/; Version=1

Set-Cookie: dc=dc1; Domain=.bahn.de; Path=/; Version=1

Connection: close

Content-Type: text/html; charset=ISO-8859-1
   hu_blocking 0
   hu_filecount 150
   loglevel   4
   noshutdown 0
   note_index 1
   path       /bin/query2.exe/dox?ld=15082&n=1&i=no.0791082.1481029008&rt=1&use_realtime_filter=1&co=C0-0&vca&HWAI=CONNECTION$C0-0!details=opened!&
   protocol   http
   redirects  0
   timeout    5
   url        http://reiseauskunft.bahn.de/bin/query2.exe/dox?ld=15082&n=1&i=no.0791082.1481029008&rt=1&use_realtime_filter=1&co=C0-0&vca&HWAI=CONNECTION$C0-0!details=opened!&
   Readings:
     2016-12-06 13:56:48   plan_arrival_1  14:28
     2016-12-06 13:56:48   plan_arrival_2  14:58
     2016-12-06 13:56:48   plan_arrival_3  15:28
     2016-12-06 13:56:48   plan_arrival_delay_1 Hinweise
     2016-12-06 13:56:48   plan_arrival_delay_2 +0
     2016-12-06 13:56:48   plan_arrival_delay_3 Hinweise
     2016-12-06 13:56:48   plan_connection_1 RE, RB
     2016-12-06 13:56:48   plan_connection_2 RB
     2016-12-06 13:56:48   plan_connection_3 RE, RB
     2016-12-06 13:56:48   plan_departure_1 14:00
     2016-12-06 13:56:48   plan_departure_2 14:32
     2016-12-06 13:56:48   plan_departure_3 15:00
     2016-12-06 13:56:48   plan_departure_delay_1 Hinweise
     2016-12-06 13:56:48   plan_departure_delay_2 +0
     2016-12-06 13:56:48   plan_departure_delay_3 Hinweise
     2016-12-06 13:56:48   plan_error      none
     2016-12-06 13:56:48   plan_travel_change_1 1
     2016-12-06 13:56:48   plan_travel_change_2 0
     2016-12-06 13:56:48   plan_travel_change_3 1
     2016-12-06 13:56:48   plan_travel_duration_1 0:28
     2016-12-06 13:56:48   plan_travel_duration_2 0:26
     2016-12-06 13:56:48   plan_travel_duration_3 0:28
     2016-12-06 13:56:48   travel_change_1 none
     2016-12-06 13:56:48   travel_change_2 none
     2016-12-06 13:56:48   travel_change_3 none
     2016-12-06 13:56:53   travel_departure_1 Gl. 6

     2016-12-06 13:56:51   travel_departure_2 Gl. 3

     2016-12-06 13:56:50   travel_departure_3 Gl. 6

     2016-12-06 13:56:53   travel_destination_1 Gl. 2

     2016-12-06 13:56:51   travel_destination_2 Gl. 2

     2016-12-06 13:56:50   travel_destination_3 Gl. 2

     2016-12-06 13:56:48   travel_duration_1 none
     2016-12-06 13:56:48   travel_duration_2 none
     2016-12-06 13:56:48   travel_duration_3 none
     2016-12-06 13:56:48   travel_note_1   achtung
     2016-12-06 13:56:48   travel_note_2   none
     2016-12-06 13:56:48   travel_note_3   achtung
     2016-12-06 13:56:48   travel_note_link_1 http://reiseauskunft.bahn.de/bin/query2.exe/dox?ld=15082&n=1&i=no.0791082.1481029008&rt=1&use_realtime_filter=1&co=C0-0&vca&HWAI=CONNECTION$C0-0!details=opened!&
     2016-12-06 13:56:48   travel_note_link_2 http://reiseauskunft.bahn.de/bin/query2.exe/dox?ld=15082&n=1&i=no.0791082.1481029008&rt=1&use_realtime_filter=1&co=C0-1&vca&HWAI=CONNECTION$C0-1!details=opened!&
     2016-12-06 13:56:48   travel_note_link_3 http://reiseauskunft.bahn.de/bin/query2.exe/dox?ld=15082&n=1&i=no.0791082.1481029008&rt=1&use_realtime_filter=1&co=C0-2&vca&HWAI=CONNECTION$C0-2!details=opened!&
     2016-12-06 13:56:53   travel_note_text_1 Aktuelle Informationen liegen vor
     2016-12-06 13:56:48   travel_note_text_2 none
     2016-12-06 13:56:50   travel_note_text_3 Aktuelle Informationen liegen vor
     2016-12-06 13:56:48   travel_price_1  none
     2016-12-06 13:56:48   travel_price_2  none
     2016-12-06 13:56:48   travel_price_3  none
   Sslargs:
Attributes:
   dbplan_departure Bad Oldesloe
   dbplan_destination Hamburg-Rahlstedt
   dbplan_journey_prod Alle
   event-on-change-reading plan_departure_delay_1
   room       ÖPNV
   verbose    2


Brockmann

Zitat von: Thoffi1978 am 06 Dezember 2016, 13:59:42
Wenn sich jetzt das Modul aktualisiert, wird aber genau dieser Wert ROT angezeigt, also aktualisiert, obwohl immer noch +0 bzw. jetzt gerade Hinweise dort steht.
Und ich bekomme weiter fleißig eine Nachricht über WA.
Also das Reading wird aktualisiert, obwohl sich der Inhalt nicht ändert?
Dann müsstest Du mal mit dem Autor des DBPlan-Moduls Kontakt aufnehmen und ihn darauf hinweisen.
Meiner Meinung nach hält sich sein Modul in diesem Fall nicht an die Spielregeln. Vielleicht kann er das korrigieren.

Alternativ könntest Du selbst eine Lösung stricken, um das zu umgehen. Aber ich würde erstmal den Modulautor ansprechen.

Damian

Ein DOIF Modul wird immer dann getriggert, wenn irgendein Event des angegebenen Devices kommt, also nicht nur ein Event des angegebenen Readings. Das war immer schon so. Wenn man es nur auf die Trigger des Readings einschränken möchte, dann kann man das per Attribut checkreadingEvent tun, siehe: http://fhem.de/commandref_DE.html#DOIF_checkReadingEvent
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Thoffi1978

Vielen Dank für die Tipps.

Ich habe nun  checkreadingEvent  im DOIF integriert. Trotzdem bekomme ich alle 2 Minuten eine WA.

Das scheint noch nicht des Rätsels Lösung zu sein.


Damian

Zitat von: Thoffi1978 am 07 Dezember 2016, 12:53:02
Vielen Dank für die Tipps.

Ich habe nun  checkreadingEvent  im DOIF integriert. Trotzdem bekomme ich alle 2 Minuten eine WA.

Das scheint noch nicht des Rätsels Lösung zu sein.

Wenn du auf Nummer sicher gehen willst, dann würde ich nicht Readings, sondern Events abfragen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Thoffi1978

Da komme ich in eine "neue Welt". Das Event lese ich mit einem Notify aus, oder kann ich das direkt aus dem Modul in das DOIF integrieren?

Hoffi

Damian

Zitat von: Thoffi1978 am 08 Dezember 2016, 07:13:37
Da komme ich in eine "neue Welt". Das Event lese ich mit einem Notify aus, oder kann ich das direkt aus dem Modul in das DOIF integrieren?

Hoffi

Das ist eigentlich keine neue Welt. Es handelt sich hier um Ereignissteuerung: http://fhem.de/commandref_DE.html#DOIF_Ereignissteuerung_ueber_Auswertung_von_Events

Bei dir dann [Rst_OD:"plan_departure_delay_1: +0"] oder eben das, was du im Event-Monitor siehst.

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Thoffi1978

Hallo Damian,
ich habe heute Vormittag das Auslesen der Events versucht, hat auch geklappt.
Ich habe diese DEF:
OD_Rst:plan_departure_delay_1:.* set Torsten_WA send $EVENT

Ich bekomme aber immer 2 WA. Mir ist in der Eventlist aber nun folgendes aufgefallen.
Der Wert plan_departure_delay_1 scheint erst "none" zu sein und unmittelbar danach bekommt er den Wert, hier jetzt+0
2016-12-08 13:54:33 DBPlan OD_Rst plan_departure_delay_1: none
2016-12-08 13:54:33 DBPlan OD_Rst plan_departure_delay_1: Hinweise

Ich möchte aber nur den Wert des zweiten Ereignisses.
Gibt es hierfür ein wait timer?

Damian

Zitat von: Thoffi1978 am 08 Dezember 2016, 14:10:35
Hallo Damian,
ich habe heute Vormittag das Auslesen der Events versucht, hat auch geklappt.
Ich habe diese DEF:
OD_Rst:plan_departure_delay_1:.* set Torsten_WA send $EVENT

Ich bekomme aber immer 2 WA. Mir ist in der Eventlist aber nun folgendes aufgefallen.
Der Wert plan_departure_delay_1 scheint erst "none" zu sein und unmittelbar danach bekommt er den Wert, hier jetzt+0
2016-12-08 13:54:33 DBPlan OD_Rst plan_departure_delay_1: none
2016-12-08 13:54:33 DBPlan OD_Rst plan_departure_delay_1: Hinweise

Ich möchte aber nur den Wert des zweiten Ereignisses.
Gibt es hierfür ein wait timer?

Die Lösung habe ich dir doch schon präsentiert:

DOIF ([Rst_OD:"plan_departure_delay_1: +0"]..."

Du brauchst dafür kein extra notify zu defnieren.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Thoffi1978

Hallo,
ich habe nun folgenden Code:
[OD_Rst:"plan_departure_delay_1: +0"]((set Torsten_WA send [OD_Rst:plan_departure_1], [OD_Rst:plan_departure_delay_1]))
mit diesem werden mir aber keine Readings mehr angezeigt.
Nun wechselte der Status auf Hinweise und es erfolgte auch kein versand einer WA
2016-12-08 15:30:34 DBPlan OD_Rst plan_departure_delay_1: none
2016-12-08 15:30:34 DBPlan OD_Rst plan_departure_delay_1: Hinweise

Brockmann

Ich fürchte, ihr redet aneinander vorbei. Wenn das Reading auf +0 geht, ist das ja der Normalzustand, wo Du gerade nicht benachrichtigt werden willst, oder?

Wie wäre es denn so?

(["OD_Rst:plan_departure_delay_1"] and [OD_Rst:plan_departure_delay_1] ne "+0" )((set Torsten_WA send [OD_Rst:plan_departure_1], [OD_Rst:plan_departure_delay_1]))


Wenn das Reading vorher wirklich immer auf "None" wechselt (und deshalb wohl auch event-on-change nicht wie gewünscht funktioniert), könntest Du das mit einem kurzen wait umgehen.
Obwohl ich immer noch meine, dass sich DBPlan in dieser Hinsicht nicht regelkonform verhält, wenn event-on-change derart ausgehebelt wird. Ich würde den Modulautor darauf aufmerksam machen.