Hauptmenü

Calllist für Android?

Begonnen von Superposchi, 05 April 2023, 17:24:28

Vorheriges Thema - Nächstes Thema

Superposchi

Hallo, für die Fritzbox gibt es ja das Calllist-Modul zum auslesen und anzeigen der Anrufliste.
Da ich aber praktisch kein Festnetz mehr nutze (Nur noch als Netzzugang für Internet) würde ich so eine Anzeige gerne für unsere Handys (beides Android 13) einrichten - falls es das gibt.

Beim AMAD-Modul bekomme ich ja immer den letzten ein- und ausgehenden Anruf angezeigt. Aber als Liste - sagen wir die letzten 10 Anrufe oder so - sehe ich keine Ausgaben.

Was mir einfiele, wäre das Auslesen der entsprechenden Readings bei Aktualisierung und dann in ein Arrey schreiben lassen.
Allerdings habe ich da nicht die Kenntnisse dafür das programmiertechnisch in Fhem zu realisierung und bräuchte Unterstützung.

TomLee

Ich hab mir was überlegt, unkonventionell, nicht perfekt, jeder wird grinsen und den Kopf schütteln, aber es tut. Kann mir gerne wer zeigen wie man sowas "normal" angehen würde in FHEM, wenn es mit dem Device Hash zu tun hat dann ist mir das vermutlich eh zu hoch  ;D .

Vorab, der dummy ist nur zum nachvollziehen/testen.

defmod d3 dummy
attr d3 readingList number
attr d3 setList number
attr d3 userReadings stored_number:number:.* {\
my $nr = ReadingsVal($name,'number','');;\
my $sn = ReadingsVal($name,'stored_number','');;\
my @sr = split(q( ),$sn);;\
if (@sr == 10){pop @sr};;\
unshift @sr, $nr;;\
for (my $i = 0;; $i < @sr;; $i++){fhem("sleep 0.1;;setreading $name ${i}_number $sr[$i]")};;\
return join q( ), @sr;;\
}

setstate d3 2023-04-07 18:18:37 0_number 11
setstate d3 2023-04-07 18:18:37 1_number 10
setstate d3 2023-04-07 18:18:37 2_number 9
setstate d3 2023-04-07 18:18:37 3_number 8
setstate d3 2023-04-07 18:18:37 4_number 7
setstate d3 2023-04-07 18:18:37 5_number 6
setstate d3 2023-04-07 18:18:37 6_number 5
setstate d3 2023-04-07 18:18:37 7_number 4
setstate d3 2023-04-07 18:18:37 8_number 3
setstate d3 2023-04-07 18:18:37 9_number 2
setstate d3 2023-04-07 18:18:37 number 11
setstate d3 2023-04-07 18:18:37 stored_number 11 10 9 8 7 6 5 4 3 2

Superposchi

Da ich mit Perl auf Kriegsfuss stehe wäre es interessant wenn du die einzelnen Befehlszeile kurz erläutern könntest.
Ich erkenne den Schleifendurchlauf in der letzten Zeile aber unshift und pop sagen mir zum Beispiel nichts.
Auch ist mir nicht klar was genau du in der Variable sr splittest.

Für etwas Nachhilfe bei Perl wäre ich sehr Dankbar.

TomLee

Zitat von: Superposchi am 07 April 2023, 21:47:33aber unshift und pop sagen mir zum Beispiel nichts.

https://perlmaven.com/manipulating-perl-arrays

Zitat von: Superposchi am 07 April 2023, 21:47:33Auch ist mir nicht klar was genau du in der Variable sr splittest.

Wenn du die Zeile meinst:
my @sr = split(q( ),$sn);;\
Hier wird die Variable $sn ReadingsVal($name,'stored_number','') am Leerzeichen gesplittet, mehr nicht ???





Superposchi

Verstehe. Ist bei mir überflüssig, da eh keine Leerstelle im Reading angegeben wird. Darum habe ich es auch nicht nachvollziehen können. Allerdings müsste das ganze ja dann für den Anrufernamen auch noch gemacht werden.

Und bei mir wird durch Amad eingehende und ausgehende Anrufe in getrennten Readings angezeigt.
AnruferName
Anrufernummer
Rufzustand (immer idle nach dem auflegen)

und das wie gesagt für eingehende und ausgehende Anrufe.

Schlimbo

Falls du AMAD mit Tasker verwendest kannst du dir das mal ansehen:
https://forum.fhem.de/index.php?msg=759514

Gruß Schlimbo

Schlimbo

Habe das AMAD-Call-ADDON im verlinkten Post gerade noch mal aktualisiert, hier war noch eine alte Version vom Task "AMAD_SendData2CommBridge" enthalten welche die deprecated "HTTP Post" Funktion von Tasker verwendet.
Der Task "AMAD_SendData2CommBridge" sollte hier eigentlich auch gar nicht enthalten sein, da dieser Task aus dem AMAD Hauptprojekt stammt. Habe in jetzt aus dem Addon entfernt.
Falls bereits importiert wurde bitte noch mal das aktuelle 74_AMADtaskerset_4.4.4.prj.xml aus https://forum.fhem.de/index.php?topic=81167.0 importieren um wieder den korrekten "AMAD_SendData2CommBridge" Task zu bekommen.

Superposchi

Werde ich ausprobieren.
Klingt erstmal genau nach dem was ich suche.

Prof. Dr. Peter Henning

ZitatFür etwas Nachhilfe bei Perl wäre ich sehr Dankbar.
Tipp: https://www.tutorialspoint.com/perl/index.htm

LG

pah