FHEM Forum

FHEM => Frontends => fronthem/smartVISU => Thema gestartet von: raman am 03 April 2018, 20:36:21

Titel: fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: raman am 03 April 2018, 20:36:21
Hallo miteinander,

nachdem sich auf der smartVISU-Seite einiges getan hat, der io_fhem-Treiber angepasst wurde
und die Diskussion mal wieder aufkam fronthem um neue Features zu erweitern, habe ich mich
mal durch den Hash- und Arraydschungel gekämpft. Eigentlich habe ich ein angepasstes fronthem,
das mir Plotdaten an smartVISU liefert schon seit längerem im Einsatz. Ich habe das Ganze nochmal
überarbeitet und stelle es jetzt mal zum Testen zur Verfügung. Man kann sicher noch mehr Zeit
aufwenden und den Code performanter gestalten.
Den smartVISU-Treiber musste ich leicht motifizieren, um die neuen Daten für Log und Plot verarbeiten
zu können. Die alten Funktionen sollten durch die Änderungen nicht beeinträchtigt worden sein.

Nicht unbedingt gleich für den Produktiveinsatz verwenden!

Zum Testen hier also eine überarbeitete Version von fronthem mit Funktionalität für die Abfrage
von Plot-Daten aus der FHEM-Datenbank über DbLog oder mit eingeschränktem Umfang aus FileLog.


Für die Anpassung wurden folgende Dateien überarbeitet und sind in der angehängten zip-Datei
zu finden:
und

Es gibt zwei neue Modi log und plot im Item Editor (formerly known as GAD Editor).
Weiterhin sind in der 99_fronthemUtils.pm drei neu Converter, Log für status.log,
Plot für die Abfrage über DbLog und Plotfile für die Abfrage über FileLog enthalten
und werden im Editor zur Verfügung gestellt.

Für Plot muss im Editor unter converter als Argument der Name des DbLog Device mitgegeben werden!

Wenn ein Item "PlotTest.0" in smartVISU existiert und "desired-temp" aus "myDbLog" ausgelesen werden soll:

Einstellungen Item-Editor:
Item: PlotTest.0
mode: plot
device: HM_3C92F7_Climate
reading: desired-temp
converter: Plot myDbLog

Für Plotfile muss im Editor unter converter als Argument der Name der FileLog-Datei mitgegeben werden,
in die für das entsprechende Device die Daten geschrieben werden!

Wenn der Eintrag im FileLog so aussieht (state wird geloggt) und ein Item "PlotTest.0" in smartVISU existiert:
2018-04-01_00:03:27 heizung_verbraucherkreis_temp_vl 25.10
Einstellungen Item-Editor:
Item: PlotTest.0
mode: plot
device: heizung_verbraucherkreis_temp_vl
reading: state
converter: Plotfile FileLog_ heizung_verbraucherkreis_temp_vl

Wenn der Eintrag im FileLog so aussieht und ein Item "PlotTest.0" in smartVISU existiert:
2018-04-03_11:16:35 HM_3C92F7_Climate desired-temp: 18.0
Einstellungen Item-Editor:
Item: PlotTest.0
mode: plot
device: HM_3C92F7_Climate
reading: desired-temp
converter: Plotfile FileLog_HM_3C92F7_Climate

Wenn der Eintrag im FileLog so aussieht und ein Item "PlotTest.1" in smartVISU existiert:
2018-04-03_21:18:11 Temperature_Bathroom values: T: 19.4 H: 52
Einstellungen Item-Editor, wenn man die Temperatur als Plot will:
Item: PlotTest.1
mode: plot
device: Temperature_Bathroom
reading: values
converter: Plotfile FileLog_Temperature_Bathroom 5 T

(Der Wert für die Temperatur befindet sich von links ausgehend in der 5 Spalte.)

Einstellungen Item-Editor, wenn man die Luftfeuchte als Plot will:
Im Item-Editor:
Item: PlotTest.1
mode: plot
device: Temperature_Bathroom
reading: values
converter: Plotfile FileLog_Temperature_Bathroom 7 H

(Der Wert für die Luftfeuchte befindet sich von links ausgehend in der 7 Spalte.)

Unter Verwendung von DbLog und Plot sollte man alle Modi der smartVISU-Plots ('avg', 'sum', 'min', 'max', 'minmax',
'minmaxavg' oder 'raw') nutzen können. Aber nur für 'raw' werden z.Zt. point-Updates "geliefert"!
FileLog in Verbindung mit Plotfile liefert nur Daten für Serien, also keine Durchschnitts-, Min-, Maxwerte, ...


Um status.log von smartVISU mit FHEM nutzen zu können, sind einige Vorarbeiten nötig!

Die Readings werden pro "Readings-Gruppe" in einem Dummy-Device gesammelt. Dieses wird
automatisch angelegt. Das so erzeugte Dummy-Device muss dann im Editor mit dem
status.log-Item verknüpft werden. (converter ist Log)

1. Notify erstellen:
define Log notify .* { Log_SetList($NAME,$EVENT) }
2. Folgende Attribute in attr global userattr hinzufügen:

    svEvents svReadins svRegex
   
3. Einstellungen vornehmen (Attribute bei zu überwachenden Devices setzen):

    svReadins: Für das Device das Reading setzen, das überwacht werden soll (z.B. state überwachen):

attr <device> svReadins state
Wenn state und battery überwacht und battery in Batterie geändert werden soll:

attr <device> svReadins state battery:Batterie

Zur Übersicht der überwachten Devices kann eine readingsGroup angelegt werden:
define rg_svLog readingsGroup <Name>,<svReadings> .*:?svLog,?
attr rg_svLog nameStyle style="color:red;font-weight:bold"

    svEvents:  Wird automatisch für das Dummy-Device (Log-Liste) angelegt, kann aber an die jeweiligen Bedürdnisse angepasst werden.
   
    svRegex:   Hier kann für das Dummy-Device (Log-Liste) eine Liste mit Events, die ersetzt werden sollen, angegeben werden.
    z.B.
attr <device> svRegex low:schwach opened:geöffnet closed:geschlossen connected:verbunden disconnected:getrennt

Gruß
R.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: HCS am 03 April 2018, 20:50:37
Das ist ja mal cool.

Basierend auf welcher Treiber-Version vom mir hast Du die Anpassungen gemacht?
Ich könnte das dann übernehmen.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: HCS am 03 April 2018, 22:37:59
Habe den Treiber übernommen.
Läuft noch wie gehabt.
Soll ich es als pull request nach SV schicken?

Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: raman am 03 April 2018, 22:44:09
Das ist dein Treiber aus der aktuellen smartvisu-develop mit meinen Veränderungen und den Optimierungen, die smai hier vorgeschlagen hat:
https://forum.fhem.de/index.php/topic,85423.msg789034.html#msg789034 (https://forum.fhem.de/index.php/topic,85423.msg789034.html#msg789034)

Also teste mal lieber, ob für die Addon-Funktionen noch alles geht!

Ich habe  für handleReceivedData: case plot und case log ergänzt.
Alle Plot-Daten, die von fronthem kommen, werden mit dem "cmd": "plot" geliefert, um sie von den Serien aus dem Addon-Treiber zu unterscheiden.
Für die Logs hat sich erst nach einem "Umbau" fronthem ergeben, dass sie eigentlich wie ein ankommendes item verarbeitet werden können.
Deswegen die aufgeteilte Behandlung.

Beim Spliten der items und für monitor habe ich die Infos für die Plots, die an fronthem übergeben werden, entsprechend angepasst.

Gestet habe ich mit der aktuellsten smartvisu-develop von heute.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: herrmannj am 03 April 2018, 22:44:38
darf ich auch übernehmen, bzw wenn Du magst kannst Du das auch pushen. Weil Du geschrieben hast "nicht unbedingt produktiv", wir können ja einen dev zweig machen.

