NEWS
[SourceAnalytix 0.4.8-Final] Released !
-
@peter666666 sagte in [SourceAnalytix 0.4.8-Final] Released !:
Ich logge ja die aktuelle Leistung
eigentlich loggt man auch keine Leistung, sondern den Zähler
-
Hallo,
ich habe die letzten Monate öfters überlegt, wie ich den Verbrauch der Datenpunkte previousDay und previousWeek ordentlich in eCharts visualisiert bekomme.
Das Problem liegt darin, dass der Zeitstempel in der History (logischerweise) immer einen Tag nach dem eigentlichem Tag um den es geht geschrieben wird, wenn der Verbrauch ermittelt wurde.
Leider gibt es in eCharts dafür keinen entsprechenden Offset.
Ich habe es nun so gelöst, dass ich die Daten selber in den SQL-Adapter schreibe. Als Zeitstempel gebe ich 00:00:01 Uhr vom betroffenen Tag an.
So kann man sich die Verbräuche der letzten Tage/Wochen/Monate mit korrekter Zeitachse in eCharts anzeigen lassen.
So sieht das Chart bei mir aus (noch nicht schön gemacht ^^):
Folgendes Skript schreibt die Werte in die SQL-Datenbank
Wichtig ist, dass einmal ein Wert vom SQL-Adapter geschrieben wird, damit in der Datenbank alles angelegt wird. Unter From sagt man dem SQL Adapter von welchen Adapter der Befehl übermittelt wird. Dort einfach eine 1 eintragen, ansonsten testen bis SourceAnalytics erscheint. Die Nummer ist nicht bei jedem gleich.
Als Trigger habe ich eine Funktion angelegt. Kann man aber natürlich auch anders lösen. -
@wendy2702 sagte in [SourceAnalytix 0.4.8-Final] Released !:
unter consumed für Januar schaue
wäre das dein Verbrauch von 1.1 bis jetzt
@wendy2702 sagte in [SourceAnalytix 0.4.8-Final] Released !:
Jetzt die richtigen Werte für Tag und Wochebeginn eingetragen:
Vielleicht kam da etwas durcheinander, oder ein bug beim nachträglichen ändern/korrigieren.
Ich würde es nochmal löschen, dann das loggen neu aktivieren und neu eintragen. -
@david-g sagte in [SourceAnalytix 0.4.8-Final] Released !:
Das Problem liegt darin, dass der Zeitstempel in der History (logischerweise) immer einen Tag nach dem eigentlichem Tag um den es geht geschrieben wird, wenn der Verbrauch ermittelt wurde.
es gibt ein issue dazu, eventuell kan man den Zeitpunkt nach 23.59 verschieben aber auch dan bleibt immer ein Risiko das er das nicht fuer alle Datenpunkte rechtzeitig gemacht hat.
Mal drüber nachdenken wie man das anders lösen könnteNaeste version wird auch eine JSON bereitstellen womit man diese in einer Visualisierung verarbeiten kan.
E-charts kan meines Wissens aber keine JSON auswerten, VIS/Jarvis/Grafana etc z.b. wohl -
@crunchip sagte in [SourceAnalytix 0.4.8-Final] Released !:
Vielleicht kam da etwas durcheinander, oder ein bug beim nachträglichen ändern/korrigieren.
Ich würde es nochmal löschen, dann das loggen neu aktivieren und neu eintragen.Alles gelöscht, Instanz, Adapter, dann neu installiert.
Wenn ich jetzt einen Wert eingeben will passiert das:
Ich kann erst etwas eingeben wenn ich über die Button hoch/runter die Ziffer verändere. Ich muss die erste Ziffer passen zu meinem Zählerstand einstellen und dann den Rest hinterher. Sonst funktioniert die Eingabe nicht. Löschen lässt sich die "0" auch nicht.
-
@wendy2702 ich kann mich schwach daran erinnern, da war mal was.
Wenn du vor der 0 eine Ziffer eingibst, geht es dann? -
@crunchip Muss der Adapter laufen bei Eingabe der Werte oder aus sein?
-
@wendy2702 du fragst mich Sachen ich nehme mal an, er sollte laufen
edit, eigentlich ist es doch egal, ob der läuft oder gestoppt ist
-
@crunchip Der aus meiner Sicht bisher schlechteste Adapter bei ioBroker läuft nach dem 4x komplett löschen und neu einrichten jetzt scheinbar.
Zumindest sehen die Werte jetzt plausibel aus.
Danke dir und den anderen fleissigen Helfern für eure Geduld.
-
@wendy2702 sagte in [SourceAnalytix 0.4.8-Final] Released !:
nach dem 4x komplett löschen und neu einrichten
solltest du doch gar nicht, lediglich, das loggen von SA für den jeweiligen DP deaktivieren und deine Objekte löschen, danach neu anlegen.
@wendy2702 sagte in [SourceAnalytix 0.4.8-Final] Released !:
Zumindest sehen die Werte jetzt plausibel aus.
weil du jetzt von vornherein die richtigen Werte eingegeben hast, zuvor hattest du ja Fehler gemacht, was zur falschen Berechnung führte
aber schön wenn es nun läuft -
@crunchip Naja,
Fehler gemacht sehe ich jetzt gerade anders. Ich habe die Werte eingegeben die ich hatte, Jahrestart, Quartalsstart und Monatsstart. Damit kamen ja dann direkt nach dem Starten die falschen Werte.
Das löschen der Objekte nach Stoppen hatte ich auch probiert. Sowohl als nur die 3 Werte eingetragen waren als auch alle 5.
Ich glaube eher das mein Problem darin bestand das ich den Zählerstand mit hoch klicken der ersten Ziffer und Anhängen des Rest erzeugt habe.
Hättest du dich daran nicht erinnert würde es noch immer nicht laufen bzw. ich hätte aufgegeben.
-
@wendy2702 Hast du jetzt solange hoch geklickt bis du den Wert hattest den du eingeben wolltest?
-
@wendy2702 sagte in [SourceAnalytix 0.4.8-Final] Released !:
Fehler gemacht sehe ich jetzt gerade anders. Ich habe die Werte eingegeben die ich hatte, Jahrestart, Quartalsstart und Monatsstart. Damit kamen ja dann direkt nach dem Starten die falschen Werte.
eben und Startwert Tag 0, somit ist alles fürn "A...."
@wendy2702 sagte in [SourceAnalytix 0.4.8-Final] Released !:
ich hätte aufgegeben
man gibt nicht auf
-
@peter666666 sagte in [SourceAnalytix 0.4.8-Final] Released !:
@wendy2702 Hast du jetzt solange hoch geklickt bis du den Wert hattest den du eingeben wolltest?
Nein,
nur bis die erste Ziffer passte und dann den Rest an gehangen.
-
@dutchman sagte in [SourceAnalytix 0.4.8-Final] Released !:
es gibt ein issue dazu, eventuell kan man den Zeitpunkt nach 23.59 verschieben.....
Auf 23:59 hatte ich es auch erst in meinem Skript. War für das Chart aber auch doof, da der Wert ja schon ab morgens angezeigt werden sollte für eine Tabelle (zumindest so wie ich sie habe).
dutchman sagte in [SourceAnalytix 0.4.8-Final] Released !:
....... aber auch dan bleibt immer ein Risiko das er das nicht fuer alle Datenpunkte rechtzeitig gemacht hat.
Da hab zu wenig Ahnung von der Materie. Kann ein Adapter beim Schreiben von einem Wert einen "falschen" Zeitstempel übergeben (vermutlich nicht....)? Dann hätte SA ja Zeit alles zu berechnen.
EDIT
Kleiner Thwmenwechsel.
Gibt's schon ein Issue/Feature request um so was ähnliches wie die "Alias-ID" beim den Historyadaptern umzusetzen? Also dass man die bestehenden Datenpunkte von SA mit einem neuen Gerät/Datenpunkt weiterführen kann?EDIT 2
Untwr anderem aus dem Versuch SA ordentlich zu visualisieren ging auch dieser Adapterrequest hervor https://github.com/ioBroker/AdapterRequests/issues/783 -
@david-g sagte in [SourceAnalytix 0.4.8-Final] Released !:
EDIT
Kleiner Thwmenwechsel.
Gibt's schon ein Issue/Feature request um so was ähnliches wie die "Alias-ID" beim den Historyadaptern umzusetzen? Also dass man die bestehenden Datenpunkte von SA mit einem neuen Gerät/Datenpunkt weiterführen kann?Das machst du indem du erst einen Alias anlegst und die History-Funktion dann einfach auf dem Alias benutzt.
Ändert sich die Quelle biegst du das am Alias um.Da hab zu wenig Ahnung von der Materie. Kann ein Adapter beim Schreiben von einem Wert einen "falschen" Zeitstempel übergeben (vermutlich nicht....)? Dann hätte SA ja Zeit alles zu berechnen.
Ja, die Datenbank-Adapter können das alle. Die schreiben aber natürlich immer brav den Zeitstempel zum Zeitpunkt der Wertänderung (und das muss auch so sein).
Du kannst aber einfach ein Skript nehmen welches dann die Daten aus den Adaptern nimmt und die Werte mit den für dich passenden Zeitstempel in die Datenbank schreibt (persendTo
, siehe Anleitungen der Adapter). Das geht auch an einem Rutsch und auch nachträglich oder für Werte in der Zukunft, z.B. bei Prognosen.Wenn du das stattdessen in einem Adapter willst - wie genau soll das denn laufen bzw. wie konfiguriert / koordiniert werden? Woher soll der wissen welchen Datenpunkt er bei welcher Änderungen mit einem falschen Zeitstempel schreiben soll - und wenn ja dann auf welche Zeit?
Du könntest auch per Skript auf den Datenpunkt Triggern, über den SQL-Adapter dir dann den letzten Wert holen und dann dessen Zeitstempel korrigieren. Aber wie beschrieben, wie soll das in einem Adapter aussehen?
-
@bananajoe sagte in [SourceAnalytix 0.4.8-Final] Released !:
Das machst du indem du erst einen Alias anlegst und die History-Funktion dann einfach auf dem Alias benutzt.
Ändert sich die Quelle biegst du das am Alias um.Habe ich gefragt, da ich noch einige ohne Alias habe.
Seit ca einem Jahr lege ich für fast alles ein Alias an.
Geilste Funktion ever. Nutzen nur leider wie man so mitbekommt wirklich viele nicht.
Deshalb macht die Alias-ID bei den Historyadaptern wirklich Sinn finde ich.@bananajoe sagte in [SourceAnalytix 0.4.8-Final] Released !:
Du kannst aber einfach ein Skript nehmen welches dann die Daten aus den Adaptern nimmt und die Werte mit den für dich passenden Zeitstempel in die Datenbank schreibt (per sendTo, siehe Anleitungen der Adapter). Das geht auch an einem Rutsch und auch nachträglich oder für Werte in der Zukunft, z.B. bei Prognosen.
So mache ich es jetzt ja bereits. Siehe ein par Posts weiter oben.
-
@david-g sagte in [SourceAnalytix 0.4.8-Final] Released !:
Geilste Funktion ever. Nutzen nur leider wie man so mitbekommt wirklich viele nicht.
ich zum Beispiel ... wollte nie wie ich wollte. Aber da ich meine Verbraucher alle eh mit einem eigenen Skript auswerte habe ich eh meinen eigenen Datenpunkte
-
Hallo Leute,
Versuche auch gerade meinen Verbrauch Rückwirkend einzugeben...Was mache ich falsch weil mir SA dann in meiner Auswertung minus Zahlen anzeigt?
-
@peter666666 sagte in [SourceAnalytix 0.4.8-Final] Released !:
Versuche auch gerade meinen Verbrauch Rückwirkend einzugeben
Verbrauch? oder meinst du Zählerstände?
die Startwert die du da eingetragen hast sind Zählerstände zum jeweiligen Zeitpunkt
wenn ichs richtig sehe, hättest du 0 eintragen müssen bei Jahr/Quartal/Monat=1.Januar (Woche ? kann man anhand deiner Bilder nicht sagen, bräuchtest den Zählerstand vom Montag