[Modul] Archive Control MySQL

Hast du einen Vergleichswert wie viele ms jetzt ein Eintrag im Debug anzeigt?
Würde mich Mal interessieren, da bei mir alles unter der gleichen Windows VM läuft habe ich da Praxiswerte.
Michael

TXT: 06.11.2019, 22:11:24 |            Login [9] | 2,000 ms
TXT: 06.11.2019, 22:11:24 |          LogData [9] | 170,010 ms (172,010 ms)
TXT: 06.11.2019, 22:11:25 |          LogData [9] | 166,010 ms (339,020 ms)
TXT: 06.11.2019, 22:11:25 |          LogData [9] | 89,005 ms (428,025 ms)
TXT: 06.11.2019, 22:11:25 |          LogData [9] | 67,004 ms (495,029 ms)
TXT: 06.11.2019, 22:11:25 |          LogData [9] | 66,003 ms (561,032 ms)
TXT: 06.11.2019, 22:11:25 |          LogData [9] | 67,004 ms (628,036 ms)
TXT: 06.11.2019, 22:11:25 |          LogData [9] | 54,003 ms (683,039 ms)
TXT: 06.11.2019, 22:11:25 |          LogData [9] | 68,004 ms (751,043 ms)
TXT: 06.11.2019, 22:11:25 |          LogData [9] | 88,005 ms (839,048 ms)
TXT: 06.11.2019, 22:11:25 |          LogData [9] | 33,002 ms (872,050 ms)
TXT: 06.11.2019, 22:11:25 |          LogData [9] | 89,005 ms (961,055 ms)
TXT: 06.11.2019, 22:11:27 |          LogData [9] | 1434,082 ms (2395,137 ms)
TXT: 06.11.2019, 22:11:27 |          LogData [9] | 44,003 ms (2439,140 ms)

Danke.
Das ist ja bedeuten besser. 33 bis 170ms.
Und dennoch einmal ein Eintrag mit 1400ms.
Michael

wenn ich morgen dazu komme, werde ich die DB mal auf die SSD auslagern um zu schaun ob es an der Volumenauslastung liegt.

Micha

Hallo an alle und erstmal ein gutes, gesundes neues Jahr für euch.

Ich hätte eine Frage zum Archive Control MySQL und zwar ob es irgendwie möglich ist die Benennung in der Datenbank
von var12345 auf z.B. Wirkleistung_Zähler_Einliegerwohnung umzustellen.

Gruß Thorsten

Nein, das ist immer fix.
Michael

Ah ok, danke für die schnelle Antwort.
Ich zeige die Daten mit Grafana an. Wie macht ihr es dann wenn ihr so ca. 50 Variablen habt welche ihr in die MySql DB schreibt?
Jedesmal in IPS nachsehen welche Variable welche ID hat? Ich kenne es halt von Iobroker, da schreibt der Adapter die Daten
in eine Influxdb und da kann man angeben unter welchem Alias der Wert gespeichert werden soll.

Gruß Thorsten.

Die ID wird direkt bei Änderungen/Aktualisieren vom Wert mit gesendet, damit es möglichst schnell abgearbeitet wird, nutze ich die eindeutige ID für die Tabelle.
Michael

Danke für die Antwort, hab es jetzt verstanden.
Ist auch kein Problem, die andere Software läuft sowieso mit, erledige ich es halt mit dieser.

Gruß und schönen Feiertag

Hallo Frohes neues Jahr auch noch mal eine Frage die mich schon Länger bescheftigt:
Wie Funktioniert das mit dem Highcharts Script giebt es da irgendwo eine schritt für schrit Anleitung ich hab da schon viel Gegoogelt
aber nichts richtiges gefunden. Immer nur Stücke aber nichts ganzes was mich ans Ziel gebracht hat.

Hier gibt es die original Dateien mit Anleitung.
Highcharts - Multigraph
Schritt 3 ist etwas knapp beschrieben.
Dort muss der Inhalt von der Datei in einem Script in IPS kopiert werden.
Der Inhalt ist die Konfiguration des Chart und bestimmt auch die Ausgabe (IPS-Variable Typ String HTML-BOX).
Michael

