Anrufliste in FTUI angezeigt bekommen?

Begonnen von Darkmann, 01 Mai 2017, 22:35:13

Vorheriges Thema - Nächstes Thema

Darkmann

Hi,

in der normalen FHEM Oberfläche hab ich die Anrufliste jetzt so drin wie sie für mich OK ist.
Jetzt weiss ich aber nicht wie ich die in FTUI rüber bekomme. Kann mir wer nen Tipp geben?

Gruß

Wuehler

#1
Folgenden Code habe ich auch mal irgendwo im Forum gefunden. Für mehr als 2 Zeilen entsprechend die <tr>-Blöcke kopieren und anpassen. Weitere Readings kann man natürlich auch einbauen. Ich habe nur das Minimum genommen.
Ergebnis: Siehe Anhang

<li data-row="9" data-col="1" data-sizex="4" data-sizey="4" class="semitransparent">
    <header>Anrufe</header>
    <table width="100%" class="">
        <tr>
            <td>
                <!-- Zuordnung des Status zu entsprechendem Icon -->
                <div class="narrow" data-type="symbol" data-device="FB_CALLLIST"
                     data-get="1-state"
                     data-states='["=>","=> X","=> ((o))","=> [=]","=> O_O","<=","<= X"]'
                     data-icons='["oa-phone_call_end_in","oa-phone_missed_in","oa-phone_ring fa-blink","oa-phone_ring_in fa-blink","oa-phone_answersing","oa-phone_call_end_out","oa-phone_missed_out"]'
                     data-colors='["green","firebrick","firebrick","green","#aa6900","blue"]'></div>
            </td>
            <td>
                <div data-type="label" data-device="FB_CALLLIST" data-get="1-timestamp" data-part="5" class=""></div>
                <div data-type="label" data-device="FB_CALLLIST" data-get="1-timestamp" data-part="1" class="inline"></div>
                <div data-type="label" data-device="FB_CALLLIST" data-get="1-timestamp" data-part="2" class="inline"></div>
                <div data-type="label" data-device="FB_CALLLIST" data-get="1-timestamp" data-part="3" class="inline"></div>
            </td>
            <td>
                <div data-type="label" data-device="FB_CALLLIST" data-get="1-name"></div>
                <div data-type="label" data-device="FB_CALLLIST" data-get="1-number"></div>
            </td>
            <td>
                <div data-type="label" data-device="FB_CALLLIST" data-get="1-duration"></div>
            </td>
        </tr>
        <tr>
            <td>
                <div class="narrow" data-type="symbol" data-device="FB_CALLLIST"
                     data-get="2-state"
                     data-states='["=>","=> X","=> ((o))","=> [=]","=> O_O","<=","<= X"]'
                     data-icons='["oa-phone_call_end_in","oa-phone_missed_in","oa-phone_ring fa-blink","oa-phone_ring_in fa-blink","oa-phone_answersing","oa-phone_call_end_out","oa-phone_missed_out"]'
                     data-colors='["green","firebrick","firebrick","green","#aa6900","blue"]'></div>
            </td>
            <td>
                <div data-type="label" data-device="FB_CALLLIST" data-get="2-timestamp" data-part="5" class=""></div>
                <div data-type="label" data-device="FB_CALLLIST" data-get="2-timestamp" data-part="1" class="inline"></div>
                <div data-type="label" data-device="FB_CALLLIST" data-get="2-timestamp" data-part="2" class="inline"></div>
                <div data-type="label" data-device="FB_CALLLIST" data-get="2-timestamp" data-part="3" class="inline"></div>
            </td>
            <td>
                <div data-type="label" data-device="FB_CALLLIST" data-get="2-name"></div>
                <div data-type="label" data-device="FB_CALLLIST" data-get="2-number"></div>
            </td>
            <td>
                <div data-type="label" data-device="FB_CALLLIST" data-get="2-duration"></div>
            </td>
        </tr>
    </table>
</li>


PS: für die Icons muss im Header noch folgendes hinzugefügt werden (wenn ich mich richtig erinnere  ;D)

    <link rel="stylesheet" href="/fhem/tablet/lib/openautomation.css" />

Wuehler


Darkmann

Jupp bin weitergekommen, Danke.

Gesendet von meinem HTC 10 mit Tapatalk


Reinerlein

Hi Darkmann,

wenn du es so dynamisch wie in Fhemweb haben möchtest, kannst du auch direkt die Readingsgroup einbinden:

<div data-type="readingsgroup" data-device="hwr_Fritzbox_CallList_RG" data-get="item" data-max-update="1"></div>
Mit dem irgendwo hier geposteten JS-Schnipsel von Andre aktualisiert die sich auch live auf der TabletUI-Oberfläche.

