SmartVISU Widget für Plots mit DbLog aus FHEM

Begonnen von ToGe88, 28 Oktober 2015, 13:02:47

Vorheriges Thema - Nächstes Thema

flipkill

Hi,

danke für den PW Hinweis ;) Ist aber nur eins für FHEM :) habe nun aber trotzdem mal xxxx rein gemacht.

Das mit dem dbplot != dbPlot verstehe ich nicht wo muss das nun hin?

Vielen Dank
Gruß Jan

dev0

Groß- und Kleinschreibung wird unterschieden.

dev0

Zitat von: flipkill am 24 Februar 2016, 11:31:20
habe nun aber trotzdem mal xxxx rein gemacht
Das ändert nichts daran, dass das Passwort verbrannt ist, auch wenn ich es nicht zitiert hätte. Ändere es.

bruece-lee

Hi,

ich würde gerne nochmal ein unbeantwortetes Thema aus einem früheren Post aufgreifen. Habt Ihr auch das Phänomen, dass die Diagramme auf dem Smartphone Browser nicht korrekt skaliert sind? Bei mir ist es so, dass wenn ich eine Seite über das Smartvisu Menü aufrufe, alle Diagramme zunächst falsch skaliert werden. Wenn ich dann den Reload Button des Browsers drücke, dann passen die Diagramme nach dem vollständigen Aufbau der Seite.

Hat für dieses Problem evtl. schon jemand eine Lösung gefinden? Lässt sich da evtl. noch etwas in der visu.js machen?

Danke und Gruß,

Bruece-lee

herrmannj

kann ich in teilen bestätigen - aber noch nicht untersucht.

vg
joerg

marc2

Moin !

Kann ich bestätigen, genau den Effekt habe ich auch.

Gruß, Marc

bruece-lee

Hat denn irgendwer evtl. einen Gedankenanstoß, wie man den Fehler eingrenzen könnte?

Gruß, bruece-lee

Pythonf