danke vg
joerg
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: raman am 03 April 2018, 22:47:13
Kannst du gerne machen!
Oder wir warten evtl. noch mal ein bisschen ab, bis mal ein paar Leute getestet haben.
Die Entscheidung überlasse ich dir!
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: raman am 03 April 2018, 22:48:22
Ein dev-Zweig für fronthem wäre denke ich ganz sinnvoll!

Ich weiss ja nicht, ob es auf allen Systemen problemlos läuft.
Eventuell ist die Abfrage der Plots auf schwachen Systemen zu langsam.

Bei mir läuft FHEM halt auf einem NUC.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: HCS am 03 April 2018, 22:56:19
Also teste mal lieber, ob für die Addon-Funktionen noch alles geht!
Ja, geht noch alles.

Hast Du das zip in post #1 gerade nochmal erneuert?

Alles was ich hatte funktioniert noch wie gehabt.
Nur habe ich es nicht hinbekommen, einen plot aus einem filelog zu bekommen.

ich habe ein FileLog
Internals:
   DEF        ./log/Temperature_Bathroom-%Y.log Temperature_Bathroom:values.*
   NAME       FileLog_Temperature_Bathroom
   NOTIFYDEV  Temperature_Bathroom
   NR         118
   NTFY_ORDER 50-FileLog_Temperature_Bathroom
   REGEXP     Temperature_Bathroom:values.*
   STATE      active
   TYPE       FileLog
   currentlogfile ./log/Temperature_Bathroom-2018.log
   logfile    ./log/Temperature_Bathroom-%Y.log
   READINGS:
     2018-04-03 21:58:36   linesInTheFile  26214
   pos:
Attributes:
   logtype    text

Mit (halt etwas mehr) so einem Inhalt
      2018-04-03_21:18:11 Temperature_Bathroom values: T: 19.4 H: 52
      2018-04-03_21:23:11 Temperature_Bathroom values: T: 19.4 H: 52
      2018-04-03_21:28:21 Temperature_Bathroom values: T: 19.4 H: 52
      2018-04-03_21:33:21 Temperature_Bathroom values: T: 19.4 H: 52
      2018-04-03_21:38:21 Temperature_Bathroom values: T: 19.4 H: 52.3
      2018-04-03_21:43:31 Temperature_Bathroom values: T: 19.4 H: 53
      2018-04-03_21:48:31 Temperature_Bathroom values: T: 19.4 H: 53
      2018-04-03_21:53:36 Temperature_Bathroom values: T: 19.5 H: 53
      2018-04-03_21:58:36 Temperature_Bathroom values: T: 19.6 H: 53
      2018-04-03_22:03:41 Temperature_Bathroom values: T: 19.6 H: 53
      2018-04-03_22:08:41 Temperature_Bathroom values: T: 19.6 H: 54
      2018-04-03_22:13:51 Temperature_Bathroom values: T: 19.7 H: 55
      2018-04-03_22:18:51 Temperature_Bathroom values: T: 19.8 H: 54.8
      2018-04-03_22:23:51 Temperature_Bathroom values: T: 19.8 H: 55
      2018-04-03_22:28:56 Temperature_Bathroom values: T: 19.8 H: 54

Das plot widget so definiert:
  <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>plot.period</h3>
        <div class="hcs-test">
          {{ plot.period( "id.PlotTest.1",
            ["PlotTest.1"],
            raw,
            "3d",
            "0d",
            0,
            30,
            100,
            ["Bad"],
            ["#0000FF"],
            ["line"]) }}
        </div>
      </div>
    </div>
  </div>

Im Item-Editor:
Item: PlotTest.1
mode: plot
device: FileLog_Temperature_Bathroom
reading: linesInTheFile
converter: Plotfile FileLog_Temperature_Bathroom

ergebnis siehe Anhang
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: raman am 03 April 2018, 23:04:22
Du musst unter device das device angeben, von dem die Daten stammen.
Bei dir denke ich Temperature_Bathroom

Ich habe nur noch was in der 99_fronthemUtils.pm für UZSU geändert. Deswegen das Update.

Edit:
Mir fällt grad auf, dass bei mir der FileLog anders ausschaut

2018-04-03_11:16:35 HM_3C92F7_Climate desired-temp: 18.0
2018-04-03_11:16:35 HM_3C92F7_Climate humidity: 57
2018-04-03_11:16:35 HM_3C92F7_Climate measured-temp: 19.3

Wenn die Form so ist, funktioniert meine Abfragemethode nicht. Da bräuchte man ne Regex.
2018-04-03_21:18:11 Temperature_Bathroom values: T: 19.4 H: 52
Man kann aber dem Converter weitere Werte übergeben. Die Position (Standard ist 4), wo gesucht werden soll und einen String für die Regex
(Aufruf ist wie in der Commandref für FileLog)
converter: Plotfile Temperature_Bathroom <column> <regex>
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: herrmannj am 03 April 2018, 23:24:24
gute idee
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: raman am 04 April 2018, 14:49:09
Ich habe die FileLog-Funktion überarbeitet und hoffe es funktiniert jetzt!

Es reicht die 31_fronthemDevice.pm und 99_fronthemUtils.pm auszutaschen.

Wie die Einstellungen vorzunehmen sind steht im ersten Beitrag!
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: HCS am 04 April 2018, 15:39:27
Super, funktioniert.

Habe meine komplette Abhandlung, die ich gerade abschicken wollte, bezüglich des get auf das logfile, wie das konstruiert wird und wie es für den Fall konstruiert werden müsste, in die Tonne geworfen.  :)

Mit dieser Version funtioniert beides.

Der linke plot bekommt seine Daten von so einem log
2018-04-04_12:38:01 Temperature_Bathroom values: T: 20.3 H: 64
2018-04-04_12:43:16 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_12:48:36 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_12:53:56 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_12:59:16 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_13:04:36 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_13:09:56 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_13:15:16 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_13:20:41 Temperature_Bathroom values: T: 20.3 H: 62.8
2018-04-04_13:25:56 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_13:31:16 Temperature_Bathroom values: T: 20.3 H: 62.3
2018-04-04_13:36:36 Temperature_Bathroom values: T: 20.2 H: 62
2018-04-04_13:41:56 Temperature_Bathroom values: T: 20.2 H: 62
2018-04-04_13:47:16 Temperature_Bathroom values: T: 20.2 H: 62
2018-04-04_13:52:36 Temperature_Bathroom values: T: 20.2 H: 62

Der rechte plot bekommt seine Daten von so einem log
2018-04-04_13:34:17 LevelBarnEast temperature: 22
2018-04-04_13:34:17 LevelBarnEast voltage: 5.6
2018-04-04_13:39:48 LevelBarnEast distance: 115
2018-04-04_13:39:48 LevelBarnEast level: 25
2018-04-04_13:39:48 LevelBarnEast liters: 253
2018-04-04_13:39:48 LevelBarnEast temperature: 22
2018-04-04_13:39:48 LevelBarnEast voltage: 5.6
2018-04-04_13:45:19 LevelBarnEast distance: 114
2018-04-04_13:45:19 LevelBarnEast level: 26
2018-04-04_13:45:19 LevelBarnEast liters: 255
2018-04-04_13:45:19 LevelBarnEast temperature: 21.5
2018-04-04_13:45:19 LevelBarnEast voltage: 5.6


Das ist echt super, wie einfach man die plots damit an den Start bekommt  8)

Werde mal einige einbauen und beobachten, wie es sich verhält.

Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: cruser1800 am 04 April 2018, 19:25:02
Wow!

Habe es auch gerade probiert und hat auf anhieb geklappt!

Große KLasse! Danke
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: cruser1800 am 04 April 2018, 21:09:42
Ein Frage habe ich noch!

