Werte im Widget lesen ohne data

Begonnen von sn0000py, 14 Dezember 2020, 14:31:41

Vorheriges Thema - Nächstes Thema

sn0000py

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