#82
Zu dem Fehler kann ich leider nichts sagen, aber vielleicht könnt ihr mir weiter helfen, wie ich meine Charts schöner einbinden kann.
Ich möchte die Plots in ein <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
<div data-role="collapsible" data-collapsed="false">
einbinden. Das funktioniert soweit auch, aber leider überragt die Achsenbeschriftung den Rand des collapsibles und beim Ausklappen verschiebt sich alles. Ich bin leider nicht sonderlich Erfahren mit HTML und vielleicht könnt ihr mir hier weiterhelfen.
(https://forum.fhem.de/index.php?action=dlattach;topic=43134.0;attach=48170;image%20"width%20=%20200%3Cbr%20/%3Eheight%20=%20200")
Ein Ähnliches Problem mit der Skalierung hab ich, wenn ich zwei Plots übereinander darstellen will. Wenn ich den Chart in ein class="block" packe hat er nicht mehr die passende Skalierung über die gesamte Breite. Wenn ich das aber nicht tue, dann überlagern sich die Plots
(https://forum.fhem.de/index.php?action=dlattach;topic=43134.0;attach=48172;image%20"width%20=%20200%20height%20=%20200")

Zum eigenlichen Widget: Ich würde gerne zwei drilldown-/drillUpButton einbinden. Weiß aber nicht wo ich die definieren muss, da es "Highcharts.setOptions" so ja nicht gibt. Ist das ganz überhaupt möglich?

Beste Grüße
Fabian

dev0

Zitat von: Pythonf am 08 März 2016, 20:41:39
Ich möchte die Plots in ein <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
<div data-role="collapsible" data-collapsed="false">
einbinden.

Wenn Du an den smartvisu css Einstellungen nichts verdreht hast oder Dein Browser nicht das Problem ist, dann funktioniert es so:

Auf den Seiten, auf den Du einen Plot haben möchtest:

<div class="block">
<div class="set-1" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
<div data-role="collapsible" data-collapsed="false" >
<h3>Temperuaturen</h3>
{% import "widget_template_dbplot.html" as my_dbPlot %}
{{ my_dbPlot.heatingPlot('wz', 'WZ')}}
</div>
</div>
</div>


Die dazugehörige widget_template_dbplot.html Datei:

{% macro heatingPlot(id, room, height, colorMeasured, colorDesired, colorValve, colorDewpoint) %}
{% import "widget_dbplot.html" as dbPlot %}
{{ dbPlot.linePlot('id'~id~'heatingPlot', 'Ventil', '2880', '300', '', '',
[
{'update_trigger_gad': room~'_RTR_Clima.valve',         'device': room~'_HEIZUNG', 'reading': 'actuator',      'config': {'name': 'Ventil',     'unit':'%', 'yAxis':1, 'type': 'area',   'color': colorValve|default('#828282') }},
{'update_trigger_gad': room~'_RTR_Clima.desired-temp' , 'device': room~'_HEIZUNG', 'reading': 'desired-temp',  'config': {'name': 'Soll Temp.', 'unit':'°',            'type': 'line',   'color': colorDesired|default('rgba(201,134,44,1)') }},
{'update_trigger_gad': room~'_RTR_Clima.measured-temp', 'device': room~'_HEIZUNG', 'reading': 'measured-temp', 'config': {'name': 'Ist Temp.',  'unit':'°',            'type': 'spline', 'color': colorMeasured|default('#FFC825') }},
{'update_trigger_gad': room~'_RTR_Clima.dewpoint',      'device': room~'_HEIZUNG', 'reading': 'dewpoint',      'config': {'name': 'Taupunkt',   'unit':'°',            'type': 'spline', 'color': colorDewpoint|default('#AAAAAA') }}
],
[
{title: {text: '',}, labels: {format: '{value} °',}, opposite: true, max: 30, min: 0},
{title: {text: '',}, labels: {format: '{value} %',}, max: 100, min: 0}
],
{ align: 'right', verticalAlign: 'top', layout: 'horizontal', x: -35 },
height|default(300)) }}
{% endmacro %}


Zitat
da es "Highcharts.setOptions" so ja nicht gibt
Mir ist nicht klar warum das nicht funktionieren sollte, aber is auch kein Thema, mit dem ich mich im Moment beschäftige.

Pythonf

Ich hab das ganze nun versucht einzubinden aber es funktioniert so noch nicht:
{% macro heatingPlot(id, room, height, colorMeasured, colorDesired, colorValve) %}
{% import "widget_dbplot.html" as dbPlot %}
{{ dbPlot.linePlot('id'~id~'heatingPlot', 'Ventil', '2880', '300', '', '',
[
{'update_trigger_gad': room~'_HEIZUNG_Clima.valve',         'device': room~'_HEIZUNG', 'reading': 'actuator',      'config': {'name': 'Ventil',     'unit':'%', 'yAxis':1, 'type': 'area',   'color': colorValve|default('#828282') }},
{'update_trigger_gad': room~'_HEIZUNG_Clima.desired-temp' , 'device': room~'_HEIZUNG', 'reading': 'desired-temp',  'config': {'name': 'Soll Temp.', 'unit':'°',            'type': 'line',   'color': colorDesired|default('rgba(201,134,44,1)') }},
{'update_trigger_gad': room~'_HEIZUNG_Clima.measured-temp', 'device': room~'_HEIZUNG', 'reading': 'measured-temp', 'config': {'name': 'Ist Temp.',  'unit':'°',            'type': 'spline', 'color': colorMeasured|default('#FFC825') }}
],
[
{title: {text: 'Temp',}, labels: {format: '{value} °',}, opposite: true, max: 30, min: 0},
{title: {text: 'Actuator',}, labels: {format: '{value} %',}, max: 100, min: 0}
],
{ align: 'right', verticalAlign: 'top', layout: 'horizontal', x: -35 },
height|default(300)) }}
{% endmacro %}

Wobei der RTR "Fabian_HEIZUNG" heißt.
Wenn ich das ganze nun einbinde und wie folgt aufrufe, lädt die SV-Seite nicht mehr:
{{ my_dbPlot.heatingPlot('Fabian_Plot', 'Fabian')}}

Sehr ihr irgenwo einen offensichtlichen Fehler?

dev0


Pythonf

{% import "widget_template_dbplot.html" as my_dbPlot %}

entweder in rooms.html oder direkt in der html (in dem Fall heizung_ov.html)
Aktuell sehr minimalsistisch alles andere rausgelöscht:
/**
* -----------------------------------------------------------------------------
* @package     smartVISU
* @author      Martin Gleiß
* @copyright   2012 - 2015
* @license     GPL [http://www.gnu.de]
* -----------------------------------------------------------------------------
*/


{% extends "rooms.html" %}
{% import "widget_template_dbplot.html" as my_dbPlot %}
{% block content %}


<div class="preblock">
<td align="middle" width="70%">
<h1><img class="icon" src='{{ icon0 }}sani_heating_temp.svg' />Heizung</h1>
<hr>
</td>
</div>
{{ my_dbPlot.heatingPlot('Fabian_Plot', 'Fabian')}}

{% endblock %}


dev0

Wenn die Templatedatei widget_template_dbplot.html heißt und in deinem Pages Unterordner liegt, dann weiss ich auch nicht... Mit Firebug die Seite untersuchen.

Gerd.Ternes

Liebe fhem´ler,

ich habe dbplot auf meinem Testsystem (cubietruck) installiert und alles läuft prima.
Am Wochenende habe ich nun versucht das ganze auf meinem Live system zu installieren. Leider ohne erfolg. Die graphen werden nicht angezeigt.
Ich habe smartvisu noch einmal neu installiert und alle Daten vom Testsystem auf das livesystem kopiert. auch hier leider ohne erfolg.
Das Testsystem habe ich dann auf die Daten des Livesystems umgestellt (andere IP Adresse) und auch hier kommen die daten einwandfrei.
Wenn ich im Live System das Element untersuche erhalte ich folgende Fehlermeldung in der Konsole

POST
XHR
http://192.168.178.16/smartvisu/widgets/widget_dbplot.php [HTTP/1.0 500 Internal Server Error 6ms]


diese kommt bei Testsystem nicht. kann mir jemand hier weiterhelfen?

Dannke im Voraus.

Gerd

Micha_88

Hallo,
ich konnte erfolgreich die Plots in smartvisu einbinden. Doch leider bekomme ich keine schöne Graphen angezeigt. Gibt es eine Möglichkeit die Graphen so anzupassen, dass diese nicht so abgehakt wie auf dem Screen aussehen. Es werden alle 8 - 10 sek neue werte in die SQL Datenbank geschrieben. Liegt es vllt an der Häufigkeit ? Auch wenn der Zeitraum kleiner gewählt wird sind die Graphen nicht so wie auf der ersten Seite des Themas hier. Allerdings sind die Werteänderungen auch nur minimal . Vielleicht habt ihr ja noch eine Idee

Vielen Dank für eure Hilfe