Ich benutze dblog und plot.period.

Nach meinem empfinden werden hier nur max 1 Wert pro Stunde angezeigt, obwohl ich den Wert für 'count' auf 100 festgelegt habe. Ist das So oder habe ich eine Einstellung falsch? Einstellung des Zeitbereiches auf 1 Tag.

Ich habe mal parrallel ein Filelog mitlaufen lassen. Hier kommen alle Daten rüber. Nur bei dblog nur eine begrenzte Anzahl je nach eingestelltem Zeitbereich für die x-Achse!

Danke
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: blue am 05 April 2018, 00:59:50
Hallo raman,

ich bin neu im Forum und dabei mein FHEM mit SV Stück für Stück aufzusetzen. Dein Beitrag kam mir wie gerufen, da ich mich gerade an die Plots in SV machen wollte. Deinen Code habe ich installiert: Er läuft einwandfrei, auf Anhieb und ohne jegliche Schwierigkeiten. status.log habe ich allerdings (noch) nicht ausprobiert. Ich habe hier einen Raspberry 3 am Laufen und nutze aktuell nur FileLogs. Ich finde die Geschwindigkeit übrigens voll und ganz in Ordnung, wobei das sicherlich von der Größe der Logfiles abhängt (bei mir sind es zur Zeit ca. 6000 Zeilen).

Einziger kleiner Punkt war, dass ich ein wenig hantierten musste, bis ich die Syntax für Logfiles heraus hatte, in denen nur das state-Reading in der 3. Spalte geloggt wird. In diesem Fall muss das Feld reading freibleiben, was mich irritierte, weil ich mit "state" gerechnet hätte.

2018-04-01_00:03:27 heizung_verbraucherkreis_temp_vl 25.10
Ansonsten großes Lob und Dankeschön meinerseits! - Sollte mir noch mehr auffallen, werde ich mich melden.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: raman am 05 April 2018, 11:18:17
@cruser1800
It's not a bug, it's a feature! Kombination aus "1d" und "avg" liefert dir den Sundendurchschnitt,
Setze mal in SV mode auf "raw"!

@blue
Noch so ein Sonderfall! In FHEM wird glaube ich bei einem state-Event das state nicht wie bei anderen
Readings mit angegeben.

Wird der Plot dan mit folgender Angabe für den Converter an SV gesendet?
converter: Plotfile heizung_verbraucherkreis_temp_vl 3
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: herrmannj am 05 April 2018, 11:58:24
bei den anderen convertern setze ich da explizit "state" ein um diese confusion zu verhindern. Macht be den logs evtl auch Sinn.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: blue am 05 April 2018, 12:04:26
@blue
Noch so ein Sonderfall! In FHEM wird glaube ich bei einem state-Event das state nicht wie bei anderen
Readings mit angegeben.

Wird der Plot dan mit folgender Angabe für den Converter an SV gesendet?
converter: Plotfile heizung_verbraucherkreis_temp_vl 3

Richtig, exakt so hat es funktioniert und wichtig war eben auch, dass Readings leer bleibt, ansonsten klappt das mit der Column-Nummer nicht. Als Idee: Wie wäre es, wenn du bei dem Reading "state" fest die Spalte 3 nimmst anstatt default die 4? Ja, es wäre dann ein Sonderfall, aber der zieht sich immerhin durch ganz FHEM durch.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: cruser1800 am 05 April 2018, 20:26:56
@cruser1800
It's not a bug, it's a feature! Kombination aus "1d" und "avg" liefert dir den Sundendurchschnitt,
Setze mal in SV mode auf "raw"!


Hallo raman,

habe ich probiert! Aber das Plot bleibt leer! Vielleicht sollte ich noch erwähnen, dass ich mit 2.9 teste!

Alle andern mode - Einstellungen funktionieren!
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: blue am 06 April 2018, 12:26:46
Hallo raman, hallo cruser1800,

ich habe gestern Abend dblog installiert und mit deiner Erweiterung getestet. Ich kann das Verhalten, das cruser1800 mit plot.period beschreibt, nachvollziehen: avg mittelt stundenweise (ok, das ist ein Feature, soweit verstanden  :) ), aber bei 'raw' bleibt die komplette Grafik leer (siehe Anhang). A propos 'raw': Die Kurve bleibt genauso komplett leer, wenn ich Plotfile verwende (und explizit 'raw' verwende, leer '' oder 'avg' bringt mit Plotfile die gewünschte Kurve zum Vorschein). Die Ursache für das Nichtfunktionieren von 'raw' scheint also unabhängig von Plot und Plotfile zu sein. Ich habe noch nicht in deinen Code schauen können und daher noch nicht genau die Stelle nachvollzogen. Vielleicht mache auch ich was falsch?

Summa summarum: Mir ist es mit dblog und Plot nicht möglich, die Kurve mit Rohwerten darzustellen. Plotfile funktioniert, wie auch schon gestern geschrieben, aber nur mit Modus '' oder 'avg' (nicht 'raw').

Mein Code in SV:

{{ plot.period('p5', ['Heizung.Verbraucherkreis.Temperatur.Vorlauf', 'Heizung.Verbraucherkreis.Temperatur.Ruecklauf'], 'raw', '9h', 'now', 0, 0, 100, ['Vorlauftemp.', 'Rücklauftemp'], [ '#a00',  '#00a'], ['line', 'line'], ['', 'Temperatur in °C']) }}
Funktionierend aber nur mit 'avg':

{{ plot.period('p5', ['Heizung.Verbraucherkreis.Temperatur.Vorlauf', 'Heizung.Verbraucherkreis.Temperatur.Ruecklauf'], 'avg', '9h', 'now', 0, 0, 100, ['Vorlauftemp.', 'Rücklauftemp'], [ '#a00',  '#00a'], ['line', 'line'], ['', 'Temperatur in °C']) }}

Ein anderer Punkt: Eine Kurve mit 'avg' aktualisiert sich mit neuen (nicht gemittelten) Werten. Ist der Browser eine längere Zeit geöffnet, wird die Kurve ab dem Zeitpunkt des Seitenaufrufs mit den einzelnen Rohwerten mit jedem Event angezeigt. Es sei aber mal dahin gestellt, ob das wirklich ein "Problem" und wichtig ist.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: raman am 06 April 2018, 14:29:53
Das mit den Update bei Punkten funktioniert nicht so wie es soll!
Das habe ich noch nicht umgesetzt, aber ich habe dazu eine Idee.

Das mit raw muss ich mir noch genauer anschauen, aber für Plotfile
wird der Modus gar nicht ausgewertet und verwendet. Da ist es auf
fronthem-Seite eigentlich egal, was man angibt. Wie sich das auf
die Auswertung in SV auswirkt muss ich noch mal testen.


Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: smai am 06 April 2018, 14:44:27
Die sV macht nichts mit dem Mode, das aggregieren wird dem Backend überlassen.
Genau genommen kümmert sich die sV aktuell nur um count und wirft frühere Werte raus, wenn neue hinzukommen und der count überschritten wird.
Zudem werden zeitgleiche Werte eliminiert, dadurch können diese rückwirkend angepasst oder auch mehrmals derselbe Datenpunkt gesendet werden.

In Zukunft möchte ich ersteres aber ändern, weil eine Einschränkung auf den angegebenen Zeitbereich wohl sinnvoller wäre als auf die Anzahl.

Anscheinend gibt es noch gewisse Probleme bei der Darstellung mit plot.period, zumindest berichten SmartHomeNG User davon.
Ich konnte diese nicht nachvollziehen. Da ich kürzlich einige umgebaut habe, kann es aber auch nicht ausschliessen.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: HCS am 06 April 2018, 14:45:28
Bei mir funktioniert raw mit filelog

  <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>plot.period</h3>
        <div class="hcs-test">
          {{ plot.period( "id.PlotTest.1",
            ["PlotTest.1"],
            raw,
            "3d",
            "0d",
            0,
            30,
            100,
            ["Bad"],
            ["#0000FF"],
            ["line"]) }}
        </div>
      </div>
    </div>
  </div>

