SmartVISU Widget für Plots mit DbLog aus FHEM

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

Vorheriges Thema - Nächstes Thema

drdownload

kann man eigentlich den wohlfühlplot aus der smartvisu demo auch irgendwie anhängen?
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

herrmannj

Zitat von: drdownload am 15 Januar 2016, 19:07:51
kann man eigentlich den wohlfühlplot aus der smartvisu demo auch irgendwie anhängen?
Wie meinst'n das ?

vg
joerg

drdownload

CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

cruser1800


drdownload

Nur wie ;)

Ein {{ plot.temprose('p1',
['measured.thermostat.heizung.wohnzmmer', 'office_rtr_act', 'kid_rtr_act', 'bath_rtr_act', 'floor_rtr_act'],
['desired.thermostat.heizung.wohnzimmer', 'office_rtr_set', 'kid_rtr_set', 'bath_rtr_set', 'floor_rtr_set'],
['Wohnzimmer', 'Office', 'Kid', 'Bath', 'Floor']) }}


geht ja bei der dblog Lösung nicht einfach.
CUL 868 Slow-RF (FS20 Aktoren, Sender, FHT8V), CUL 868 (WMBUS-Empfang), Jeelink (PCA301), WS3600 (WH3080 über USB-Basis), Bewässerung mit ESP-Easy und Proplanta, RFXTRX433 Home-Easy Empfang und Senden, Oregon TH, WS001 TH), Blackbean IR, Mopidy-Snapcast MR Audio, Kodi, Forum-LED-Controller,

herrmannj

#65
Ich habe die Temprose im Einsatz, scheinbar ältere Version. Ist aber Wurscht, kannste direkt die GAD mit converter nehmen, so wei bei button etc. Die temprose geht völlig Log unabhängig.

vg
joerg

edith: also nicht ganz korrekt, ich hab diese Temp/Hum Wohlfühl-Dingens. Das System sollte aber gleich sein. Einfach "ist" und "soll" dirket von den Thermostaten ...

edith2: den da (Anhang)

cruser1800

Wie von herrmannj gesagt ist die Lösung unabhägig von dblog. Ich benutze dieses auch!

Deine Definition ist auch OK. Jetzt solltest du im FHEM schaun ob du die GAD's alle auch verbunden hast!

Gruß Lutz

RoBra81

Hallo,

Zitat von: pole23 am 15 November 2015, 10:02:20
Hallo, das Widget funktioniert echt gut, allerdings ich habe Probleme mit der Breite von dem Plot. Wenn ich das im Chrome öffne, das sieht das so aus wie in dem Screenshot. Wenn ich dann nochmal einen Refresh mit str+r mache, dann passt die Breite. Auf einem iPad passt die Breite mit dem Safari auch nicht.
Im Firefox passt es gleich beim ersten Laden der Seite.

ich habe ein ähnliches Problem: wenn der Plot beim Laden der Seite nicht sichtbar ist, wird der Plot zu breit gezeichnet und erst beim Resize der Seite korrekt skaliert. Ist er jedoch beim Laden sichtbar, dann funktioniert es korrekt:

Dieser Code funktioniert:
<div class="block">
  <div class="set-2" data-role="collapsible-set" data-theme="c" data-content-theme="a" data-mini="true">
    <div data-role="collapsible">
      <h3>Heizung</h3>
      {% import "widget_homematic.html" as homematic %}
      {{ homematic.hmtc('DG.wz.HZ.Heizkoerperventil', 'Heizung', 'DG.wz.HZ.Heizkoerperventil_actual', 'DG.wz.HZ.Heizkoerperventil_set', 'DG.wz.HZ.Heizkoerperventil_controlmode', '', '', '', 'DG.wz.HZ.Heizkoerperventil_battery', '', 'DG.wz.HZ.Heizkoerperventil_txt', '1.0', 'DG.wz.HZ.Heizkoerperventil_valve', 'DG.wz.HZ.Heizkoerperventil_humidity') }}
    </div>
    <div data-role="collapsible" data-collapsed="false">
      <h3>Chart</h3>
      {% import "widget_dbplot.html" as dbPlot %}
      {% set plotOptions =
       [
          {
              'update_trigger_gad': 'DG.wz.HZ.Heizkoerperventil_actual',
              'device': 'DG.wz.HK.Wandthermostat',
              'reading': 'measured-temp',
              'config': {
                  'name': 'Temperature',
                  'type': 'spline'
              }
          }
      ]%}
      {{ dbPlot.linePlot('HeatingPlot', 'Temperatures', '3600', '', 'Temperatures', '°C', plotOptions, '', '', 300) }}
    </div>
  </div>
</div>


Dieser nicht:
<div class="block">
  <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">
      <h3>Heizung</h3>
      {% import "widget_homematic.html" as homematic %}
      {{ homematic.hmtc('DG.wz.HZ.Heizkoerperventil', 'Heizung', 'DG.wz.HZ.Heizkoerperventil_actual', 'DG.wz.HZ.Heizkoerperventil_set', 'DG.wz.HZ.Heizkoerperventil_controlmode', '', '', '', 'DG.wz.HZ.Heizkoerperventil_battery', '', 'DG.wz.HZ.Heizkoerperventil_txt', '1.0', 'DG.wz.HZ.Heizkoerperventil_valve', 'DG.wz.HZ.Heizkoerperventil_humidity') }}
    </div>
    <div data-role="collapsible">
      <h3>Chart</h3>
      {% import "widget_dbplot.html" as dbPlot %}
      {% set plotOptions =
       [
          {
              'update_trigger_gad': 'DG.wz.HZ.Heizkoerperventil_actual',
              'device': 'DG.wz.HK.Wandthermostat',
              'reading': 'measured-temp',
              'config': {
                  'name': 'Temperature',
                  'type': 'spline'
              }
          }
      ]%}
      {{ dbPlot.linePlot('HeatingPlot', 'Temperatures', '3600', '', 'Temperatures', '°C', plotOptions, '', '', 300) }}
    </div>
  </div>
