[FHEM-Tablet-UI] Chart

Begonnen von RoBra81, 18 Dezember 2015, 13:42:10

Vorheriges Thema - Nächstes Thema

h3llsp4wn

Hallo Eki,

was muss ich jetzt ändern, damit mein Chart wieder "normal" ausschaut? Sieht mir aus als würden die Linien hin und her springen  :o


eki

Ups  :-[, sieht wohl so aus als ob da beim Sortieren was schiefgeht. Habs jetzt erst mal nur als Option reingenommen. Bitte prüfe noch mal mit der (wieder unter dem angegebenen Thread verfügbaren) Version (da ist die Sortierung standardmäßíg deaktiviert).

h3llsp4wn

Danke - eben getestet - mit der Version sieht alles wieder gut aus - und alles funktioniert wieder :)


jnewton957

Hallo,

ich baue auch aktuell viel mit den charts.

Ich habe die Kühlschrankinnentemperatur mit ftui l0fill_gyr abgebildet.

Im chart widget gibt es diesen charttyp nicht. Ist das geplant ?

Grüße
Jörg
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

Waldmensch

Hallo,

Ich habe gestern das Chart Widget eingebaut. Es sieht wunderbar aus, allerdings updated es sich nur, wenn man einen Seitenrefresh (F5) macht. Alle anderen Widgets aktualisieren sich permanent. Woran liegt es? Getestet Chrome unter CM10 auf Tablet und Firefox auf PC

<div data-type="chart"
                  data-logdevice='["logdb","logdb"]'
                  data-columnspec='["MySHM:PV:::","MySHM:SelfConsumption:::"]'
  data-style='["ftui l0","ftui l2fill"]'
                  data-minvalue="auto"
                  data-maxvalue="auto"
                  data-height="125"
                  data-width="480"
                  class="noticks">
                </div>

eki

Zitat von: jnewton957 am 27 März 2016, 08:11:36
Hallo,

ich baue auch aktuell viel mit den charts.

Ich habe die Kühlschrankinnentemperatur mit ftui l0fill_gyr abgebildet.

Im chart widget gibt es diesen charttyp nicht. Ist das geplant ?

Grüße
Jörg
Ich muss mal schauen wo das definiert ist, dann kann ich es in der nächsten Version einbauen.

jnewton957

Zitat von: eki am 27 März 2016, 11:21:12
Ich muss mal schauen wo das definiert ist, dann kann ich es in der nächsten Version einbauen.

Danke.

Freue mich darauf. Der Charttyp sieht eben echt Klasse aucf für die Temperaurverläufe.

Grüße
Jörg
FHEM6.2 auf Pi5
V 1.66 nanoCUL 433 (IT)
V 1.66 nanoCUL868 (HM)
sqlite3 LogDb
ELRO AB440, DECT200,  TFA30.3125, esp8266, HM, TabletUI, IR-Schreiblesekopf (Udo),tibber Pulse, Kostal Pico, cfos Wallbox, Modbus TCP

anthonyvage

#97
EDIT: Wie ich sehe wird das Thema bereits in einem Thread behandelt.


Seit gestern funktionieren in keinem Browser mehr das Chart Widget, geändert habe ich nichts, bei Firefox geht es soweit, dass dieser komplett einfriert, Safari, Chrome und iOS zeigen bis auf die X und Y Achse nichts mehr an. Ist sonst irgendeinem ein Problem mit dem Widget bekannt?
Finde es ein wenig seltsam, dass das Widgets nicht mehr funktionert, habe sogar ein Logfile zurückgesetzt um auszuschliessen, dass es an den Daten liegt.

Hier der HTML Schnippsel:
<div data-type="chart"
       data-device='HM_422F71_Clima'
      data-logdevice='["FileLog_HM_422F71"]'
      data-columnspec='["4:measured-temp","4:desi.*","4:actuator"]'
      data-legend='["Ist","Soll","Ventilstellung"]'
      data-minvalue='["15","15"]'
      data-minvalue_sec='["0"]'
      data-maxvalue='["25","25"]'
      data-maxvalue_sec='["100"]'
      data-uaxis='["primary","primary","secondary"]'
      data-ytext="°C"
      data-ytext_sec="%"
     
      data-style='["ftui l0fill","ftui l4","ftui l3"]'
      data-height="75"
      data-width="125"
      class="noticks nobuttons">
    </div>

eki


Marekh

Wie könnte man presence darstellen, hier gibt es ja nur die Readings absent und present?

Marek

eki

Hallo Marek,

ich habe das für meine Fenster über zusätzliche mapping Funktionen in der columnspec gelöst (schau auch mal im fhem plot wiki nach). Du kannst dann die werte im Logfile in Zahlen umwandeln und darstellen.

Die Syntax sieht für meine Fenster in etwa so aus (musst Du dann eben für die Presence Texte noch anpassen):

'4:og_KZ_Fenster.contact\x3a::$fld[3]=~"open"?1:$fld[3]=~"tilted"?0.5:0'