Mit dem filelog:
2018-04-04_12:38:01 Temperature_Bathroom values: T: 20.3 H: 64
2018-04-04_12:43:16 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_12:48:36 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_12:53:56 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_12:59:16 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_13:04:36 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_13:09:56 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_13:15:16 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_13:20:41 Temperature_Bathroom values: T: 20.3 H: 62.8
2018-04-04_13:25:56 Temperature_Bathroom values: T: 20.3 H: 63
2018-04-04_13:31:16 Temperature_Bathroom values: T: 20.3 H: 62.3
2018-04-04_13:36:36 Temperature_Bathroom values: T: 20.2 H: 62
2018-04-04_13:41:56 Temperature_Bathroom values: T: 20.2 H: 62
2018-04-04_13:47:16 Temperature_Bathroom values: T: 20.2 H: 62
2018-04-04_13:52:36 Temperature_Bathroom values: T: 20.2 H: 62

Und:
Item: PlotTest.1
mode: plot
device: Temperature_Bathroom
reading: values
converter: Plotfile FileLog_Temperature_Bathroom 5 T

Ergibt Anhang (linker plot, der rechte hat aber auch raw)
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: blue am 06 April 2018, 16:13:17
Hallo,

@HCS
Dein Code funktionierte auch bei mir, was mich wirklich (freudig) stutzig machte: Ich denke es liegt aber an dem raw ohne Anführungszeichen. Denn bei mir gab es daraufhin den Effekt im Plot, dass die Anzeige mit Daten aus dbLog wieder gemittelt wurden (Ansicht wie avg) und bei Plotfile die Rohwerte angezeigt wurden. ==> Der Parameter wird also nicht als String interpretiert und das führt dazu, dass einfach die Default-Einstellung übernommen wird. Die widerrum verhält sich gehabt, insbesondere nur für Plotfile. Setze ich "raw" in Anführungszeichen ist der Plott wieder komplett leer. Vielleicht könntest du das auch mal probieren?

@smai
Zitat
In Zukunft möchte ich ersteres aber ändern, weil eine Einschränkung auf den angegebenen Zeitbereich wohl sinnvoller wäre als auf die Anzahl.

Das fände ich ebenfalls sehr sinnvoll und würde ich begrüßen.

@raman + @smai
Wenn sV nichts mit dem Mode am Hut hat und die Anzeige ansonsten funktionert, sollte es doch eher auf fronthem-Seite liegen, dass die Einzelwerte (raw) mit dbLog nicht angezeigt werden? Mir macht es jedenfalls den Anschein, dass die Wertepaare nicht richtig befüllt werden. Warum sollte es sonst mit den FileLogs klappen...
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: smai am 06 April 2018, 16:26:39
raw ohne Anführungszeichen ist tatsächlich falsch. Das hat nichts mit Plot oder FHEM zu tun, sondern ganz grundsätzlich mit Twig.

Ohne Anführungszeichen wird es als Variablenname interpretiert. Da diese Variable nicht gesetzt ist, kommt wie du vermutest der Standardwert 'avg' zum Tragen.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: HCS am 06 April 2018, 17:15:18
Gut, dass ich es falsch gemacht habe, sonst hätte ich keinen plot gesehen  ;D ;D

Stimmt, mit "raw" bleibt er leer

Was mich nun aber wundert: mit "raw" mault der Template checker mit raw sieht er kein Problem
Line 43
Widget: plot.period
Parameters: "id.PlotTest.1", ["PlotTest.1"], "raw", "4d", "now", 0, 30, 1000, ["Bad"], ["#FF0000"], ["line"]
Parameter Index: 2
Parameter Value: "raw"
Valid Values: avg,sum,min,max,minmax,minmaxavg,raw

