Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zu LBS 19002576 Influx Data Archives

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Frage zu LBS 19002576 Influx Data Archives

    Hallo Jonofe
    neuer thread :-) - und erstmal vielen für den Baustein!

    Ich hab den Baustein konfiguriert - kriege aber keine Daten rüberkopiert oder gesynct.
    Ich hab influx 2.2.0

    E2=9
    E3=http://192.168.0.7:8086 (darüber kann ich mich auch anmelden)
    E4= <der token der alle rechte hat>
    E5=thehouse
    E6=hausbucket
    E7=all
    E8=copy
    E10=all
    E11=1970-01-01 00:00:00
    E12=<leer>
    E13=200

    Im Log CUSTOMLOG_Influx_Data_Archives-LBS19002576.log finde ich:

    Code:
    2022-05-08 21:02:01 303544 9325 debug-mysql LBS19002576 [v0.1]: Query: DROP PROCEDURE IF EXISTS influx_update; (6490)
    
    2022-05-08 21:02:01 304060 9325 debug-mysql LBS19002576 [v0.1]: Query: DROP TRIGGER IF EXISTS influx_insert_trigger; (6490)
    
    2022-05-08 21:02:01 304522 9325 debug-mysql LBS19002576 [v0.1]: Query: DROP TRIGGER IF EXISTS influx_update_trigger; (6490)
    
    2022-05-08 21:02:01 305241 9325 debug-mysql LBS19002576 [v0.1]: Query: DROP TRIGGER IF EXISTS influx_delete_trigger; (6490)
    
    2022-05-08 21:02:01 305927 9325 debug-mysql LBS19002576 [v0.1]: Query: CREATE PROCEDURE influx_update(command VARCHAR(10), archiveId INT(20), archiveName VARCHAR(100), value VARCHAR(10000), timestamp DATETIME, ms INT(11)) BEGIN DECLARE cmd VARCHAR(1000); DECLARE result INT(10); DECLARE logresult INT(10); SET cmd = CONCAT('/usr/bin/bash -c "/usr/bin/php /usr/local/edomi/www/data/liveproject/lbs/EXE19002576.php ',command,' ',archiveId,' \'',archiveName,'\' \'',value,'\' \'',timestamp,'\' ',ms,' & "'); SET logresult = log_error(cmd); SET result = sys_exec(cmd); END (6490)
    
    2022-05-08 21:02:01 306551 9325 debug-mysql LBS19002576 [v0.1]: Query: CREATE TRIGGER influx_insert_trigger AFTER INSERT ON archivKoData FOR EACH ROW BEGIN DECLARE archiveName VARCHAR(100); SELECT name INTO archiveName FROM edomiLive.archivKo WHERE id = NEW.targetid; CALL influx_update('INSERT', NEW.targetid, archiveName, NEW.gavalue, NEW.datetime, NEW.ms); END (6490)
    In der Influx erscheinen im bucket keine neuen daten... und ich sehe auch nirgends Fehlermeldungen.

    Wie muss ich denn mit E7 und E10 umgehen? Erstmal E10 auf "all" und E7 leer um alles "alte" zu kopieren - dann umgekehrt um neue Daten immer nachzuführen?
    Der Baustein lässt sich scheinbar nicht anhalten - einmal auf E1=1 bleibt er aktiv...

    Gruß
    Thorsten
    Zuletzt geändert von ThorstenGehrig; 08.05.2022, 20:20.

    #2
    E10 sollte beim Start leer sein, ansonsten startet bei jedem Start von EDOMI eine komplette Kopie in Richtung Influx.
    Es sollte ein zweites LOG File nur vom EXEC Skript geben. Dort sollte ein Eintrag für jedes Sync auftauchen, d.h. Für jedes Schreiben in die Influx DB.

    Kommentar


      #3
      Zitat von ThorstenGehrig Beitrag anzeigen
      Der Baustein lässt sich scheinbar nicht anhalten - einmal auf E1=1 bleibt er aktiv...
      Wie groß sind deine Datenarchive? Der LBS läuft erstmal so lange bis alle Daten kopiert sind. Wenn es Millionen von Datensätze sind, dann kann das dauern.
      Am besten mal ein

      Code:
       tail -f /usr/local/edomi/www/data/log/CUSTOMLOG_Influx_Data_Archives-EXEC.log
      in einem Terminalfenster starten. Dann sollte sichtbar werden, was der LBS macht. Sollte dann ungefähr so aussehen:

      Code:
      2022-05-08 22:35:45 INSERT : archiveName: Strom-Leistiung-Watt, archiveId: 23, us: 817078, value: 1028, timestamp_utc: 1652042145
      2022-05-08 22:35:52 INSERT : archiveName: Aussentemperatur, archiveId: 2, us: 84981, value: 14.6, timestamp_utc: 1652042152
      2022-05-08 22:35:52 INSERT : archiveName: Strom-Leistung-kW, archiveId: 24, us: 860955, value: 1.02, timestamp_utc: 1652042152
      2022-05-08 22:35:53 INSERT : archiveName: PC - Joshua - Leistungsaufnahme, archiveId: 3, us: 564299, value: 0, timestamp_utc: 1652042153
      2022-05-08 22:35:59 INSERT : archiveName: Strom-Leistiung-Watt, archiveId: 23, us: 841058, value: 1028, timestamp_utc: 1652042159
      2022-05-08 22:36:04 INSERT : archiveName: Levin PC eingeschaltet (minütlich), archiveId: 38, us: 258044, value: 1, timestamp_utc: 1652042164
      2022-05-08 22:36:06 INSERT : archiveName: Joshua PC eingeschaltet (minütlich), archiveId: 37, us: 267715, value: 0, timestamp_utc: 1652042166
      2022-05-08 22:36:07 INSERT : archiveName: Strom-Leistung-kW, archiveId: 24, us: 891932, value: 0.89, timestamp_utc: 1652042167
      2022-05-08 22:36:11 INSERT : archiveName: PC - Joshua - Leistungsaufnahme, archiveId: 3, us: 700269, value: 0, timestamp_utc: 1652042171
      2022-05-08 22:36:14 INSERT : archiveName: Strom-Leistiung-Watt, archiveId: 23, us: 855823, value: 1028, timestamp_utc: 1652042174
      2022-05-08 22:36:22 INSERT : archiveName: Strom-Leistung-kW, archiveId: 24, us: 943375, value: 0.89, timestamp_utc: 1652042182
      2022-05-08 22:36:29 INSERT : archiveName: PC - Joshua - Leistungsaufnahme, archiveId: 3, us: 719958, value: 0, timestamp_utc: 1652042189
      2022-05-08 22:36:29 INSERT : archiveName: Strom-Leistiung-Watt, archiveId: 23, us: 805366, value: 1028, timestamp_utc: 1652042189
      2022-05-08 22:36:37 INSERT : archiveName: Strom-Leistung-kW, archiveId: 24, us: 892056, value: 0.89, timestamp_utc: 1652042197
      2022-05-08 22:36:39 INSERT : archiveName: Gas-Durchfluss-l/min, archiveId: 27, us: 981251, value: 0, timestamp_utc: 1652042198
      2022-05-08 22:36:39 INSERT : archiveName: Gas-Durchfluss-l/h, archiveId: 28, us: 143743, value: 0, timestamp_utc: 1652042199
      2022-05-08 22:36:39 INSERT : archiveName: Wasser-Durchfluss-l/min, archiveId: 25, us: 746603, value: 0, timestamp_utc: 1652042199
      2022-05-08 22:36:39 INSERT : archiveName: Wasser-Durchfluss-l/h, archiveId: 26, us: 875453, value: 0, timestamp_utc: 1652042199
      2022-05-08 22:36:40 INSERT : archiveName: Gartenwasser-Durchfluss-l/min, archiveId: 29, us: 498192, value: 0, timestamp_utc: 1652042200
      2022-05-08 22:36:40 INSERT : archiveName: Gartenwasser-Durchfluss-l/h, archiveId: 30, us: 562711, value: 0, timestamp_utc: 1652042200

      Und wie oben beschrieben am besten erstmal E10 leer lassen und nur mit E7=all oder auch an E7 nur erstmal eine ID eines Datenarchivs, damit man sieht ob es grundsätzlich funktioniert. Wenn dann Datenarchive in Influx auftauchen kann man mal E11=-1 month und E12 leer und dann E10=<ID des Datenarchives, welches man auch an E7 hat> setzen, damit der letzte Monat gesynct wird.

      Insgesamt also mal langsam rantasten, bevor der Gesamt-Sync gestartet wird.

      Kommentar


        #4
        Das EXE log ist 0 byte - leer.
        Datensätze habe ich 342079 - hält sich also in grenzen...
        Ich hab das mal wie beschrieben gemacht - aber EXE-Log bleibt leer...

        Kommentar


          #5
          Dann würde ich vermuten, dass Trigger oder Procedure in der mysql DB nicht richtig angelegt werden. Das war doch ein ähnliches Problem bei deinem MQTT Publish Server, oder?

          Kommentar


            #6
            yep - bei MQTT Publish server war das so.
            Wie kann ich das bei diesem Baustein fixen? Die installation beinhaltet doch gar keine SQL-scripte, oder?

            ... nachtrag: okay - ich blindfisch habs übersehen
            Zuletzt geändert von ThorstenGehrig; 09.05.2022, 13:52.

            Kommentar


              #7
              Zitat von ThorstenGehrig Beitrag anzeigen
              Wie kann ich das bei diesem Baustein fixen?
              Eigentlich gibt's da nix zu fixen. Frage ist, warum es bei dir nicht funktioniert.

              Kommentar


                #8
                Hi
                nur damit wir uns richtig verstehen... ich hab oben geschrieben das ich die installations-befehle zuerst übersehen hatte.
                Jetzt läuft er.
                Bei "all" hat er aber nur bis Datenarchiv 53 oder so kopiert... ich hab dann für den initialen Kopiervorgang schön zu Fuß bis 120 alle Archivnummern einzeln gesynced...
                :-)
                Jetzt kämpfe ich gerade mal wieder an anderer Stelle - dann gehts mit graphana weiter :-)

                Gruß
                Thorsten

                Kommentar


                  #9
                  Zitat von ThorstenGehrig Beitrag anzeigen
                  nur damit wir uns richtig verstehen... ich hab oben geschrieben das ich die installations-befehle zuerst übersehen hatte.
                  Jetzt läuft er.
                  ah okay, das hatte ich in der Tat so nicht verstanden
                  Warum er nur 53 Archive kopiert hat, verstehe ich nicht.
                  Bei mir waren es zwar ca. 5 Mio Einträge, aber nur 20 Archive. Das hatte problemlos funktioniert.

                  Naja, wenns dann manuell funktioniert hat, dann gehts zumindest jetzt weiter. Viel Erfolg!

                  Kommentar


                    #10
                    Hallo Jonogfe,
                    Ich hab noch eine andere Frage: ich der Influx DB habe ich neben
                    _measurement (name des archivs)
                    _field (="value")
                    _value (=wert im archiv)
                    _start, _stop, _time (=alle zeitstempel)
                    auch noch
                    _id (=wohl die ID des archives)
                    _us (= keine ahnung)

                    Bei der Darstellung in Grafana bin ich irgendwie nicht in der lage das vernünftig zu filtern... _id und _us krieg ich nicht rausgefiltert.

                    Ich hab z.B.
                    Code:
                    from(bucket: "hausbucket")
                    |> range(start: v.timeRangeStart, stop:v.timeRangeStop)
                    |> filter(fn: (r) => r._measurement == "Klara.Lufttemperatur" )
                    |> set(key: "_field", value: "value")
                    Ich kriege meine Werte - aber jeder für sich separat - und keine Linie...
                    Kannst du mir mal sagen wie du das in Flux abfragst?

                    Danke & Gruß
                    Thorsten

                    Kommentar


                      #11
                      Zitat von ThorstenGehrig Beitrag anzeigen
                      _id (=wohl die ID des archives)
                      korrekt.

                      Zitat von ThorstenGehrig Beitrag anzeigen
                      _us (= keine ahnung)
                      Das ist der Mikrosekunden-Anteil des EDOMI Timestamps im Datenarchiv.

                      Zitat von ThorstenGehrig Beitrag anzeigen
                      Kannst du mir mal sagen wie du das in Flux abfragst?
                      Hier mal ein Beispiel in Grafana:

                      grafana-außentemp.png

                      Und hier die Query dazu:

                      Code:
                      from(bucket: "EDOMI")
                      |> range(start: 2022-05-16T00:45:21.735Z, stop: 2022-05-16T06:45:21.735Z)
                      |> filter(fn: (r) => r["_measurement"] == "Aussentemperatur") |> group(columns: ["_measurement"])
                      |> aggregateWindow(every: 20s, fn: mean, createEmpty: false)
                      |> yield(name: "mean")
                      Zuletzt geändert von jonofe; 16.05.2022, 08:00.

                      Kommentar


                        #12
                        Danke - das |> group(columns: ["_measurement"]) war mein fehlender punkt :-)

                        Kommentar


                          #13
                          Irgendwie bin ich zu dumm Daten über den LBS zur Influx DB zu bringen.

                          LBS:

                          image.png

                          (Keine) Ausgabe in Influx:​

                          image.png​Exec Log: Die von mir zum Testen ausgewählten Datenarchive 1,2,3,4,5 sollten eigentlich Archive von Raumtemperaturen sein welche viertelstündlich beschrieben werden. Im Log steht aber alles mögliche drinnen.

                          image.png​Log: hier keine Einträge in letzter Zeit. Zwischenzeitlich, was auch dieses Log betrifft habe ich alles mögliche probiert. Auch das kopieren des gesamten Archivs.
                          Leider habe ich keine Ahnung was das aussagen soll.

                          image.png
                          Ich hoffe jemand kann mir auf die Sprünge helfen.
                          Kann ja spannend werden wenn es bei mir schon beim Rüberschicken der Daten scheitert

                          LG Jürgen

                          Kommentar


                            #14
                            Du solltest mal alle Eingänge statisch mit Werten belegen, nicht per iKOs und nicht mit diesen Klemmen, deren Sinn sich mir auch nicht erschließt.

                            Die notwendigen Installationen für den LBS hast du gemacht?

                            Kommentar


                              #15
                              Danke für die flotte Antwort.
                              Die Installationen hatte ich vor einem Monat gemacht und danach die VM auf der Synology und danach Edomi schon mehrmals neu gestartet.

                              Die Eingänge habe ich anfangs mit statischen Werten belegt gehabt, nur leider ohne Erfolg.
                              Deswegen habe ich zum Probieren die Klemmen erstellt.

                              Habe jetzt über Nodered mit den identen Parametern vom LBS die InfluxDB beschreiben können.
                              Also am Token scheiterts mal nicht.

                              image.png
                              Der LBS sieht jetzt so aus:

                              image.png

                              Edomi wurde auch schon neu gestartet, passieren tut leider immer noch nichts.
                              Ich denke ich werde die Installationen nochmals durchspielen, so wie ich mich kenne hab ich sicher wieder irgendwo was verhaut.

                              Edit: Bei der erneuten Installation schreibt die Konsole anfangs "nicht zu tun" "Verzeichnis existiert bereits" etc

                              Aber beim Punkt "autoreconf -i" (11 Zeile) kommt folgende Meldung:

                              image.png

                              Beim folgenden Punkt "./configure"
                              image.png

                              Muss ich hier noch eine Datei erstellen?

                              Liebe Grüße
                              Jürgen​
                              Zuletzt geändert von fudi6489; 29.01.2023, 10:49.

                              Kommentar

                              Lädt...
                              X