Moin Michael,

wieder mal ein richtiges brauchbares Modul von Dir!

Kann man ggf. irgendwo einstellen/patchen, dass jedes mal bei Variablenaktualisierung geschrieben wird?

Gruß
Dieter

Warum sollte man das wollen?
Du hast immer den genauen Zeitpunkt von bis welcher Wert Anstand, dadurch daß ich nur Duplikate entferne.
Michael

Nun, deshalb:

ich schreibe von unseren Vereinsräumen die Temperaturen mit und zeige Ist und Soll.
Da die Soll Temperatur nur selten geändert wird, ist die Darstellung in Grafana irgendwie seltsam - oder ich beherrsche Grafana nicht :wink:

Ist das der letzte Zeitpunkt der Aktualisierung der Variable?
Weil von da ab in die Zukunft loggen geht halt nicht.
Michael

Hallo Michael,

gibt es irgend eine Möglichkeit auch in eine MSSQL Datenbank zu schreiben?

ist es besonders schwierig den PDO_SQLSRV Driver anstatt deinen MySqli.dll zu verwenden?
Ich habe ein Tutorial durchgelesen das der PDO_SQLSRV Driver alle DB Arten zulässt und man wählen kann in welche
DB man schreiben will. Der Driver wird auch nicht viel anders verwendet als die MySqli.dll. Nur steige ich hier absolut nicht dahinter
wie man dein Modul umschreiben könnte um auch in eine MSSQL Datenbank zu schreiben.

Vielleicht kannst du mir Tipps geben wie das geht, bzw welche Dateien ich dazu brauche.
Bin leider kein Php Programmierer und komme aus der C# Welt. :slight_smile:

Ansonsten würde ich genau das brauchen was du für MySql geschrieben hast… :banghead:

Danke für die tolle Arbeit hier.
Dein Modul funktioniert perfekt.

Lg
Andreas

Ich habe es davon abhängig gemacht, welche PHP Erweiterungen bei den non-Windows Symcon mit ausgeliefert wird. Das ist imho mysqli.
Wenn PDO in allen Symcon Versionen vorhanden wäre, kann ich das bestimmt fit machen.
Michael

Hallo Michael,

Die Vorraussetzungen sind fast identisch mit denen von MySQLi.

PHP 5 (ab 5.1 aufwärts standardmäßig vorhanden, bei 5.0 als PECL-Erweiterung verfügbar)
MySQL-Server 4.1 oder höher (am Besten 5.x)
Aktivierte PDO-Unterstützung

Funktioniert das jetzt in non-Windows Symcon Systemen auch? PHP 5 hat ja auch Linux und PD0 Unterstützung ist
nur eine .dll wie bei MySQLi oder?

Hier der Link mit der super Beschreibung und der Erläuterung der Unterschiede:
PHP - PDO

Ich hoffe du kannst damit mehr anfangen wie ich. :slight_smile:

Vielleicht hätte man hier den „Vorteil“ die DB Verbindung selbst auszusuchen und es würde mit allen DBs funktionieren…

Danke!

Lg Andi

Bei nicht Windows muss Symcon die Erweiterung mitbringen, die können dort nicht nachinstallieren werden wie unter Windows.
Von daher kann ich das gerade nicht beantwortet.
Michael

Hallo Nall-Chan,

kann es sein das es diese Funktion „ACMySQL_SetLoggingStatus()“ nicht für das MySql Archiv gibt?

Hintergrund:
Ich habe mir ein Script erstellt was mir die Archivierten Daten ausließt und pro Tag in die MySql Tabelle für die entsprechende Variable schreibt. So kann ich auch die alten Archiv-Daten für Grafana nutzen. Nun würde ich gerne per „AC_SetLoggingStatus“ und „ACMySQL_SetLoggingStatus“ das Loggen kurzzeitig deaktivieren bis alle Daten eingefügt wurden.

Gruß
Oli