Ich benutze diese Konstrukte sehr häufig, da für mich konsolidierte Überwachung sehr wichtig ist, und das läßt sich nicht in eine fest vorgegebene Zeilenzahl pressen... :)

Grüße
Reinerlein

Darkmann

#5
Hast du mal nen Screenshot, wie das dann aussieht?

Kannst Du mir noch nen Tipp geben welchen JS-Schnippsel?

Gruß


Reinerlein

Hi Darkmann,

das sieht eigentlich wie in Fhemweb aus (nur halt zentriert, da das ein Grund-Style in FTUI ist). Ich musste nur die Icons ausblenden, da ich nicht lange an Styles rumbasteln wollte, und die bestehenden Icon riesig angezeigt wurden :)

Im Anhang mal ein Screenshot. Ich habe es in einem Popup-Dialog der automatisch scrollbar ist, wenn der Inhalt länger wird. Das sollte aber auch in einem beliebigen Bereich so machbar sein...

Das mit dem Aktualisieren kommt von hier: https://forum.fhem.de/index.php/topic,62226.msg547165.html#msg547165

Grüße
Reinerlein

sucht

Hallo Reinerlein,

wie sieht denn deine Definition der Readinggroup aus, direkt die Anruferliste ist ja vom Type calllist.

Danke Michael

Reinerlein

Hi Michael,

die ist ganz einfach :)

hwr_Fritzbox:<{getFritzboxCallList()}@event>


Allerdings brauchst du dafür noch eine kleine Prozedur in deiner myUtils.pm:

sub getFritzboxCallList() {
my $hash = $defs{hwr_Fritzbox_CallList};
return '<html><head></head><body>'.FB_CALLLIST_list2html($hash).'</body></html>';
}


Dabei ist "hwr_Fritzbox" mein "CALLMONITOR"-Device und "hwr_Fritzbox_CallList" mein "FB_CALLLIST"-Device...

Grüße
Reiner

sucht

Hallo Reinerlein,

das funktioniert schon super, aber im FHEM direkt bekomme ich beim Aktualisieren folgenden Fehler.

Gruß Michael


Wasserwerk33

Ich hoffe ihr könnt mir weiter helfen?

Habe ich irgendwo etwas noch vergessen zu ändern oder einzutragen?

<li class="halbTransparent border-left border-right" data-row="7" data-col="6" data-sizex="6" data-sizey="4">
<header>Anrufe</header>
    <table width="100%" class="">
        <tr>
            <td>
                <!-- Zuordnung des Status zu entsprechendem Icon -->
                <div class="narrow" data-type="symbol" data-device="Anrufliste"
                     data-get="event"
                     data-states='["=>","=> X","=> ((o))","=> [=]","=> O_O","<=","<= X"]'
                     data-icons='["oa-phone_call_end_in","oa-phone_missed_in","oa-phone_ring fa-blink","oa-phone_ring_in fa-blink","oa-phone_answersing","oa-phone_call_end_out","oa-phone_missed_out"]'
                     data-colors='["green","firebrick","firebrick","green","#aa6900","blue"]'></div>
            </td>
            <td>
                <div data-type="label" data-device="Anrufliste" data-get="1-timestamp" data-part="5" class=""></div>
                <div data-type="label" data-device="Anrufliste" data-get="1-timestamp" data-part="1" class="inline"></div>
                <div data-type="label" data-device="Anrufliste" data-get="1-timestamp" data-part="2" class="inline"></div>
                <div data-type="label" data-device="Anrufliste" data-get="1-timestamp" data-part="3" class="inline"></div>
            </td>
            <td>
                <div data-type="label" data-device="Anrufliste" data-get="1-name"></div>
                <div data-type="label" data-device="Anrufliste" data-get="1-number"></div>
            </td>
            <td>
                <div data-type="label" data-device="Anrufliste" data-get="1-duration"></div>
            </td>
        </tr>
        <tr>
            <td>
                <div class="narrow" data-type="symbol" data-device="Anrufliste"
                     data-get="2-state"
                     data-states='["=>","=> X","=> ((o))","=> [=]","=> O_O","<=","<= X"]'
                     data-icons='["oa-phone_call_end_in","oa-phone_missed_in","oa-phone_ring fa-blink","oa-phone_ring_in fa-blink","oa-phone_answersing","oa-phone_call_end_out","oa-phone_missed_out"]'
                     data-colors='["green","firebrick","firebrick","green","#aa6900","blue"]'></div>
            </td>
            <td>
                <div data-type="label" data-device="Anrufliste" data-get="2-timestamp" data-part="5" class=""></div>
                <div data-type="label" data-device="Anrufliste" data-get="2-timestamp" data-part="1" class="inline"></div>
                <div data-type="label" data-device="Anrufliste" data-get="2-timestamp" data-part="2" class="inline"></div>
                <div data-type="label" data-device="Anrufliste" data-get="2-timestamp" data-part="3" class="inline"></div>
            </td>
            <td>
                <div data-type="label" data-device="Anrufliste" data-get="2-name"></div>
                <div data-type="label" data-device="Anrufliste" data-get="2-number"></div>
            </td>
            <td>
                <div data-type="label" data-device="Anrufliste" data-get="2-duration"></div>
            </td>
        </tr>
    </table>
