FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Tobias am 14 Juni 2015, 13:22:33

Titel: Notify getriggerte Events verhalten sich anders als Manuell getriggerte Events..
Beitrag von: Tobias am 14 Juni 2015, 13:22:33
Hi,
ich habe folgendes Notify :
define NTFY_SWAP_OneWire notify SWAP.*:0E.1-1wire_Address.* {SWAP_1wire("$NAME", "$EVTPART1")}

Das Prog dazu:
sub SWAP_1wire($$) {
  my ($SwapDevice, $OneWireID) = @_;
  readingsSingleUpdate($defs{$SwapDevice},"Temperature_$OneWireID" , ((hex(ReadingsVal($SwapDevice, "0E.0-1wire_Temperature", ""))*0.01) - 50), 1);
  return undef;
}


Aktuell werden alle Events per DBLog geloggt. Das funktioniert auch, alle Readings landen in der DB. Außer! das Event des per Notify aufgerufenen ReadingsSingleUpdates. Wenn ich aber das Sub manuell aufrufe, wird das Event auch in der DB geloggt
{SWAP_1wire("SWAP_09", "28D6CF710400009C")}

Im DBLog-Modul habe ich mir ein kurzes Log eingebaut. Bei einem manuellen Trigger wird die NotifyFunction des DBLog Moduls aufgerufen. Bei einem Notify getriggertem Event, wird die NotifyFunktion des DBLog Moduls nicht(!) aufgerufen.

Es muss also einen Unterschied geben, ob ein Event per Notify getriggert wird oder nicht.
Was kann ich tun damit meine Notify-function von DBLog getriggert wird?
Titel: Antw:Notify getriggerte Events verhalten sich anders als Manuell getriggerte Events..
Beitrag von: rudolfkoenig am 14 Juni 2015, 14:59:33
Sollte inzwischen bekannt sein: man kann keine Events fuer Geraet X generieren in einer Routine, die von einem Event fuer Geraet X geweckt wurde. Workarounds: userReadings, oder sleep/InternalTimer.
Titel: Antw:Notify getriggerte Events verhalten sich anders als Manuell getriggerte Events..
Beitrag von: Tobias am 14 Juni 2015, 18:31:00
Ich habe 2 generische readings, einmal ID und einmal  WERT. Diese werden hintereinander aktualisiert um viele wertpaare zu übertragen. Wenn ich ein bestimmtes userreading definiere kann ich zwar auf ein bestimmtes reading fokussieren aber nicht auf einen bestimmten Wert hin,  oder?  Bin mir noch nicht sicher wie ich das jetzt lösen soll...

Gesendet von meinem ALCATEL ONE TOUCH 997D mit Tapatalk

Titel: Antw:Notify getriggerte Events verhalten sich anders als Manuell getriggerte Events..
Beitrag von: rudolfkoenig am 14 Juni 2015, 18:35:24
ZitatWenn ich ein bestimmtes userreading definiere kann ich zwar auf ein bestimmtes reading fokussieren aber nicht auf einen bestimmten Wert hin,  oder?

Das habe ich selbst nach mehrmaligen lesen nicht verstanden.
Btw. es heisst userReadings, Mehrzahl ist Absicht.