moba15 / hiob_app

This is a App for the HioB Adapater for ioBroker
Mozilla Public License 2.0
6 stars 2 forks source link

Add Chart Graph #62

Open Lucky-ESA opened 4 months ago

Lucky-ESA commented 4 months ago

Du hast ja mal damit abgefangen und ruhen lassen das es Probleme gab. Würde echt gerne mir Diagramme anzeigen lassen.

Gruß//Lucky

moba15 commented 4 months ago

Der Grund, warum ich das damals abgebrochen habe, war vorallem Performance. Die hat sehr stark drunter gelitten bei größeren Datensätzen. Eine Möglichkeit wie man das vieleicht verbessern könnte, wäre eine lokale sql Datenbank anzulegen mit allen history Daten die benötigt werden. Somit würde beim startup einmal alle Daten vom Adapter abgefragt und dann zwischen gespeichert. Eine zusätzliche Möglichkeit wäre eine direkte Verbindung zum SQL Server aufzubauen. So würde man sich den Initialen womöglich tueren Datenverkehr über den Adapter sparen, jedoch müsste hierfür der sql Server nach außen offen sein. Außerdem würde das natürlich nur mit dem sql history Adapter funktionieren, wäre vermutlich aber die schnellste Lösung.

Vieleicht habt ihr ja dies Bezüglich noch Ideen/Wünsche. Falls nicht wäre ich aktuell wahrscheinlich für die erste Variante.

Lucky-ESA commented 4 months ago

Du solltest den setInterval weglassen und die Zeiten auf ein Tag beschränken. Die APP verliert die Verbindung wenn das Handy deaktiviert wird. Des Weiteren würde ich nur die values senden und nicht alles. Hatte mal Graph mit meinem Emulator ausgefüllt und damit die APP unbrauchbar gemacht. Musste dann wipen...

santa81 commented 4 months ago

blöde Frage, aber könnte der Adapter nicht irgendwie die Daten in iobroker aufbereiten, sodass nur das "Bild" selbst übertragen werden muss.

moba15 commented 4 months ago

Server side rendering wird für Android Geräte eher schwer, für Web Anwendungen wäre es the way to go.

Des Weiteren würde ich nur die values senden und nicht alles.

Ja die Values mit ihrem Timestamp. Ich muss nur wahrscheinlich nicht jeden Wert senden. Da wir hier meistens über ein Handy Display reden, geht sowieso Genauigkeit verloren. Wäre also eine überlegen wert immer verschiedene Wert in einem Interval zusammen zufassen, wodurch deutlich weniger Daten über den Socket gesendet werden müssen. Bei bedarf kann das Handy die fehlenden Punkte mithilfe von Interpolation auffüllen. Bei den Desktop Anwendungen könnte man natürlich deutlich mehr Daten senden.