FTUI Neue Version chart_widget

Begonnen von eki, 31 Januar 2016, 00:17:26

Vorheriges Thema - Nächstes Thema

netbus

Hallo,
Ich versuche gerade dein Chart Widget zu verwenden unter 2.2 leider bekomme ich keinen Graphen.
<div class="normal"
         data-type="chart"
         data-device="Tempsensor"
         data-logdevice="FileLog_Tempsensor"
         data-columnspec="4:Tempsensor.temperature\x3a::"
         data-style="ftui l0fill"
         data-ptype="lines"
         data-uaxis="primary"
         data-legend="Measured"
         data-yunit="°C"
         data-width="450px"
         data-height="120px"
         data-ytext="Temperature"
         data-minvalue="auto"
         data-maxvalue="auto"
         data-yunit_sec="%"
         data-ytext_sec="Percentage"
         data-yticks="auto"
         data-minvalue_sec="auto"
         data-maxvalue_sec="auto"
         data-daysago_start="0"
         data-daysago_end="-1"
         data-crosshair="true"
         data-cursorgroup="1"
         data-scrollgroup="1"
         data-showlegend="true"
         data-xticks="auto">
    </div>


So sieht der SVG aus
# Created by FHEM/98_SVG.pm, 2015-04-02 21:04:03
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics
set y2tics
set grid y2tics
set ylabel "Temperatur"
set y2label "Temperatur"

#FileLog_Tempsensor 4:Tempsensor.temperature\x3a::

plot "<IN>" using 1:2 axes x1y2 title '°C' ls l2fill lw 1 with lines


Und so das Log:
2016-04-26_17:02:39 Tempsensor temperature: 16.3
2016-04-26_17:05:24 Tempsensor battery: ok
2016-04-26_17:05:24 Tempsensor T: 16.0
2016-04-26_17:05:24 Tempsensor temperature: 16.0
2016-04-26_17:07:57 Tempsensor battery: ok
2016-04-26_17:07:57 Tempsensor T: 15.9


Weißt du woran das liegt?

eki

Nimm mal die Zeile mit data-device... heraus.

netbus

Zitat von: eki am 10 Mai 2016, 10:53:11
Nimm mal die Zeile mit data-device... heraus.
leider gleiches Ergebnis

eki

ich habe noch mal nachgeschaut, und einen Fehler gefunden, der zuschlägt, wenn keiner der Parameter ein Array ist. Wird in der nächsten Version korrigiert. Bis dahin bitte data-logdevice="FileLog_Tempsensor" durch data-logdevice='["FileLog_Tempsensor"]' ersetzen.

netbus

Mit data-logdevice='["FileLog_Tempsensor"]'
lädt die FTUI gar nicht mehr und alle Felder bleiben grau

eki

#50
kannst Du mal mit der angehängten js Version testen (nicht vergessen vorher den Cache zu löschen). Und mir auch mal sagen, was auf der Browser Console zu sehen ist?
Außerdem solltest Du statt \x3a \\x3a schreiben.

ulli

#51
Zwei Fragen:

1)
wie bekomme ich denn die Schriftgröße der Legende und der Achsenbeschriftung größer?

.normal .text.legend {
   fill: #bbb;
   font-size: 12px;
}
funktioniert nicht :)

2)
Wie kann ich denn eine horizontale linie einfügen?

eki

Zu den css Einstellungen schau bitte ins ftui_chart.css und ins ftui Wiki. Für eine waagerechte Linie bitte ins logProxy Wiki.

torte

Hallo,

bei mir geht das Chart auch nicht mit 2.2 habe das js aus #50 genommen.

In der Console bekomme ich das hier:

Loaded plugin: popup
widget_chart.js:15 0 init_attr(elem) { // initialize all attributes called from widget init function
var data = elem.data();
elem.data('minvalue_sec', typeof elem.data('minvalue_sec') != 'undefined' ? elem.da... "Attributes initialized with 0-1"
widget_chart.js:697 1 4
widget_chart.js:15 1 (index) {
var elem = $(this);

base.init_attr(elem);
base.init_ui(elem);

elem.data.defaultHeight = elem.hasClass('fullsize') ? elem[0].getBoundingClientRect().height*0.85 : '... "Module initialized with width: 550 height: 150"
widget_chart.js:2856 CM160
fhem-tablet-ui.js:927 Loaded plugin: chart


Grüße
Torte

netbus

Zitat von: eki am 11 Mai 2016, 10:31:33
kannst Du mal mit der angehängten js Version testen (nicht vergessen vorher den Cache zu löschen). Und mir auch mal sagen, was auf der Browser Console zu sehen ist?
Außerdem solltest Du statt \x3a \\x3a schreiben.
Funkt noch immer nicht.
Hier der Log
Plugin dir: /fhem/tablet/js
fhem-tablet-ui.min.js:1 Filename: test.html
fhem-tablet-ui.min.js:1 FHEM dir: /fhem/
fhem-tablet-ui.min.js:1 Collecting required readings
fhem-tablet-ui.min.js:1 start longpoll
jquery.min.js:4 Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
VM3505:43 label value 20.8 substitution
fhem-tablet-ui.min.js:1 Loaded plugin: widget_label
fhem-tablet-ui.min.js:1 Loaded plugin: widget_symbol
fhem-tablet-ui.min.js:1 Loaded plugin: widget_popup
fhem-tablet-ui.min.js:1 Loaded plugin: widget_pagebutton
fhem-tablet-ui.min.js:1 Loaded plugin: widget_switch
fhem-tablet-ui.min.js:1 Loaded plugin: widget_push
fhem-tablet-ui.min.js:1 Loaded plugin: widget_simplechart
VM3523:1665 FileLog_Tempsensor FileLog_Tempsensor true STATE STATE
jquery.min.js:4 Error: <svg> attribute height: Expected length, "NaN".m.extend.attr @ jquery.min.js:4m.access @ jquery.min.js:3m.access @ jquery.min.js:3m.fn.extend.attr @ jquery.min.js:4widget_chart.refresh @ VM3523:1028(anonymous function) @ VM3523:1668m.extend.each @ jquery.min.js:2m.fn.m.each @ jquery.min.js:2widget_chart.update @ VM3523:1663(anonymous function) @ fhem-tablet-ui.min.js:1j @ jquery.min.js:2k.fireWith @ jquery.min.js:2x @ jquery.min.js:4b @ jquery.min.js:4
fhem-tablet-ui.min.js:1 Loaded plugin: widget_chart
fhem-tablet-ui.min.js:1 Request readings from FHEM
fhem-tablet-ui.min.js:1 update done for device:Tempsensor parameter:STATE
fhem-tablet-ui.min.js:1 start longpoll

eki

Es gibt eine neue Version des Chart Widget. Siehe erstes Post in diesem Thread.

eki

noch mal ein Update (kommt jetzt ohne Änderung des widget_popup aus und wird dann auch bald in die offziellen Updates hineinkommen. Wiki ist jetzt auch auf dem aktuellen Stand.

ext23

Nabend,

funktioniert mir der neuen Version denn das Longpoll? Ich hab irgendwie Probleme mit dem Longpoll bei Chart und range. Beides wird nicht aktualisiert.

/Daniel
HM, KNX, FS20, 1-Wire, PanStamp, AVR-NET-IO, EM1000EM, PCA301, EC3000, HM-LAN, CUL868, RFXtrx433, LGW, DMX @Ubuntu-Server (Hauptsystem) & Raspberry Pi (Satellit)

fhainz

Die Longpoll Probleme kann ich bestätigen.  Mit 1.x hat es noch funktioniert, bei 2.2 ist mir das auch schon aufgefallen.

setstate

@eki: ich habe mir mal die Update Funktion angesehen. Gefällt mir noch nicht so richtig. Es müsste nach dem Reading gefiltert werden, was abonniert wurde. Also das unter data-get

Sonst wird bei jedem Label Update immer das Chart neu gemalt. Oder sehe ich das falsch? Was sagt das log?

In dieser Art stelle ich mir das vor

function update(dev,par) {

        me = this;
        // update from normal state reading
        me.elements.filterDeviceReading('get',dev,par)
        .each(function(index) {