Aber der Fehler, dass es mit raw nicht geht, liegt im FHEM-Treiber:

     // sV Plots
      widget.plot().each(function () {
        var list = widget.explode($(this).attr('data-item'));
        for (var i = 0; i < list.length; i++) {
          if (widget.checkseries(list)) {
            var plotItem = io.splitPlotItem(list);
            if ($.inArray(plotItem.mode, Array('avg', 'min', 'max', 'sum', 'diff', 'rate', 'on')) >= 0) {

Das müsste sein: avg,sum,min,max,minmax,minmaxavg,raw
Wenn man die Zeile so anpasst:
if ($.inArray(plotItem.mode, Array('avg', 'min', 'max', 'sum', 'diff', 'rate', 'on', 'raw')) >= 0) {
dann geht es auch.

Jetzt muss ich nur noch herausbekommen, was die gültigen modes sind.
Stimmt die Liste, die der Template checker verkündet?



Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: HCS am 06 April 2018, 17:27:37
Jetzt muss ich nur noch herausbekommen, was die gültigen modes sind.

Wobei eigentlich: müsste die Liste der möglichen modes von fronthem bestimmt sein, was dort verstanden wird?
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: blue am 06 April 2018, 17:36:28
Das müsste sein: avg,sum,min,max,minmax,minmaxavg,raw
Wenn man die Zeile so anpasst:
if ($.inArray(plotItem.mode, Array('avg', 'min', 'max', 'sum', 'diff', 'rate', 'on', 'raw')) >= 0) {
dann geht es auch.

Bingo, funktioniert! Perfekt!  :)
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: blue am 06 April 2018, 17:41:09
Wobei eigentlich: müsste die Liste der möglichen modes von fronthem bestimmt sein, was dort verstanden wird?

Ich bin mir nicht ganz sicher (ihr seid schon länger mit FHEM im Geschäft  ;) ), aber laut 99_fronthemUtils.pm sind in der Methode "sub Plot(@)" von raman auf Fronthem-Seite die Modes raw,avg,sum,min,max,minmax,minmaxavg definiert.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: raman am 06 April 2018, 18:41:59
@smai: Danke für die Ausführung!

Ich ging auch davon aus, dass für "minmax" und "minmaxavg" die Daten in einem Array übergeben werden müssen.
Aber dier Serien werden ja getrennt voneinander jeweils für min, max bzw. avg in SV erwartet.

Also "minmax" und "minmaxavg" funktionieren deshalb nicht, da muss ich einiges abändern.

"min", "max", "avg" und "raw" (mit der Änderung im Treiber) sollten gehen!

Das Updaten der Punkte funktioniert aber noch nicht wie es soll! Das müssen noch ein paar Fallunterscheidungen rein.

Man kann auch mal überlegen, wann bei "avg" bei welcher Zeitangabe welche Durchschnittswerte (Stunden-, Tages-, Wochen-, Monatsdurchschnitt) geliefert weren sollen.
Also z.B. Kombination aus "avg" und "1d" ==> Stundendurchschnitt
                                      "avg" und "1W" ==> Tagesdurchschnitt
                                      ...

Bin für Vorschläge offen!
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: cruser1800 am 06 April 2018, 21:17:42
Danke, mit der Änderung im Treiber gehts jetzt auch bei mir!

Die mode Einstellungen "minmax" und "minmaxavg" funktionieren bei mir! Zumindest sieht es wie erwartet aus! ;)
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: blue am 09 April 2018, 14:50:00
Hallo raman,

Man kann auch mal überlegen, wann bei "avg" bei welcher Zeitangabe welche Durchschnittswerte (Stunden-, Tages-, Wochen-, Monatsdurchschnitt) geliefert weren sollen.
Also z.B. Kombination aus "avg" und "1d" ==> Stundendurchschnitt
                                      "avg" und "1W" ==> Tagesdurchschnitt
                                      ...

Bin für Vorschläge offen!

Wäre es nicht am sinnvollsten die Werte einstellbar als optionaler Parameter zu haben? Ich finde man braucht es je nach Daten mal so und so. Deine Zeit-Vorschläge finde ich prinzipiell aber sinnvoll und könnten doch die Standard-Einstellungen sein.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: smai am 09 April 2018, 14:53:59
Eigentlich ergeben sich die Abschnitte aus der Gesamtdauer und Anzahl, also (tmin-tmax)/count.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 04 Mai 2018, 21:03:33
Hallo,

ich kann bei frontherm unter Mode kein Plot auswählen es springt immer wieder auf item.

Woran liegt das ?

gruß und Danke
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: herrmannj am 04 Mai 2018, 22:38:26
die Dateien aus post#1 hast Du installiert ? Wenn ja dann noch mal ctrl-f5 im browser damit die neue js editor version verwendet wird.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 11 Mai 2018, 19:58:30
die Dateien aus post#1 hast Du installiert ? Wenn ja dann noch mal ctrl-f5 im browser damit die neue js editor version verwendet wird.

Ja, hab ich. Aber es ist immer noch so das ich 3 zur Auswahl habe (plot item log) egal was ich aus wähle es springt immer auf item zurück.

Somit kann ich auch nichts anderes auswählen.

gruß
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Chris46 am 22 Mai 2018, 13:06:28
Guten Tag,

Ich habe die Plots mit sv2.9 testweise auch bei mir laufen, funktioniert soweit alles einwandfrei. :)

Was mir allerdings aufgefallen ist, dass bei größeren Plots FHEM blockiert, ist es möglich die Datenbankabfrage (sqlite) auch als nonblocking auszuführen?

Zu große Plots (zu viele Daten) werden gar nicht angezeigt, dass liegt aber sicherlich an dem verwendeten langsamen Pi B+, der wird demnächst eh ersetzt und dann nochmal getestet.

Wann kommen die Anpassungen per FHEM Update?

Vielen Dank für die Arbeit. :)
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Gigabyte99 am 02 Juni 2018, 09:38:29
Hallo raman,

Ich habe deine Änderung zum testen der Plots mit SV 2.9 eingespielt und habe eine Plot in in der Smartvisu Seite angelegt.

{{ plot.period('plotKollektor', ['AUSSEN_IstTemperatur_Plot','KG_HEIZUNG_TEMP_Kollektor_Plot','KG_HEIZUNG_TEMP_Pufferspeicher_Plot'], 'avg', '9h', 'now', 0, 0, 100, ['Temp. Außen', 'Temp. Kollektor','Temp. Pufferspeicher'], [ '#a00', '#00a','#a00'], ['line', 'line', 'line'], ['', 'Temperatur in °C']) }}

und habe dann wie im Post #1 die Einstellungen im ITEM-Editor gemacht,
sobald ich die Änderung speicher stürzt FHEM ab und folgende Fehlermeldung steht im Log

Can't use an undefined value as an ARRAY reference at ./FHEM/31_fronthemDevice.pm line 632.

Wenn ich FHEM neustarte läuft es kurz und dann stürzt es wieder ab.

Woran liegt das?

Gruß
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: cruser1800 am 15 Juni 2018, 21:07:23
Hallo Gigabyte99,

ich hatte auch schon mal solch ein Phänomän. Da lag es an der Definition des "item". Ich hatte den converter falsch angegeben!

Vielleicht hilfts!
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Gigabyte99 am 17 Juni 2018, 13:20:53
Hallo cruser1800,

ich habe jetzt ein bischen probiert, soweit ich das jetzt feststellen kann tritt der Fehler auf wenn ein Plot in Smartvisu definert ist
aber kein "Plot item" in FHEM definert ist bzw. die Berechtigung für das "item" nicht gesetzt ist.

Gibt es eine möglichkeit denn Fehler in FHEM irgendwie abzufangen?

Gruß
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: gkosta am 25 Juni 2018, 23:19:40
Hallo raman, vielen Dank für deine tolle(n) Erweiterung(en). Smartvisu Plots funktionieren mit deiner Anleitung, beim Status.log bin ich allerdings gescheitert. Fehlt da eventuell die User_datei mit den entsprechenden Funktionen?? (Log_SetList) ? Gruß
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 02 Dezember 2018, 08:18:35
Hallo zusammen,

ich komme nicht weiter.
Ich habe es wie in Poste 1 Versucht, aber ohne Erfolg.
Ich nutze SV 2.9 mit Fhem und SQLite.

So sieht die Datenbank aus: (Bild: Datenbank)

So sieht der Plot aus:(Bild: Plot1)

So sieht der fronthem ITEM aus (Bild:fronthem)
und so die Fehlermeldung: (Bild: Fehler)

und zuletzt noch mein HTML Code
<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>plot.period</h3>
        <div class="hcs-test">
         {% set plotOptions =
 [
{
'update_trigger_gad': 'Wirkarbeit_strom_komuliersw',
'device': 'StromVerbrauch',
'reading': 'Stromverbrauch_countsOverall_EnergyMonth',
'config': {
'name': 'Stromverbrauch komuliert',
'type': 'spline'
}
}
]%}
{{ plot.period('1', 'Wirkarbeit_strom_komuliert', '"avg"', '', '', '', plotOptions, '', '', 300) }}
        </div>
      </div>
    </div>
  </div>

kann mir jemand weiterhelfen ??

Danke



Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Highflyer am 02 Dezember 2018, 10:27:26
Bei dir steht im fronthem Editor
-converter: Plot Datenbank
lass mal das Plot weg. Dort muss nur der Name deines DBlog Devices rein.

-converter: Datenbank

Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 02 Dezember 2018, 11:05:48
Danke, aber die Fehlermeldung bleibt.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Highflyer am 02 Dezember 2018, 12:16:59
Was mir noch aufgefallen ist, bei Dir steht:

{{ plot.period('1', 'Wirkarbeit_strom_komuliert', '"avg"', '', '', '', plotOptions, '', '', 300) }}

Meiner Meinung nach müsste das so aussehen:

{{ plot.period('1', 'Wirkarbeit_strom_komuliert', 'avg', '', '', '', 'plotOptions', '', '', 300) }}

Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Chris46 am 03 Dezember 2018, 15:38:13
Hallo zusammen,

ich komme nicht weiter.
Ich habe es wie in Poste 1 Versucht, aber ohne Erfolg.
Ich nutze SV 2.9 mit Fhem und SQLite.

So sieht die Datenbank aus: (Bild: Datenbank)

So sieht der Plot aus:(Bild: Plot1)

So sieht der fronthem ITEM aus (Bild:fronthem)
und so die Fehlermeldung: (Bild: Fehler)

und zuletzt noch mein HTML Code
<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>plot.period</h3>
        <div class="hcs-test">
         {% set plotOptions =
 [
{
'update_trigger_gad': 'Wirkarbeit_strom_komuliersw',
'device': 'StromVerbrauch',
'reading': 'Stromverbrauch_countsOverall_EnergyMonth',
'config': {
'name': 'Stromverbrauch komuliert',
'type': 'spline'
}
}
]%}
{{ plot.period('1', 'Wirkarbeit_strom_komuliert', '"avg"', '', '', '', plotOptions, '', '', 300) }}
        </div>
      </div>
    </div>
  </div>

kann mir jemand weiterhelfen ??

Danke

Deine Item Definition sieht ok aus. Allerdings versucht du scheinbar dbPlot.linePlot mit plot.period zu vermischen. Schau dir bitte in der Doku zu smartVisu an, wie ein plot.period definiert wird. Wenn du dazu konkrete Fragen hast, dann helfe ich gern weiter.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 03 Dezember 2018, 20:11:32
Danke habs auch endlich gemerkt.

jetzt geht's ans fein Tuning.

Danke
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: flipkill am 05 Dezember 2018, 17:54:09
Hallo,

bei mir funktioniert das mit den Plots nicht, was mache ich falsch? siehe Screenshots!

Gruß Jan
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Chris46 am 05 Dezember 2018, 19:18:18
Du hast den gleichen Fehler gemacht wie @buchner51 über dir. plot.period und dbPlot.linePlot kann man nicht mischen!  Schau dir bitte in der Doku zu smartVisu an, wie ein plot.period definiert wird.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: flipkill am 05 Dezember 2018, 19:34:16
Hmm,

habe es wie n der Doku gemacht geht nicht.

Gruß Jan
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 06 Dezember 2018, 17:15:09
Hi,

schau mal so:

und auch die Dateien aus Poste 1

gruß
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 06 Dezember 2018, 17:19:08
Ich habe da nochmal so eine Frage, wie kann ich Current/History gleichzeitig anzeigen lassen?

Ich hab so das Gefühl das nur Current angezeigt wird.

gruß
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: flipkill am 06 Dezember 2018, 17:33:42
Hallo,

gehen alle Plot Arten die von Smartvisu unterstützt werden?
Manche gehen bei mir aber z.B. plot.gauge geht bei mir auch nicht.

{{ plot.gauge('', 'schlafzimmer_heizung_istwert_plot', 10, 30, '°', 'Temperatur', 'solid-half', [30,50,70,90], ['#0DE0EC','#55BF3B','#DDDF0D','#DF5353']) }}

Gruß Jan
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: smai am 06 Dezember 2018, 18:55:54
plot.gauge zeigt aktuelle Werte und nicht historische, deshalb braucht es auch kein DB reading.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 07 Dezember 2018, 14:24:59
ich nutze multiaxis.

gibt es eine Übersicht wer was darstellt bez abruft?
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: smai am 07 Dezember 2018, 14:42:16
ich nutze multiaxis.
In 2.8 oder develop (aka 2.9)?
Zumindest der in 2.8 integrierte Treiber unterstützt die Series noch nicht. Und beim neueren Treiber weiss ich nicht, ob er mit 2.8 läuft.

gibt es eine Übersicht wer was darstellt bez abruft?
Nein. Ist aber doch recht einfach zu erkennen, ob in einem Plot eine Serie von historischen Werten angezeigt wird oder ob es einzelne (und damit aktuelle) Itemwerte sind.
Trotzdem würde tatsächlich bei den betroffenen Plots eine explizite Erwähnung in der Doku Sinn machen, zumal nicht jedes Backend die Serien unterstützt.

Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 08 Dezember 2018, 08:43:14
Ich nutze Smartvisu 2.9 von gidhub, wie erkenne ich das?

Gibt es denn eine Möglichkeit beide Datenbanken gleichzeitig angezeigt zu bekommen in der Multiansicht?

wie kann man die Darstellung in html ändern? also voll Bild oder Größe?

gibt es eine dokuseite wo es erklärt ist, ich hab bisher nichts gefunden.

Gruß
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: smai am 08 Dezember 2018, 09:19:52
Irgendwie verstehe ich keine deiner Fragen.

Ich nutze Smartvisu 2.9 von gidhub, wie erkenne ich das?
Wie erkennst du was?

Gibt es denn eine Möglichkeit beide Datenbanken gleichzeitig angezeigt zu bekommen in der Multiansicht?
Welche beiden Datenbanken und was ist die Multiansicht?

wie kann man die Darstellung in html ändern? also voll Bild oder Größe?
Was meinst du mit "voll Bild", dass der Plot die ganze Seite füllen soll? Die Plots skalieren sich automatisch nach der Breite ihres Containers. Wenn du das Widget also direkt im content Platzhalter nutzt, füllt es auch die ganze Breite.
Zusätzlich kann man wie bei jedem HTML-Element auch CSS einsetzen.

gibt es eine dokuseite wo es erklärt ist, ich hab bisher nichts gefunden.
Was erklärt ist? Wie für jedes Widget gibt es auch für plot.period eine Doku-Seite. In 2.9 musst du dafür nicht mal mehr die Pages ändern, sondern die Doku ist direkt im Menü unter der Konfiguration zu finden.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 08 Dezember 2018, 12:26:57
Hi, ich probiere es nochmal:
Ich nutze Smartvisu 2.9 von gidhub, wie erkenne ob die Current und History verwendet wird?

Ich habs jetzt mal ausprobiert mit Plot.Period, so sieht es besser aus. Aber Plotaxis ist wohl auch neu ab 2.9.

Unter der Doku hab ich zwar den Punkt Blocks gefunden aber kein Code.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: smai am 08 Dezember 2018, 13:48:11
Naturgemäss müssen Pots mit Reihen von Daten diese Werte aus der DB holen, solche mit nur jeweils einem Wert pro Item zeigen den aktuellen Wert.
Unterdessen habe ich in der Doku der betroffeneb DB-Plots einen Hinweis platziert.

Was für Code suchst du denn in der Doku?
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 09 Dezember 2018, 14:26:51
In der Doku unter Disign -- Blocks sind keine Code Erklärungen, das fehlt einem Anfänger wie mir.
Auch der eine oder andere Code zur voll Ansicht wäre hilfreich.

gruß
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: smai am 09 Dezember 2018, 15:32:55
In der Doku unter Disign -- Blocks sind keine Code Erklärungen, das fehlt einem Anfänger wie mir.
Das hat interessanterweise bisher noch niemand angemerkt, aber es ist eigentlich berechtigt.
Den Code kannst du dir aber anschauen, indem du einfach die Datei pages/docu/design/design_block.html anschaust.

Auch der eine oder andere Code zur voll Ansicht wäre hilfreich.
Ich weiss noch immer nicht genau, was eine "voll Ansicht" sein soll.

Ich finde auch nicht, dass in der smartVISU eine allgemeine HTML/CSS-Dokumentation enthalten sein muss...
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: donpaulus am 10 Dezember 2018, 21:02:59
Heyho,
leider bekomme ich es auch nicht hin. Habe die Dateien aus der zip kopiert.

Zur Erklärung:

Die Datenbank speichert minütlich Temperaturwerte in einer SQLite DB mit folgendem Muster

2018-12-10 20:41:17  gz_heizung_temp  KNX   ist_temp-get: 22.90 &deg;C  ist_temp-get  22.90          &deg;C
2018-12-10 20:42:17  gz_heizung_temp  KNX   ist_temp-get: 22.90 &deg;C  ist_temp-get  22.90          &deg;C
2018-12-10 20:43:17  gz_heizung_temp  KNX   ist_temp-get: 22.90 &deg;C  ist_temp-get  22.90          &deg;C
2018-12-10 20:44:17  gz_heizung_temp  KNX   ist_temp-get: 22.90 &deg;C  ist_temp-get  22.90          &deg;C
2018-12-10 20:45:17  gz_heizung_temp  KNX   ist_temp-get: 22.90 &deg;C  ist_temp-get  22.90          &deg;C

Die Definition in der SV ist folgende:

{{ plot.period('', 'gz_plot_day_plot', 'avg', '3h') }}

Kann ich hier das Beispiel überhaupt nutzen, da es ja minütliche Daten sind?

Und die DEF in der fronthem ist (siehe auch Bild im Anhang)

mode: plot
device: gz_heizung_temp
reading: ist_temp-get
converter: Plot myDBLog

Ich würde mich sehr über Erleuchtung freuen.

LG Paul

Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 11 Dezember 2018, 20:56:39
Hallo,

du hast keine ID drin, die muss immer eindeutig sein. Heist deine Datenbank -myDBLog-?

Und du musst die ersten Dateien (alle drei) einfügen und auf die Berechtigungen achten, ich hatte auch so ein paar Probleme.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: donpaulus am 12 Dezember 2018, 10:19:58
Hallo,

du hast keine ID drin, die muss immer eindeutig sein. Heist deine Datenbank -myDBLog-?

Und du musst die ersten Dateien (alle drei) einfügen und auf die Berechtigungen achten, ich hatte auch so ein paar Probleme.

Heyho buchner,
in der SV2.9 muss man keine ID mehr angeben, das ist jetzt optional. Ja die Datenbank heißt wirklich so  ::).
Das mit der Berechtigung probiere ich heute Abend mal aus.

Ich könnte mir noch vorstellen, dass die Datenbank einfach zu groß bzw. zu viele Datenpunkte hat (2,5MB ca. 44000 Datenpunkte)
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 12 Dezember 2018, 15:38:28
Hallo,

an der Größe liegt es nicht meine ist min 10x so groß.

Gruß
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 12 Dezember 2018, 15:42:50
Werden die Dateien aus post 1 eigentlich auch per update verteilt?

Oder gibt es Probleme bei anderen wigets?
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: donpaulus am 12 Dezember 2018, 21:27:06
Mmmh,

mysteriös, habe eben bei der Wahl des Converter auf die Dropdown- Auswahl gewartet und Plot gewählt und danach noch den Namen der dblog file eingeben. Visuell sieht es genau so aus, wie gestern aber einmal strg + f5 auf der SV Seite und der Plot war auf einmal da.

Danke für die Arbeit von euch @smai , @raman und @herrmannj

Grüße Paul
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: fame1991 am 12 Dezember 2018, 23:10:37
Hallo Zusammen,

bin gerade auch etwas am Rätseln warum es bei mir nicht funktioniert. Files aus dem Zip natürlich installiert.

Folgendes ist konfiguriert:

Code: (smartvisu) [Auswählen]
{{ plot.period('wz_temperatur_plot','wz.istTemperatur.plot', 'raw') }}Meldet sich als: wz.istTemperatur.plot.raw.1h.0

Code: (fronthem) [Auswählen]
mode: plot
device: Zeilenbeleuchtung
reading: temperature
converter: Plotfile zeilenbel_temp 4

Code: (Filelog: ./log/zeilenbel_temp.log) [Auswählen]
2018-12-12_22:15:46 Zeilenbeleuchtung temperature: 22.5 C (measured)
2018-12-12_22:20:55 Zeilenbeleuchtung temperature: 22.5 C (measured)
2018-12-12_22:25:55 Zeilenbeleuchtung temperature: 22.5 C (measured)
2018-12-12_22:30:55 Zeilenbeleuchtung temperature: 22.5 C (measured)
2018-12-12_22:35:55 Zeilenbeleuchtung temperature: 22.5 C (measured)

Es handelt sich um eine Fritz!Dect 200.

Was mache ich falsch?

Danke!
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Chris46 am 12 Dezember 2018, 23:34:59
Bist du sicher, dass das FileLog-Device zeilenbel_temp und nicht FileLog_zeilenbel_temp heißt?
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: fame1991 am 13 Dezember 2018, 00:02:22
Hi Chris46,

das Device heißt in der Tat FileLog_Zeilenbel_Temp. Ich dachte aber, dass ich den Namen der FileLog-Datei angeben muss.
Dieses heißt (und liegt unter): ./log/zeilenbel_temp.log

Habe es aber probeweise mal mit dem Devicenamen (Plotfile FileLog_Zeilenbel_Temp 4) ausprobiert. Hat leider auch nicht geklappt.

Aber danke für den Hinweis ;-)
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Chris46 am 13 Dezember 2018, 00:10:43
Dann nimm zusätzlich mal noch die 4 weg, die Spalte wird scheinbar nur beim reading value beachtet bzw. benötigt. Und gib mal noch eine Zeit bei deinem Plot an:
{{ plot.period('wz_temperatur_plot','wz.istTemperatur.plot', 'raw', '6h') }}
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: fame1991 am 13 Dezember 2018, 00:23:42
Ok, erledigt.

