FHEM Forum

FHEM => Frontends => TabletUI => Thema gestartet von: sn0000py am 14 Dezember 2020, 14:31:41

Titel: Werte im Widget lesen ohne data
Beitrag von: sn0000py am 14 Dezember 2020, 14:31:41
Hallo, ich möchte einige Werte im Widget lesen - dazu habe ich zwei ansätze.
In beiden möchte ich die Readings NICHT im data vom HTML definieren da es so und so ein individuelles Widget ist.

Ansatz 1:
    function init_attr(elem) {
elem.initData('Akku', 'Akku');
elem.initData('Grid', 'Grid');
elem.initData('Load', 'Load');
elem.initData('PV', 'PV');
elem.initData('Batterie', 'Battery');
me.addReading(elem, 'Akku');
me.addReading(elem, 'Grid');
me.addReading(elem, 'Load');
me.addReading(elem, 'PV');
me.addReading(elem, 'Batterie');
    }
    function update(dev, par) {
        me.elements.each(function (index) {
            var elem = $(this);
            if (elem.matchDeviceReading('akku', dev, par)) SetQuadrant(3, elem.getReading('akku').val);
            else if (elem.matchDeviceReading('pv', dev, par)) SetQuadrant(2, elem.getReading('pv').val);
            else if (elem.matchDeviceReading('Grid', dev, par)) SetQuadrant(1, elem.getReading('Grid').val);
            else if (elem.matchDeviceReading('Load', dev, par)) SetQuadrant(4, elem.getReading('Load').val);
            else if (elem.matchDeviceReading('Batterie', dev, par)) $('text#batterie').text(Math.round(elem.getReading('Batterie').val)+'%');
        });
    }



Dieser Ansatz funktioniert nur wenn ich im HTML dann auch die Datas definiert habe.
<div data-type="pv" data-device="Energy" data-Akku="Akku" data-Grid="Grid" data-Load="Load"

2. Ansatz einfach diese 5 Werte alle 10 Sekunden lesen (die Werte werden sich so und so jedes mal Ändern, daher könnte ich mir das sparen mit updates und co)

nur da fehlt mir im moment der Ansatz wie ich es angehen sollte