Was muss ich tun, um für jedes mit readingsBulkUpdate angelegte reading einen event zu bekommen?
Eigentlich bin ich der Meinung, das hat schonmal funktioniert. Hat sich am Verhalten von readingsBulkUpdate() irgendwas verändert, das ich übersehen habe?
Auch wenn ich am Ende noch eine 1 als Parameter übergebe, werden trotzdem keine events erzeugt.
Die readings selbst werden korrekt erzeugt und befüllt.
readingsBeginUpdate($hash);
while(($k, $v) = each %readings){
# skip update if no valid data is available
next unless(defined($v));
readingsBulkUpdate($hash, $k, latin1ToUtf8($v));
# readingsSingleUpdate($hash, $k, latin1ToUtf8($v),1);
}
readingsEndUpdate($hash, 1);
Wenn ich die auskommentierte Zeile mit readingsSingleUpdate verwende, funktioniert alles wie gewünscht.
Ist es nicht so das das readingsEndUpdate erst dafür sorgt das Events generiert werden. Und zwar immer eines für jedes readingsBulkUpdate. Dazu wird readingsEndUpdate ja mit 1 aufgerufen.
Oder habe ich Deine Frage falsch verstanden?
ZitatHat sich am Verhalten von readingsBulkUpdate() irgendwas verändert, das ich übersehen habe?
An dieser Stelle wurde seit laengerem nichts geaendert.
Was mir zum Thema einfaellt: event-on-change* Attribute, Events im eigenen Trigger.
Zitat von: CoolTux am 04 Juni 2016, 15:44:35
Ist es nicht so das das readingsEndUpdate erst dafür sorgt das Events generiert werden. Und zwar immer eines für jedes readingsBulkUpdate.
Ja. Und genau das funktioniert nicht.
Zitat von: rudolfkoenig am 04 Juni 2016, 15:46:25
Was mir zum Thema einfaellt: event-on-change* Attribute, Events im eigenen Trigger.
mit den event-on-change-* Attributen arbeite ich nicht und um events habe ich mich auch noch nie selbst gekümmert.
Selbes Problem auch im neuen Netatmo Modul, in dem ich wegen der Timestamps generell nur readingsBulkUpdate verwende.
Dort funktioniert nun Dewpoint nicht mehr da die Events fehlen.
Sent from my iPhone using Tapatalk
Gut, dass ich nicht alleine bin mit dem Phänomen.