Meldet sich nun als:
wz.istTemperatur.plot.raw.6h.0
Hierfür wurde folgendes eingestellt:
Code: (fronthem) [Auswählen]
mode: plot
device: Zeilenbeleuchtung
reading: temperature
converter: Plotfile FileLog_Zeilenbel_Temp
cmd set:
Read X
Write X

Funktioniert leider immer noch nicht. Es wird kein Diagramm angezeigt.
Grüße
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: fame1991 am 13 Dezember 2018, 13:19:09
Einen Hinweis habe ich noch. Es scheint wohl nicht an der Konfig zu liegen. Die scheint nun zu passen mit dem FileLog Device.
Im Log kriege ich folgenden Fehler:
Code: (fhemlog) [Auswählen]
2018.12.13 13:13:53 1: ft_loopback: error doing $result = fronthem::Plotfile($param); Month '-1' out of range 0..11 at ./FHEM/99_fronthemUtils.pm line 38.
Eine Idee warum $mon wohl auf 0 ist? (Zeile 38 in 99_fronthemUtils.pm)
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: DrBrain_1000 am 23 Dezember 2018, 23:03:46
Hallo Zusammen,

ich habe ein Problem mit dem Plot von Datensätzen mit Unterbrechung:

Ich habe die Datenbank auf einen neuen Server transferiert (FHEM währenddessen gestoppt) und muss nun feststellen, dass nur noch die Datensätze geplottet werden, die nach dem erneuten starten von FHEM erzeugt wurden.

