hallo markus,
ich mal wieder :)
da ich die call list mit dem tablet ui verwende, ist mir gerade aufgefallen das das expire-calls-after sich leider nur auf das fhemweb widget bezieht und nicht auf die readings.
da das ftui direkt auf den readings aufsetzt wäre klasse wenn die readings auch rotieren würden und alte readings nach dem expire-calls-after timeout wie in einem fifo verschwinden.
gruss
andre
Hallo Andre, 8)
wäre prinzipiell möglich. Setzt aber meines Wissens voraus, dass vor dem löschen des Readings ein Event generiert werden muss. Ist ja nun nicht umbedingt üblich, dass Module Readings löschen. Ich hatte daher gehofft, das man das Reading "numberOfCalls" irgendwie dafür verwenden kann um in Frontends alle Calls die größer als diese Zahl sind zu löschen.
Würde das klappen, wenn ich die Readings entsprechend vorher mit einem Leerstring als Event feuere und danach aus $hash->{READINGS} lösche?
Gruß
Markus
Andre? :)
sorry. ich hatte deine antwort verpasst.
ich schaue mal ob ftui mit den events klar kommt wenn sie einen leeren string enthalten. und auch was fhemweb im longpoll update daraus macht.
wenn das nicht geht müssen wir etwas anderes überlegen. aber ich habe noch keine idee was.
gruss
andre
ich habe ein bisschen getestet und es schein so zu funktionieren.
readings shiften, alles was nicht mehr da ist löschen und dann mit trigger ein event für die readings ohne Inhalt erzeugen.
gruss
andre
Alles klar, ich werds einbauen.
Gruß
Markus
das wäre klasse :)
ach ja: könntest du bei clear die readings auch gleich mit berücksichtigen?
danke
andre
Hallo Andre,
ich hab die Änderungen eingebracht. Sie gelten universal. Sobald Readings erzeugt werden, werden alle Readings gelöscht die größer als die Anzahl der aktuell angezeigten Calls sind.
Das bedeutet also auch für set clear und sämtliche Attribute zur Begrenzung der Liste.
Gruß und ein schönes Wochenende.
Markus
perfekt.
danke
andre
hallo markus,
ich glaube irgendetwas passt noch nicht ganz.
meine calllist in fhemweb ist gerade leer aber die readings für den letzten anruf sind noch da. auch mit einem set clear verschwinden sie nicht.
hast du eine idee wo ich genau nachschauen kann?
gruss
andre
Seltsam, gib mir bitte mal ein vollständiges list deiner FB_CALLLIST Definition (natürlich mit unkenntlichen Rufnummern/Namen).
Danke
Gruß
Markus
list FritzBoxCallList
Internals:
CFGFN
DEF fb
FB fb
NAME FritzBoxCallList
NOTIFYDEV global,fb
NR 56756
NTFY_ORDER 50-fbc
STATE Initialized
TYPE FB_CALLLIST
Readings:
2016-05-06 17:23:41 1-connection Answering_Machine_1
2016-05-06 17:23:41 1-duration 00:00:19
2016-05-06 17:23:41 1-external POTS
2016-05-06 17:23:41 1-internal +49XXXXXXXXXX
2016-05-06 17:23:41 1-name XXXXXXXXXX
2016-05-06 17:23:41 1-number 0XXXXXXXXXX
2016-05-06 17:23:41 1-row 1
2016-05-06 17:23:41 1-state => O_O
2016-05-06 17:23:41 1-timestamp Fri, 06 May 2016 17:23:07
2016-05-06 17:23:41 numberOfCalls 1
Helper:
DEFAULT_COLUMN_ORDER row,state,timestamp,name,number,internal,external,connection,duration
LAST_CALL_ID 0
LAST_EVENT disconnect
Icon_map:
Attributes:
answMachine-is-missed-call 1
create-readings 1
event-on-change-reading .*
expire-calls-after 1 day
list-type missed-calls
number-of-calls 10
room FRITZ!Box
Du hast recht, da ist ein Logikfehler, der das Löschen von Readings verhindert, wenn die Liste leer ist. Wenn also das letzte Telefonat aus der Liste gelöscht wird, werden die Readings nicht bearbeitet, da die Liste ja leer ist.
Werde ich morgen fixen, heute leider nicht mehr.
Gruß
Markus
danke
andre
Fix ist eingecheckt.
Gruß
Markus
und noch mal danke
Gruß
andre