Aktualisierung Treiber SmartVisu

Begonnen von cruser1800, 08 März 2018, 07:29:19

Vorheriges Thema - Nächstes Thema

herrmannj

Für können das ja offiziell von GAD nach ITEM umbenennen.

smai

Zitat von: herrmannj am 01 April 2018, 10:36:24
Für können das ja offiziell von GAD nach ITEM umbenennen.
Das fände ich sehr sinnvoll, denn etwa die Hälfte der Zeit für die Treiberanpassung hatte ich gebraucht, um die Variablennamen zu begreifen.  ;)
GAD kommt von KNX und heisst Group ADdress. Das gilt in der smartVISU also, wenn man knxd bzw. eibd direkt als Backend verwendet.
Unterdessen habe ich auch aus Doku und Widgets alle GAD rausgeschmissen, die ich gefunden habe.
Item heisst es z.B. in SmartHomeNG/py. Dieser Begriff ist aber IMHO recht allgemein und deshalb passender.

Wenn ich es richtig verstanden habe, wird hier Item oft  für etwas verwendet, dass ich Widgetinstanz nennen würde (also ein auf einer Page verwendetes Widget).

Zitat von: HCS am 01 April 2018, 10:14:13
Ich befürchte, dass ich das nicht hinbekomme. Ich verwende eigentlich kein GitHub (habe hier alles in SVN repositories) und habe keine Ahnung, wie ich da einen Pull Request draus mache. Kannst Du den Treiber nicht einfach als komplette Beistellung von FHEM betrachten.
Klar, kann ich machen. Aber eine einzelne Datei kannst du auf GitHub auch einfach im Webinterface editieren und gleich mit einem Klick als PR einreichen (ohne irgendwie git verwenden zu müssen).

Zitat von: HCS am 01 April 2018, 10:14:13
Die zwei kleinen Punkte könntest Du aber so oder so schon mal anmerken.
Es sind nur zwei eher theoretische Performanceverbesserungen:
Das eine ist auf Zeile 232 und 233:
Diese könntest du so schreiben:
          $.mobile.activePage.find('[data-item*="' + item.gad + '"][data-widget*='chart.']")

Entgegen dem Filter wird damit nicht zwei mal iteriert.

Und damit das Regex zum Splitten nicht mehrmals gebildet werden muss, könntest du das auf Zeile 338 hoch ziehen:

              if (io.addon && io.addon.gadFilter) {
                var re = new RegExp(io.addon.gadFilter);

Die Zeilen 394-403 könnten dann auf folgendes reduziert werden (und ähnlich bei normalen Werten, Plots und Charts).

              if (re && re.test(plotInfo.gad)) {
                io.ownSeries.push(plotInfo);
              } else {
                io.fhemSeries.push(plotInfo);
              }


Zitat von: HCS am 01 April 2018, 10:14:13
Sollte nicht ausschließlich die Periode relevant sein?
Wieviele Datenpunkte kommen werden und ich haben will/sollte, ist eigentlich nicht vorhersehbar.
Da die Daten nicht in der smartVISU aggregiert werden, sondern der "Lieferant" dies tun muss, ist dies schon relevant.
Wenn ich z.B. eine Serie mit AVG und 24 Datenpunkte in den letzten 24h abfrage, gibt das andere Werte als die gleichen Logdaten desselben Items mit MAX und 30 Datenpunkten in 30 Tagen.
Damit die beiden Plots dann nicht mit denselben Daten gefüttert werden, wird das Item intern eben um diese Angaben ergänzt und so differenziert.

HCS

Wow, ich glaube dass ich es hinbekommen habe  8) ;D
https://github.com/Martin-Gleiss/smartvisu/pull/200

Ich werde dann mal noch alles "gad" im Treiber in "item" umbenennen.
Und die oben vorgeschlagene Optimierung einbauen.

smai

Danke. Soll ich mergen oder auf die Änderungen warten?

HCS

Mergen. Ich mache dann für die weiteren Änderungen jeweils einen eigenen pull request.

Ich habe es übrigens gerade gewagt und die 2.9 auf das Produktivsystem geschoben (OK, mit fallback falls es ernst wird)
Anders merkt man sonst nie, ob es wirklich funktionert  :)

HCS

Zitat von: herrmannj am 01 April 2018, 10:36:24
Für können das ja offiziell von GAD nach ITEM umbenennen.
Ich habe meinen Teil erledigt: https://github.com/Martin-Gleiss/smartvisu/pull/202
Mein Vorschlag wäre Item anstatt ITEM.

herrmannj


raman

Hallo,
ich habe folgendes mal zum Anlass genommen und stelle der Allgemeinheit meine angepasste Version
von fronthem zum Testen zur Verfügung zu stellen.

Zitat von: herrmannj am 26 März 2018, 15:02:53
ja, fronthem hat keinen reader für logfiles.

Das fhem log system ist nicht besonders schön, daher die Anbindung via DBLog. Geplant ist es aber das einzubauen, wer mag kann gern


Alles Weitere im folgenden Thema
https://forum.fhem.de/index.php/topic,86584.msg790077.html#msg790077

Gruß
R.

Chris46

Ich habe den neuen Treiber noch nicht getestet, da meine Testinstanz aktuell bei einem Kollegen läuft und ich am Produktivsystem noch nicht basteln wollte. Hat jemand getestet, ob die dynamischen Icons von SmartVISU mit dem neuen Treiber funktionieren? Mit dem alten FHEM Treiber gehen diese bei mir leider nicht. Damit diese funktionieren musste ich leider auf den Domotiga Treiber umstellen.

smai

Getestet habe ich es selbst nicht, aber ich sehe keinen Grund mehr, dass diese nicht funktionieren sollten.
Soweit ich weiss hat @HCS dynamische Icons getestet.

cruser1800

Zitat von: Chris46 am 04 April 2018, 22:03:38
Ich habe den neuen Treiber noch nicht getestet, da meine Testinstanz aktuell bei einem Kollegen läuft und ich am Produktivsystem noch nicht basteln wollte. Hat jemand getestet, ob die dynamischen Icons von SmartVISU mit dem neuen Treiber funktionieren? Mit dem alten FHEM Treiber gehen diese bei mir leider nicht. Damit diese funktionieren musste ich leider auf den Domotiga Treiber umstellen.

Ich habe es mal gestestet. Bei mir laufen diese nicht! Zum Bsp. Windrose. Steht immer auf der selben Stelle!

smai


cruser1800

Ich habe eine Wetterstastion und sende das reading windDirection.

Funktioniert beim anderen treiber ohne Probleme. Das gleiche habe ich auch beim shutter festgestellt. Also gehe ich davon aus, dass es etwas mit den Dynamic Icons zu tun haben muss.

Chris46

Danke fürs testen. Also leider noch das gleiche Problem wie bisher. Ich habe auch schon nachgeforscht warum das mit dem FHEM Treiber nicht funktioniert, leider reichen allerdings meine Kenntnisse nicht aus, um festzustellen wo es da im Treiber hakt. Aber sowohl mit dem Domotiga Treiber sowie "offline" funktionieren diese.

EDIT: Mit dem alten Treiber habe ich einen Slider von 0 - 255 verwendet sowie einen 0/1 Switch. Beides dann in smartVISU mit basic.switch und basic.slider eingebunden. Beides funktioniert, das dynamische icon (icon.ventilation) bewegt sich nicht.

cruser1800

Hallo funktioniert auch mit basic.shifter nicht! (Bei den Jalousien)

Vielleicht hilft es!