Ankündigung

Einklappen
Keine Ankündigung bisher.

AVM Plugin

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • psilo
    antwortet
    logge bitte mal den bool wert vor der nummernausgabe. wobei das wahrsch nicht viel bringt.ich teste morgen nochmal mit exakt der logik von dir. auf was hast du das watch item gelegt?

    heute sind die kinder schon im bett. da geht nichts mehr

    Einen Kommentar schreiben:


  • Neuchr
    antwortet
    Das ist ja komisch ich habe die drei folgenden Zeilen am anfange der Logik eingetragen.

    Code:
    logger.error("Start")
    logger.error(sh.avm.monitor.incoming.last_called_n umber())
    logger.error(sh.avm.monitor.incoming.is_call_incom ing())
    Wenn ich die8xxxx anrufe und es zweimal Klingeln lasse und wieder auflege habe ich folgende Log Ausgabe.

    Code:
    [LIST=1][*]2018-02-03 16:46:36 ERROR logics.MusikLeiser Start[*]2018-02-03 16:46:36 ERROR logics.MusikLeiser 6xxxx[*]2018-02-03 16:46:36 ERROR logics.MusikLeiser True[*]2018-02-03 16:46:39 ERROR logics.MusikLeiser Start[*]2018-02-03 16:46:39 ERROR logics.MusikLeiser 8xxxxx[*]2018-02-03 16:46:39 ERROR logics.MusikLeiser False[/LIST]
    Beim eingehenden Anruf wird die Nr vom vorherigen Anruf angezeigt. (Zeile 1-3) Beim auflegen vom aktuellen. (Zeile 4-6) Deshalb bin ich der Meinung das das Item erst beim auflegen aktualisiert wird. Das ist beliebig oft reproduzierbar.

    Der Telnet auf den callmonitor zeigt mir die richtigen Daten an

    Code:
    03.02.18 16:46:36;RING;0;0172800xxxx;8xxxxx;SIP5;
    03.02.18 16:46:39;DISCONNECT;0;0;
    Die xxxxx habe ich eingetragen möchte meine Nummern hier nicht so Posten.

    Einen Kommentar schreiben:


  • psilo
    antwortet
    Neuchr das Problem hatte schon mal wer. Bei mir ist es aber reproduzierbar die aktuell angerufene nummer.. ich hatte im backend das feld geleert und dann angerufen. daher bin ich aktuell ratlos, warum das bei bestimmten konstellationen sich anders verhält.

    du kannst mal via telnet auf den callmonitor connecten und schauen, was da passiert. das incoming event ist aber auf true? das bitte auch loggen!!!!

    eine these wäre, dass der callmonitor die verbindung verloren hat (warum auch immer). aktuell ist da kein reconnect drin. daher testweise auch mal shng durchstarten, bevor du testest

    Einen Kommentar schreiben:


  • Neuchr
    antwortet
    Das mit dem logger.error war eine gute Idee. Es wird nur die Nr. ohne Vorwahl übermittelt aber das habe ich auch so gemacht. Es wird immer die letzte angerufene Nr angezeigt und nicht die aktuell angerufene Nr. Wie bekomme ich die den Raus kann ich die auch abfragen? Es sieht für mich so aus als ob das Item erst nach dem auflegen geändert wird.

    Einen Kommentar schreiben:


  • psilo
    antwortet
    noch ne idee: logge in der logik doch einfach mal raus, was die items zurückgeben wenn der anruf eingeht ;-)

    Bei mir steht die Nr ohne Vorwahl drin, das berücksichtigst Du richtig? evtl macht es sinn ein

    and (sh.avm.monitor.incoming.last_called_number() in '<nr mit vorwahl>')

    draus zu machen.. keine ahnung wie die fritzbox normal reagiert.. ein
    Code:
    logger.error(sh.avm.monitor.incoming.last_called_number())
    vor dem IF hilft aber sicher weiter
    Zuletzt geändert von psilo; 03.02.2018, 14:56.

    Einen Kommentar schreiben:


  • Neuchr
    antwortet
    Habe die Klammern gesetzt habe ich auch vorher schon einmal versucht und das ganze mit ' und auch mit " versucht geht leider nicht.

    Code:
    if (sh.avm.monitor.incoming.is_call_incoming()) and (sh.avm.monitor.incoming.last_called_number() == 'XXXXX'):

    Einen Kommentar schreiben:


  • schuma
    antwortet
    Bei einem and müssen die Anweisungen vor und nach dem and in Klammern stehen.

    Lass doch mal das call.incoming Event weg.
    Zuletzt geändert von schuma; 03.02.2018, 14:26.

    Einen Kommentar schreiben:


  • Neuchr
    antwortet
    Ja das ist klar ich möchte die Nummer haben die angerufen wird da ich nicht möchte das die Musik bei einem Fax oder bei einer andern Nr. ausgeht sondern nur bei einer oder zwei bestimmten. Im Item im Backend steht die Nr.

    Gruß

    Christian

    Einen Kommentar schreiben:


  • psilo
    antwortet

    last_called_number müsste die nummer sein, die bei dir daheim angerufen wurde.. nicht die die anruft.
    called=angerufene nummer
    calling=anrufende nummer

    oder willst du die die bei dir daheim angerufen wurde haben? was steht denn zu dem zeitpunkt im item?

    Code:
            [[[incoming]]]
                [[[[is_call_incoming]]]]
                    type = bool
                    avm_data_type@fritzbox_7490 = is_call_incoming
                [[[[duration]]]]
                    type = num
                    avm_data_type@fritzbox_7490 = call_duration_incoming
                [[[[last_caller]]]]
                    type = str
                    avm_data_type@fritzbox_7490 = last_caller_incoming
                [[[[last_calling_number]]]]
                    type = str
                    avm_data_type@fritzbox_7490 = last_number_incoming
                [[[[last_called_number]]]]
                    type = str
                    avm_data_type@fritzbox_7490 = last_called_number_incoming
    Zuletzt geändert von psilo; 03.02.2018, 13:50.

    Einen Kommentar schreiben:


  • Neuchr
    antwortet
    Hallo,

    ich habe da noch eine Frage. Ich habe mir eine Logik gebaut, die mit bei einem eingehenden Anruf die Musik leise macht und anschließend wieder laut.
    Soweit so gut. Wenn ich jetzt die angeruffende Nummer abfragen möchte läuft das ganze nicht. Was mache ich falsch?
    Ich habe es schon mit Klammern um die Abfrage/n versucht genauso wie mit ' anstelle von ". Für XXXX steht natürlich meine Nummer.

    Danke und Gruß

    Christian

    logic.yaml
    Code:
    MusikLeiser:
         filename: musikleise.py
         watch_item: avm.monitor.incoming.is_call_incoming
    musikleise.py (geht)
    Code:
    if sh.avm.monitor.incoming.is_call_incoming():
          sh.MySonos.Kueche.mute(1)
    elif not sh.avm.monitor.incoming.is_call_incoming():
        sh.MySonos.Kueche.mute(0)
    musikleise.py (geht nicht)
    Code:
    if sh.avm.monitor.incoming.is_call_incoming() and sh.avm.monitor.incoming.last_called_number() == "XXXX" :
          sh.MySonos.Kueche.mute(1)
    elif not sh.avm.monitor.incoming.is_call_incoming():
        sh.MySonos.Kueche.mute(0)

    Einen Kommentar schreiben:


  • Neuchr
    antwortet
    Super vielen Dank jetzt geht alles und ich komme klar kann mich jetzt mit der Logik befassen.

    Einen Kommentar schreiben:


  • psilo
    antwortet
    Neuchr wäre wie gesagt bei der SV besser aufgehoben.. diese widgets hier (https://github.com/smarthomeNG/plugi...avm/sv_widgets) kopierst du in deinen pers. pages ordner bspw. unter ein directory widgets und bindest sie dann nur noch ein.

    In der SV 2.9 kann man die Sachen auch unter dropins packen, aber das geht zu weit. Theoretisch kannst Du die Visu auch autogenieren lassen, aber das geht auch zu weit (und ich nutze das nicht).

    Bspw.:
    Code:
    {% import "widgets/widget_avm.html" as fritzbox %}
    {{ fritzbox.wifi('wlan_widget', '', 'avm.wlan.gf_wlan_1', 'avm.wlan.gf_wlan_2', 'avm.wlan.gf_wlan_3', 'avm.wlan.gf_wlan_3_tr') }}
    Was es noch so gibt siehst Du in den Macrodefinitionen im File. Natürlich kannst Du die Werte auch mit den jew. Standardwidgets der SV ausgeben.

    Falls Dir die Grundlagen noch fehlen, bspw. wie man GADs in SV Widgets schreibt etc, bitte ich Dich Dir das anzulesen oder bei der SmartVisu im Forum zu fragen.
    Zuletzt geändert von psilo; 24.01.2018, 13:31.

    Einen Kommentar schreiben:


  • Neuchr
    antwortet
    Super ich habe jetzt Daten bei den Items im Backend. Ich habe das auf PWD ohne Benutzer umgestellt, wobei die User/PWD Kombination beim curl funktionierte aber sonst wohl nicht. Vielen Dank erst einmal. Könnte mir dann bitte jemand sagen wie ich meine Daten auf meine Visu-Seite bekomme, am besten anhand eines Beispiels?

    Danke und Gruß

    Christian

    Einen Kommentar schreiben:


  • psilo
    antwortet
    Achja und noch was: den CallMonitor hast du schon aktiviert, wie in der Doku beschrieben? Weil er bei Dir True ist

    Einen Kommentar schreiben:


  • psilo
    antwortet
    achja und das hier bei "Bestätigen" ist bei mir aus, evtl blockt das auch - bei Dir scheint es ein zu sein, weil Du anrufen musstest:

    cc.PNG

    Einen Kommentar schreiben:

Lädt...
X