FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: Tobias am 27 Januar 2017, 07:27:29

Titel: Widget Evenmonitor funktioniert nicht..??
Beitrag von: Tobias am 27 Januar 2017, 07:27:29
Hi,
ich habe mal das Widget Eventmonitor wie in der Doku beschrieben eingebunden. Leider aber wird NIX ausgegeben, das Gridster Element bleibt leer :(
        <header>Eventmonitor</header>
        <div data-type="eventmonitor">
        </div>
      </li>


Es müssen events ankommen weil an andere Stelle in ftui passiert was...

Was habe ich falsch gemacht? Gleiches Verhalten in FTUI v2.4 und v2.5
Titel: Antw:Widget Evenmonitor funktioniert nicht..??
Beitrag von: setstate am 27 Januar 2017, 08:35:49
Muss ich mir anschauen, wodurch das in Mitleidenschaft gezogen wurde.
Titel: Antw:Widget Evenmonitor funktioniert nicht..??
Beitrag von: n4rrOx am 15 März 2017, 21:33:53
Ist auch bei der neuesten FTUI Version so.
Titel: Antw:Widget Evenmonitor funktioniert nicht..??
Beitrag von: Tobias am 16 März 2017, 07:33:54
Hi setstate,
ich habe keine ahnung warum der eventmonitor bei dir funktioniert, aber nun sehe ich ja durch n4rrox, das es nicht nur bei mir alleine ist...
Ich nutze kein Websocket, sondern Ajax als longpoll, ev. hilft das?
Titel: Antw:Widget Evenmonitor funktioniert nicht..??
Beitrag von: setstate am 16 März 2017, 08:20:59
Das kann ich nochmal probieren.
Titel: Antw:Widget Evenmonitor funktioniert nicht..??
Beitrag von: n4rrOx am 16 März 2017, 12:20:02
Zitat von: Tobias am 16 März 2017, 07:33:54
Hi setstate,
ich habe keine ahnung warum der eventmonitor bei dir funktioniert, aber nun sehe ich ja durch n4rrox, das es nicht nur bei mir alleine ist...
Ich nutze kein Websocket, sondern Ajax als longpoll, ev. hilft das?

Ich hingegen Websocket ;-)
Titel: Antw:Widget Evenmonitor funktioniert nicht..??
Beitrag von: setstate am 16 März 2017, 22:01:11
btw: Das Eventmonitor-Widget zeigt nur die Events, wofür auch Abos existieren. D.h. es müssen andere Widgets auf der Seite sein, die Readings abonniert haben haben.
Titel: Antw:Widget Evenmonitor funktioniert nicht..??
Beitrag von: Tobias am 05 April 2017, 04:17:43
Hi setstate, auf derselben Seite habe ich 2 Charts die natürlich auch Daten anzeigen, der Event Monitor ist trotzdem leer :(

Gesendet von meinem Leap mit Tapatalk

Titel: Antw:Widget Evenmonitor funktioniert nicht..??
Beitrag von: setstate am 05 April 2017, 07:08:02
Wie oft sendet den ein logdevice Updates? Da muss man schon viele, viele Minuten davor sitzen bleiben ...
Titel: Antw:Widget Evenmonitor funktioniert nicht..??
Beitrag von: Bruchbude am 04 August 2018, 19:35:47
moin mädels,
nachdem eventmonitor bei mir auch nicht lief habe ich da was zusammengebastelt.
nutzt die volle kachelbreite/höhe um die liste der events anzuzeigen
(https://www2.pic-upload.de/thumb/35746355/eventmonitor.png) (https://www.pic-upload.de/view-35746355/eventmonitor.png.html)

/* FTUI Plugin
* Copyright (c) 2018 Bruchbude
* Under MIT License (http://www.opensource.org/licenses/mit-license.php)
*/

"use strict";

var Modul_eventmonitor = function () {

function init_attr(elem) {
elem.initData('max-items', 50);
elem.initData('nodetail', 'nodetail');
elem.initData('header', 'Event Monitor');
elem.initData('colorheader', 'white');
elem.initData('colorlist', 'gray');
elem.initData('device-filter', '.*');
elem.initData('reading-filter', '.*');
}

function init_ui(elem) {
elem.html("");
elem.css({ 'cursor': 'default' });
elem.append("<div class='big eventTitle "+ elem.data('colorheader')+ "'>" + elem.data('header') + "</div>");
var monitor = $('<div>', { class: 'eventMon big' }).appendTo(elem);
if ($(this).data('nodetail')!='1')
monitor.first().prepend("<div class='event'>" + (ftui.doLongPoll) ? "longpoll is on" : "longpoll is off" + "</div>");
}

function update(dev, par) {
me.elements.each(function (index) {
if (dev.match(new RegExp('^' + $(this).data('device-filter') + '$')) && par.match(new RegExp('^' + $(this).data('reading-filter') + '$'))) {
var now = new Date();
var monitor = $(this).find('.eventMon');
var height = monitor.parent().parent().height() - $(this).find('.eventTitle').height() - 10-5; // 15 px for top+bottom margin
monitor.css({ 'overflow-x':'hidden', 'overflow-y':'auto', 'text-align': 'left', 'height':height+'px' });
if (monitor.children().length >= $(this).data('max-items'))
monitor.find('.eventList:last').remove();
if ($(this).data('nodetail')=='1')
    monitor.first().prepend("<div class='eventList tiny "+ $(this).data('colorlist')+ "'>" + now.toLocaleTimeString() +" " + dev + "</div>")
else
    monitor.first().prepend("<div class='eventList tiny "+ $(this).data('colorlist')+ "'>" + [now.toLocaleDateString(), now.toLocaleTimeString(), dev, par, ftui.getDeviceParameter(dev, par).val].join(' ') + "</div>")
}
});
}

// public
// inherit members from base class
var me = $.extend(new Modul_widget(), {
//override members
widgetname: 'eventmonitor',
init_attr: init_attr,
init_ui: init_ui,
update: update,
});

return me;
};


parameter beispiele:
nodetail="1" es werden nur uhrzeit und das device angezeigt
header="Überschrift"
colorheader="white" schriftfarbe der überschrift: weiß (achtung: hier gehen nur keine farbwerte sondern nur farben welche in einer class definiert sind)
colorlist="gray" wie oben nur für die reading-einträge
device-filter=".*" regex filter fürs device
reading-filter=".*" regex filter für die readings
Titel: Antw:Widget Evenmonitor funktioniert nicht..??
Beitrag von: MichaelT am 12 August 2018, 16:12:52
Hallo Bruchbude,

deine Änderungen funktionieren.

Zur Info für  die Leute wo es nicht geht. Ich hatte den EventMonitor in einem swiper. Keine Anzeige, erst als ich das Widget in die oberste gridster-Liste eingehangen hab, ging es.

Gruß
Michael