Kann mir jmd. sagen woran das liegt bzw. was hier schief läuft? Mein Plot sieht wie folgt aus:
{{plot.period('Plot.Period.Heizung.Temperaturen',['Zentral.Waermepumpe.Sensor.Vorlauftemperatur.pl','Zentral.Waermepumpe.Sensor.Ruecklauftemperatur.pl','Zentral.Waermepumpe.Sensor.Aussentemperatur.pl','Zentral.Waermepumpe.Sensor.WassertemperaturSpeicher.pl'],'raw','24h','now','','','',['Vorlauf','Rücklauf','Aussen','Warmwasser'],['#f00','#f442d9','#0a0','#41caf4'],['line','line','line','line'],['Zeit','Temperatur in °C'],'','','','','',['°C'])}}
Danke und viele Grüße

Sascha
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Chris46 am 23 Dezember 2018, 23:29:12
Sicher, dass bei dem Umzug der Datenbank nichts schiefgegangen ist? Klingt mir eher nach einem grundsätzlichen Problem mit der Datenbank und nicht mit smartVISU.
Schau dir diesbezüglich mal DbRep an.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: DrBrain_1000 am 27 Januar 2019, 11:43:35
Ich habe nochmal genau die Datenbank durchgesehen. Es lag offensichtlich am übertragen der Datenbank. Der zweite Versuch mit DbRep hat dann geklappt, danke für den Hinweis.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Kai-Alfonso am 05 Februar 2019, 11:53:11
Ich habe nochmal genau die Datenbank durchgesehen. Es lag offensichtlich am übertragen der Datenbank. Der zweite Versuch mit DbRep hat dann geklappt, danke für den Hinweis.

Wann werden die Änderungen denn in den Master Branch eingecheckt? Sind die Änderungen noch in der Testphase? Ich überlege, ob ich noch warte, bis die Änderungen final sind.

PS: funktioniert eigentlich https://github.com/ToGe3688/db_plot_widget  (https://github.com/ToGe3688/db_plot_widget)noch?
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Chris46 am 05 Februar 2019, 11:58:32

PS: funktioniert eigentlich https://github.com/ToGe3688/db_plot_widget  (https://github.com/ToGe3688/db_plot_widget)noch?