</li>


In Fhem selber werden mir die anrufe angezeigt nur nicht auf meinem Tablet Ui.

Meine RAW Defintion
defmod Anrufliste FB_CALLMONITOR 192.xxx.xxx.xxx
attr Anrufliste room Fritz Box

setstate Anrufliste opened
setstate Anrufliste 2018-01-03 21:24:57 call_duration 0
setstate Anrufliste 2018-01-03 21:24:57 call_id 0
setstate Anrufliste 2018-01-03 21:24:57 direction incoming
setstate Anrufliste 2018-01-03 21:24:57 event disconnect
setstate Anrufliste 2018-01-03 21:24:57 external_connection SIP0
setstate Anrufliste 2018-01-03 21:24:57 external_name unknown
setstate Anrufliste 2018-01-03 21:24:57 external_number 01768xxxxxx
setstate Anrufliste 2018-01-03 21:24:57 internal_number 0545xxxxxxx
setstate Anrufliste 2018-01-03 21:24:57 missed_call 01768xxxxxx
setstate Anrufliste 2018-01-03 21:19:36 state opened


Markus Bloch

Hallo Wasserwerk33,

dein TabletUI-Code ist für FB_CALLLIST ausgerichtet. Du benutzt aber FB_CALLMONITOR als Datengrundlage. Bitte definier erst eine FB_CALLLIST wie bspw. hier im Wiki: https://wiki.fhem.de/wiki/FB_CALLLIST

Die Readings aus FB_CALLLIST kannst Du dann in deinem TabletUI verwenden.

Viele Grüße

Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

Wasserwerk33

#12
Ahhhh jetzt ist der Groschen gefallen.
Danke

Nur leider wird mir auf Tablet_ui nix angezeigt. Habe sogar den code von der Seite genommen. Ich habe nur 2 kleine fast unscheinbare kästen.

es scheint mir als ob mir die Icon´s fehlen. Obwohl im Header <link rel="stylesheet" href="/fhem/tablet/lib/openautomation.css" />
einegetragen ist.

Sollte dann ja funktonieren oder nicht?

dt2510

Also irgendwie hab' ich hier ein Problem ... Ich habe als Test den letzten Eintrag meiner FB_CALLLIST anzeigen wollen (wie im Beispiel oben)

  <tr>
    <td>
      <div class="narrow"
           data-type="symbol"
           data-device="FRITZ7490_CallList"
           data-get="1-state"
           data-states='["=>","=> X","=> ((o))","=> [=]","=> O_O","<=","<= X"]'
           data-icons='["oa-phone_call_end_in","oa-phone_missed_in","oa-phone_ring fa-blink","oa-phone_ring_in fa-blink","oa-phone_answersing","oa-phone_call_end_out","oa-phone_missed_out"]'
           data-colors='["green","firebrick","firebrick","green","#aa6900","blue"]'>
      </div>
    </td>
    <td>
      <div data-type="label"
           data-device="FRITZ7490_CallList"
           data-get="1-timestamp"
           data-part="5">
      </div>
    </td>
    <td>
      <div class="inline"
           data-type="label"
           data-device="FRITZ7490_CallList"
           data-get="1-timestamp"
           data-part="1">
      </div>
    </td>
    <td>
      <div class="inline"
           data-type="label"
           data-device="FRITZ7490_CallList"
           data-get="1-timestamp"
           data-part="2">
      </div>
    </td>
    <td>
      <div class="inline"
           data-type="label"
           data-device="FRITZ7490_CallList"
           data-get="1-timestamp"
           data-part="3">
      </div>
    </td>
    <td>
      <div data-type="label"
           data-device="FRITZ7490_CallList"
           data-get="1-name">
      </div>
    </td>
    <td>
      <div data-type="label"
           data-device="FRITZ7490_CallList"
           data-get="1-number">
      </div>
    </td>
    <td>
      <div data-type="label"
           data-device="FRITZ7490_CallList"
           data-get="1-duration">
      </div>
    </td>
  </tr>


Seltsamerweise wird in FHEMWEB alles korrekt angezeigt (Datum, Uhrzeit, Nummer usw.) in TABLETUI sind aber alle Felder leer !?!? Name und Typ des Devices sind korrekt.

Frerk

Hallo
habs gerade selber gehabt .
Im Device der angelegten FB_Calllist muss das Attribut  create-readings auf 1 gesetzt werden sonst werden keine Readings in FTUI ausgelesen
Grüße
Frerk