</div>


Hat vielleicht jemand eine Idee, was ich da machen kann?

Vielen Dank
Ronny

Andre27

Erst einmal vielen Dank für dieses tolle Widget. Ich bin Einsteiger sowohl FHEM als auch SmartVISU betreffend, habe aber mit diesem Widget schon einige verschiedene Plots bei mir integriert.

Nun bin ich über das Highcharts "Meteogram" Beispiel gestolpert und finde dieses ziemlich cool, da sowohl optisch ansprechend als auch informativ (ohne die Infos auf mehrere Diagramme zu verteilen):
http://www.highcharts.com/demo/combo-meteogram/dark-unica#https://www.yr.no/place/United_Kingdom/England/London/forecast_hour_by_hour.xml

Allerdings werden die Daten im Beispiel nach meinem Verständnis aus XML ausgelesen und nach JSON konvertiert. Es müsste doch möglich sein, die Daten direkt aus der SQLite DB auszulesen und das Plot so in SmartVisu (mit Daten aus einer eigenen Wetterstation) einzubinden? Leider übersteigt dies mein Können... Vielleicht gibt es jemanden mit mehr Wissen auf diesem Gebiet, der das Teil ebenfalls gebrauchen könnte und sich daran versuchen würde?

Viele Grüße
Andre

dev0

Alle nötigen html/js Funktionen, um die Daten direkt bei yr.no abzugreifen, sind in dem fiddle Demo vorhanden. Ich sehe keinen Bedarf die Daten vorher in die eigene DB zu pumpen, da auch das gesamte "Widget für Plots mit DBLog" eine Übergangslösung darstellt, bis herrmannj die Plots in fronthem integriert hat (ich hoffe ja immer noch ;) ). Mit dieser Lösung wäre es dann sinnvoll, die Daten (z.B. von yr.no) in FHEM bereit zu stellen und dafür ein Widget zu schreiben ohne direkt auf DB oder Web zuzugreifen.

Zitat von: Andre27 am 09 Februar 2016, 14:23:17
Leider übersteigt dies mein Können...
Jeder fängt mal an ;) Alles Notwendige dazu ist vorhanden, du musst es nur einbinden.

herrmannj

Zitat(ich hoffe ja immer noch ;) ).

Yepp! Kommt!


flipkill

Hallo,

ich verstehe nicht wo hier der GAD angelegt wird?

Gruß Jan

dev0


flipkill

#73
Ich bekomme in FHEM keinen GAD erstellt, ich habe den Plot auf einer neuen SmartVisu Seite angelegt.

- Der GAD "wetterstation_teperatur_plot.sw" erscheint nicht in der GAD Übersicht in FHEM
- Es wird auch auf der Smart Visu Seite kein Plot erstellt alles leer.
- DBlog ist aktiv und funktioniert

Hier der Inhalt meiner Datei room_outside.html
/**
* -----------------------------------------------------------------------------
* @package     smartVISU
* @author      Martin Gleiß
* @copyright   2012
* @license     GPL [http://www.gnu.de]
* -----------------------------------------------------------------------------
*/


{% extends "rooms.html" %}
{% import "widget_dbplot.html" as dbplot %}
{% set plotOptions =
[
{
'update_trigger_gad': 'wetterstation_teperatur_plot.sw',
'device': 'HM_3389D0',
'reading': 'temperature',
'config': {
'name': 'Temperature',
'type': 'spline'
}
}
]%}
{% block content %}

{{ dbPlot.linePlot('plot_1', 'Außentemperatur', '', '', 'Außentemperatur', '°C', plotOptions, '', '', 300) }}

{% endblock %}


Hier ein Auszug meiner Datei widget_dbplot.php

/* * ****************************************
* *****************CONFIG*******************
* **************************************** */

// Edit the dbConnect to match your DB Log settings of fhem
// For SQLite define the path to your db in your filesystem
// DB Type, use 'sqlite' or 'mysql'
$dbType = 'mysql';

// SQLite
$dbPath = '/opt/fhem/fhem.db';

// MySQL
$host = 'localhost';
$mysql_username = 'root';
$mysql_password = 'xxxxxxx';
$database = 'fhem';
$port = 3306;


Wo ist mein Fehler :)
Beste Grüße Jan

dev0

Zitat von: flipkill am 24 Februar 2016, 10:41:23
{% import "widget_dbplot.html" as dbplot %}
...
{{ dbPlot.linePlot('plot_1', 'Außentemperatur', '', '', 'Außentemperatur', '°C', plotOptions, '', '', 300) }}
dbplot != dbPlot

Zitat
$mysql_username = 'root';
$mysql_password = 'ilms1988';
root bentzt zum Administrieren... und das Passwort würde ich jetzt ÜBERALL ändern, wenn es echt ist.