Mit smartVISU 2.9: Ja und Nein. Es werden noch Plots angezeigt aber man kann bspw. die Farben nicht mehr ändern.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 12 Februar 2019, 18:41:26
Hallo zusammen,

ich habe einen Fehler in der Anzeige der Plots:

in Fhem sieht alles OK aus (siehe Zacken, jeden Tag bei 0 beginnend):

in smartvisu 2.9 sind die Zacken nicht da, erst dachte ich es würde am aufruf liegen aber alles OK.

Hier meine Definition in SV:

<div class="hcs-test">
{{ plot.period('', ['Gas_komuliert','Gas_Day'], 'avg', '1y', 'now', '', '', '', ['Gesamt','Tag'], ['#a00','#070'], '', ['Zeit','Gesamt kWh','Tag kWh'], 'advanced', [1,2], [0,1], ['#f00','#0a0']) }}
</div></div></div>

Kann mir jemand helfen?

Danke
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Chris46 am 22 Februar 2019, 07:05:29
Mit der Aggregation „avg“ werden die Spitzen natürlich zusammengefasst. Probiere es mal mit „raw“, allerdings denke ich, dass du mit einem Jahresplot schnell an die Grenzen der Datenmengen kommen wirst.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 24 Februar 2019, 14:39:13
Hallo,

mit "raw" bekomme ich garnichts angezeigt, auch nicht wenn ich die Datenpunkte auf nur 3600 runter setze.

ich nutze SQL lite.

gruß
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Chris46 am 24 Februar 2019, 14:54:14
Nimm mal einen kürzeren Zeitraum. Die Begrenzung der Datenpunkte funktioniert nicht korrekt.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Kai-Alfonso am 05 September 2019, 11:34:57
Hi,

auch wenn das Thema ein wenig verweist ist  8)

Ich würde gerne status.log in Verbindung mit SV 2.9 nutzen. Funktioniert auch soweit, nur habe ich eine Frage: Ist es möglich, das ich im Widget nur die Einträge sehen kann, deren Level im dummy laut svEvents auf error stehen? Warning/Info etc möchte ich nicht sehen.

 
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Huntercover am 21 Oktober 2019, 21:56:00
Einen Hinweis habe ich noch. Es scheint wohl nicht an der Konfig zu liegen. Die scheint nun zu passen mit dem FileLog Device.
Im Log kriege ich folgenden Fehler:
Code: (fhemlog) [Auswählen]
2018.12.13 13:13:53 1: ft_loopback: error doing $result = fronthem::Plotfile($param); Month '-1' out of range 0..11 at ./FHEM/99_fronthemUtils.pm line 38.
Eine Idee warum $mon wohl auf 0 ist? (Zeile 38 in 99_fronthemUtils.pm)

**EDIT**
selbst behoben, in der 99_Utils.pm hat diese Zeile zu Beginn gefehlt:
  use Time::Local;


ich bekomme einen ähnlichen Fehler:
error doing $result = fronthem::Plotfile($param); Undefined subroutine &main::timelocal called at ./FHEM/99_fronthemUtils.pm line 38.

Muss man irgendwo noch das Datumformat definieren?

LOG:
2019-10-21_21:26:36 KNX_0305000 setG1: 14.20 °C

FRONTHEM-ITEM
mode:plot
device:KNX_0305000
reading:setG1
converter:Plotfile FileLog_KNX_0305000

PLOT:
{{ plot.period('EG.Buero.Temperature.Plot',
            ['EG.Buero.Temperature.Plot'],
            'raw',
            '3d',
            '0d',
            0,
            30,
            100,
            ['Bad'],
            ['#0000FF'],
            ['line']) }}
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 22 Oktober 2019, 18:26:54
Hallo zusammen,

ich habe ein Problem, ich habe meine Raspberry neu aufgesetzt.

Vorher:

Raspberry mit Fhem, SV2.9, Velux, KNX mit TUL alles läuft super (nur die Plots sind nicht OK)

Jetzt:

Raspberry mit Fhem läuft. SV2.9 ist wohl der Treiber nicht OK, ich kann nichts schalten (Schalter schaltet kurz und springt zurück, Licht blinkt kurz auf).
Ich habe alles soweit von der Datensicherung übernommen.

Kennt das Problem jemand?

Danke für eure Hilfe
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Huntercover am 04 November 2019, 21:18:24
@buchner51: nein, aber ich würde an Deiner Stelle erst einmal im FHEM schauen ob Du da die Lichter steuern kannst. Geht ja komfortabel über die TUL "KNX" devices. Sollte das nicht gehen, hast Du ein Problem mit knxd, bzw. FHEM, ansonsten mit SV.

Ich hätte da noch eine Frage an die Autoren:

Kann man über das FRONTHEM device eine Umrechnung hinbekommen?
Ich möchte einen KNX-Wert durch 1000 teilen und diesem im Plot in SV anzeigen, finde aber gerade weder die Möglichkeit wie man dies VOR dem schreiben bzw. NACH dem lesen aus dem Filelog hinbekommt.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 05 November 2019, 20:24:16
Hi Huntercover,

ich habe oben erwähnt das FHEM ok ist.

Ich bin der Meinung das das ein Treiber Problem ist.

gruß
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Funsailor am 09 November 2019, 14:21:22
Hi buchner51,
ich hatte nach dem aufsetzen meiner Banane das Problem, das die PHP Version nicht richtig mit meinem Apache  zusammen arbeitete. Ich hatte damals mit Armbian experimentiert und einige Probleme mit der falschen PHP Version gehabt.
Zum testen sollte auch der Cache in SmartVISU abgestellt sein. Da hatte ich auch schon umsonst Fehler gesucht.
Bei Problemen auch nicht vergessen, den Browser Cache zu löschen.

Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: buchner51 am 13 November 2019, 19:58:20
Wahnsinn, ich bekomme es einfach nicht hin.

Wenn ich eine Seite öffne dann schalten alle Lichter auf dieser Seite aus.
Aber einschalten geht nicht, sie flackern nur kurz auf und der Visu Schalter springt auf aus.uß und

Die Temperaturwerte werden aber angezeigt??

Die UZSU kann ich auch nicht bedienen, bzw wenn ich diese Aktiviere dann werden die Werte die in FHEM stehen alle gelöscht.

Wo ist mein Fehler nach dem wieder einspielen.

gruß und Danke
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: Huntercover am 15 November 2019, 23:19:17
könnte ein Problem mit der Definition sein, ich hatte sowas ähnliches beim Dimmen.

Konkret:
- beschreibe mal wie Deine KNX Rückmeldungen aussehen. Ggf. meldet was zurück was widerrum Einfluss auf neue Telegramme seitens SmartVisu hat.
- hast Du Scripte laufen, die per FHEM KNX Telegramme versenden?
- Es gibt mit SmartVisu2.9 ne neue Funktion (delayed versenden) bzw. in der Konfiguration unter "Datenverbindung/Treiber" "Echtzeitdaten". Lese Dich da mal ein. btw. Hast Du die Option ein? Ich habe es aus gelassen.

Nutze den Busmonitor als Debugger. Wer schickt wann welche Signale, etc.

Solltest Du zuvor SmartVisu2.8 laufen haben, kannst Du das auch wieder herstellen, 2.8 und 2.9 funktionieren auch parallel in separaten Ordnern.
Titel: Antw:fronthem + Plots + status.log für smartVISU 2.9
Beitrag von: MarvinLu am 24 November 2019, 19:49:14
Hallo zusammen,
hat noch jemand das Problem, dass einem die Updates für folgende Pakete vorgeschlagen werden und danach die Plots in SV nicht mehr funktionieren?

fronthem
List of new / modified files since last update:
UPD FHEM/01_fronthem.pm
UPD FHEM/31_fronthemDevice.pm
UPD www/pgm2/fronthemEditor.js

Liebe Grüße, Marvin