Erklärung: die 4 steht für die 4 Spalte, die die Werte (bei mir "open", "tilted" oder "closed") enthält. Danach kommt durch ":" getrennt zunächst ein Filterstring, der die Zeilen mit den relevanten Daten herausfiltert (bei mir die mit der Fenster contact Info, das "\x3a" ist der hex Wert für das Zeichen ":" muss so gemacht werden damit man nicht mit den ":" als Trenner durcheinander kommt). Danach kommt ein möglicher Defaultwert (habe ich einfach leer gelassen). Dann kommt das Entscheidende, Du kannst auf die einzelnen elemente der herausgefilterten Zeile direkt zugreifen $fld[i] steht für das i-te durch Leerzeichen getrennte Element (Vorsicht, hier fängt das Zählen mit 0 an statt mit 1 wie beim ersten Parameter). Die Auswertung ist dann mehr oder weniger perl syntax (in meinem Fall wird nachgeschaut, ob der Wert ($fld[3]) dem String "open" entspricht, falls ja wird der Wert 1 zurück gegeben, falls nein, wird geprüft ob der Wert den String "tilted" enthält, in diesem Fall wird der Wert 0.5 zurückgeliefert, ansonsten 0). Dadurch entsteht ein Plot mit 3 Stufen (ich verwende als Plottype "steps") die den Status des Fensters anzeigen.

viegener

@eki: Gute Lösung!

Eine andere Lösung für texte in Logs ist das Erzeugen eines ExtraFilelogs auf der Originaldatei wob eine Reformatfunktion die Texte in Nummern umsetzt.

Ich habe ledier mit beiden Lösungen ein Problem, vielleicht hat ja dazu jemand eine Idee?:

1) In der y-Skala stehen leider nur Zahlen (anders als bei einer Ersetzung beim SVG Plot). Oder hat dazu noch jemand eine Idee?
2) Wenn die Logfiles (per event-on-...) ausgedünnt sind, sieht man leider am Anfang und Ende keine Daten bis der erste Event kommt



Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

eki

zu 1.) Das geht bisher noch nicht, werde ich einer der nächsten Versionen mal vorsehen (muss aber noch nachdenken wie)
zu 2.) Das lässt sich über logproxy mit dem extend attribut machen (siehe wiki zu logproxy).

viegener

@eki: Danke für die Infos!
Ja das mit extend in logproxy hatte ich mir schon gedacht, da ich gestern gesehen hatte, dass das widget spezielle Behandlungen für logproxy enthält.
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

PlanLos

Hallo Leute,

ich könnte zwar den Plot per iframe einbinden, doch möchte ich die Auswertung gern per tablet ui Chart nutzen.

Ich komme aber nicht dahinter wie ihr die Charts erstellt.
bei mir kommen immer leere Charts zum Vorschein.

hier mein bisheriger Versuch:

fhem.cfg

define G_BZ FileLog ./log/G_BZ-%Y-%m.log T_BZ:Badezimmer_Ist-Wert.TEMPERATURE:.*
define SVG_G_BZ_1 SVG G_BZ:SVG_G_BZ_1:CURRENT
attr SVG_G_BZ_1 room Statistiken
attr SVG_G_BZ_1 group Wohnbereich


Logdatei G_BZ-2016-10.log

2016-10-03_02:53:26 T_BZ Badezimmer_Ist-Wert.TEMPERATURE: 22.8
2016-10-03_02:58:24 T_BZ Badezimmer_Ist-Wert.TEMPERATURE: 22.7
2016-10-03_03:34:04 T_BZ Badezimmer_Ist-Wert.TEMPERATURE: 22.6
2016-10-03_04:34:51 T_BZ Badezimmer_Ist-Wert.TEMPERATURE: 22.5
2016-10-03_05:10:40 T_BZ Badezimmer_Ist-Wert.TEMPERATURE: 22.4
2016-10-03_05:13:09 T_BZ Badezimmer_Ist-Wert.TEMPERATURE: 22.5
2016-10-03_05:15:15 T_BZ Badezimmer_Ist-Wert.TEMPERATURE: 22.4
2016-10-03_06:59:55 T_BZ Badezimmer_Ist-Wert.TEMPERATURE: 22.5
2016-10-03_07:02:40 T_BZ Badezimmer_Ist-Wert.TEMPERATURE: 22.4


mein eingebundener Div

<div class="normal"
data-type="chart"
data-logdevice='FileLog_G_BZ'
data-columnspec='4:Badezimmer_Ist-Wert.TEMPERATURE'
data-style='ftui l0'
data-ptype='lines'
data-uaxis='primary'
data-legend=' '
data-yunit="&deg;C"
data-ytext="Temperatur"
data-yticks="auto"
data-minvalue="18"
data-maxvalue="27"
data-daysago_start="1"
data-daysago_end="-1"
data-crosshair="true"
data-cursorgroup="1"
data-scrollgroup="1"
data-showlegend="true"
data-width="100%"
data-height="100%"
data-xticks="1440">
</div>


Das ganze bleibt wie gesagt leer.
Kann mir wer helfen?

Gruß
PlanLos