Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. SQL - Wert per Script speichern

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    23
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.5k

SQL - Wert per Script speichern

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
58 Beiträge 5 Kommentatoren 2.8k Aufrufe 6 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • bahnuhrB bahnuhr

    Ne andere Frage zu sql.

    Wenn ich mit einem kleinen Script den ts ausrechne, klappt dies einwandfrei mit folgender Ausnahme:

    Wenn das Datum vor 2000 liegt, dann wird offensichtlich ein falscher ts erzeugt.
    Wenn ich diesen erzeugten ts eingebe im Internet scheint er aber richtig zu sein.
    Nur in einem flot erscheint der Punkt nicht !?

    Script:

    var theDate = new Date("30 december 1999");
                if (logging) log (theDate.getTime());
    

    Warum ist der ts bei Daten vor 2000 falsch (oder zumindest im flot) ?
    Oder was muss man anders machen.
    Oder liegt es an flot ?

    apollon77A Offline
    apollon77A Offline
    apollon77
    schrieb am zuletzt editiert von
    #15

    @bahnuhr was kommt da denn für ein Wert raus?

    Kann es sein das der kleiner als 946681200000 wird?

    WIr haben vor einigen Jahren mal intern die Daten von "Zeitstempel in Sekunden" auf "Zeistempel in Millisekunden" umgestellt.
    Die Erkennung läuft so:

    Wenn Wert < 946681200000 dann annahme es ist in Sekunden und wir nehmen wert intern "*1000"

    Daher wenn du nen Wert < 946681200000 hast mache ihn / 1000 (der code korrigiert das dann)

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    bahnuhrB 1 Antwort Letzte Antwort
    0
    • apollon77A apollon77

      @bahnuhr was kommt da denn für ein Wert raus?

      Kann es sein das der kleiner als 946681200000 wird?

      WIr haben vor einigen Jahren mal intern die Daten von "Zeitstempel in Sekunden" auf "Zeistempel in Millisekunden" umgestellt.
      Die Erkennung läuft so:

      Wenn Wert < 946681200000 dann annahme es ist in Sekunden und wir nehmen wert intern "*1000"

      Daher wenn du nen Wert < 946681200000 hast mache ihn / 1000 (der code korrigiert das dann)

      bahnuhrB Offline
      bahnuhrB Offline
      bahnuhr
      Forum Testing Most Active
      schrieb am zuletzt editiert von bahnuhr
      #16

      @apollon77 sagte in SQL - Wert per Script speichern:

      Daher wenn du nen Wert < 946681200000 hast mache ihn / 1000 (der code korrigiert das dann)

      Klappt nicht.
      Im Script habe ich folgendes eingebaut:

                  ts_wert = theDate.getTime();
                  if (ts_wert < 946681200000) { ts_wert = ts_wert / 1000 };
      

      Wie du im log sieht, schreibe ich Werte bis 1995 zurück. Und der ts wird durch 1000 geteilt.

      javascript.0	2021-05-05 19:25:19.790	info	(21611) script.js.Scripte.Sonstige.abc: 912380400
      javascript.0	2021-05-05 19:25:19.790	info	(21611) script.js.Scripte.Sonstige.abc: 21 -164.5 -143.5
      javascript.0	2021-05-05 19:25:19.790	info	(21611) script.js.Scripte.Sonstige.abc: 30 november 1998
      javascript.0	2021-05-05 19:25:19.789	info	(21611) script.js.Scripte.Sonstige.abc: 909702000
      javascript.0	2021-05-05 19:25:19.789	info	(21611) script.js.Scripte.Sonstige.abc: 15.3 -165.2 -149.9
      javascript.0	2021-05-05 19:25:19.789	info	(21611) script.js.Scripte.Sonstige.abc: 30 october 1998
      javascript.0	2021-05-05 19:25:19.788	info	(21611) script.js.Scripte.Sonstige.abc: 907106400
      javascript.0	2021-05-05 19:25:19.788	info	(21611) script.js.Scripte.Sonstige.abc: 20.7 -180.4 -159.7
      javascript.0	2021-05-05 19:25:19.788	info	(21611) script.js.Scripte.Sonstige.abc: 30 september 1998
      javascript.0	2021-05-05 19:25:19.787	info	(21611) script.js.Scripte.Sonstige.abc: 904428000
      javascript.0	2021-05-05 19:25:19.787	info	(21611) script.js.Scripte.Sonstige.abc: 19.4 -181.4 -162
      javascript.0	2021-05-05 19:25:19.786	info	(21611) script.js.Scripte.Sonstige.abc: 30 august 1998
      javascript.0	2021-05-05 19:25:19.786	info	(21611) script.js.Scripte.Sonstige.abc: 901749600
      javascript.0	2021-05-05 19:25:19.785	info	(21611) script.js.Scripte.Sonstige.abc: 43.7 -181.9 -138.2
      javascript.0	2021-05-05 19:25:19.785	info	(21611) script.js.Scripte.Sonstige.abc: 30 july 1998
      javascript.0	2021-05-05 19:25:19.785	info	(21611) script.js.Scripte.Sonstige.abc: 899157600
      javascript.0	2021-05-05 19:25:19.784	info	(21611) script.js.Scripte.Sonstige.abc: 40.6 -182.6 -142
      javascript.0	2021-05-05 19:25:19.784	info	(21611) script.js.Scripte.Sonstige.abc: 30 june 1998
      javascript.0	2021-05-05 19:25:19.783	info	(21611) script.js.Scripte.Sonstige.abc: 896479200
      javascript.0	2021-05-05 19:25:19.783	info	(21611) script.js.Scripte.Sonstige.abc: 36.2 -188.3 -152.1
      javascript.0	2021-05-05 19:25:19.783	info	(21611) script.js.Scripte.Sonstige.abc: 30 may 1998
      javascript.0	2021-05-05 19:25:19.782	info	(21611) script.js.Scripte.Sonstige.abc: 893887200
      javascript.0	2021-05-05 19:25:19.782	info	(21611) script.js.Scripte.Sonstige.abc: 33.7 -188.8 -155.1
      javascript.0	2021-05-05 19:25:19.782	info	(21611) script.js.Scripte.Sonstige.abc: 30 april 1998
      

      Im flot werden diese jedoch nicht angezeigt.
      56ef46e3-f369-4907-ab09-d6c478f7d105-image.png
      Alles was älter als 2000 ist kommt nicht in flot an.

      Muss ich noch etwas anderes beachten?


      Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
      Danke.
      gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
      ScreenToGif :https://www.screentogif.com/downloads.html

      1 Antwort Letzte Antwort
      0
      • bahnuhrB Offline
        bahnuhrB Offline
        bahnuhr
        Forum Testing Most Active
        schrieb am zuletzt editiert von
        #17

        @apollon77

        Nachtrag:

        Wenn ich die gespeicherten Werte per Script abrufe:

        sendTo('sql.0', 'query', 'SELECT id FROM datapoints WHERE name="javascript.0.Sonstige.xxxxxx"', function (result) {
            if (result.error) {
                console.error(result.error);
            } else {
                console.log('Rows: ' + JSON.stringify(result.result));
                var now = new Date();
                now.setHours(-10000000);
                sendTo('sql.0', 'query', 'SELECT * FROM ts_number WHERE id=' + result.result[0].id, function (result) {
                    console.log('Rows: ' + JSON.stringify(result.result));
                });
            }
        });
        

        dann wird ausgegeben:

        {"id":177,"ts":820278000000,"val":-366.7,"ack":1,"_from":0,"q":0},{"id":177,"ts":822956400000,"val":-388.9,"ack":1,"_from":0,"q":0},{"id":177,"ts":825462000000,"val":-411.1,"ack":1,"_from":0,"q":0},{"id":177,"ts":828140400000,"val":-411.1,"ack":1,"_from":0,"q":0},{"id":177,"ts":830815200000,"val":-410.5,"ack":1,"_from":0,"q":0},{"id":177,"ts":833407200000,"val":-409.9,"ack":1,"_from":0,"q":0},{"id":177,"ts":836085600000,"val":-329.5,"ack":1,"_from":0,"q":0},{"id":177,"ts":838677600000,"val":-329.4,"ack":1,"_from":0,"q":0},{"id":177,"ts":841356000000,"val":-323.7,"ack":1,"_from":0,"q":0},{"id":177,"ts":844034400000,"val":-300.3,"ack":1,"_from":0,"q":0},{"id":177,"ts":846630000000,"val":-293.7,"ack":1,"_from":0,"q":0},{"id":177,"ts":849308400000,"val":-283.4,"ack":1,"_from":0,"q":0},{"id":177,"ts":851900400000,"val":-267.7,"ack":1,"_from":0,"q":0},{"id":177,"ts":854578800000,"val":-267.3,"ack":1,"_from":0,"q":0},{"id":177,"ts":857084400000,"val":-261.5,"ack":1,"_from":0,"q":0},{"id":177,"ts":859676400000,"val":-251.2,"ack":1,"_from":0,"q":0},{"id":177,"ts":862351200000,"val":-245.7,"ack":1,"_from":0,"q":0},{"id":177,"ts":864943200000,"val":-245.1,"ack":1,"_from":0,"q":0},{"id":177,"ts":867621600000,"val":-236.4,"ack":1,"_from":0,"q":0},{"id":177,"ts":870213600000,"val":-236.9,"ack":1,"_from":0,"q":0},{"id":177,"ts":872892000000,"val":-235.6,"ack":1,"_from":0,"q":0},{"id":177,"ts":875570400000,"val":-228.1,"ack":1,"_from":0,"q":0},{"id":177,"ts":878166000000,"val":-227.4,"ack":1,"_from":0,"q":0},{"id":177,"ts":880844400000,"val":-216.7,"ack":1,"_from":0,"q":0},
        

        Folglich werden (wei von apollon gesagt) die 3x 0 wieder angehängt.

        Aber die Werte kommen trotzdem in flot nicht an (siehe oben).

        Liegt das Problem bei flot (und nicht bei sql) ??


        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
        Danke.
        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
        ScreenToGif :https://www.screentogif.com/downloads.html

        1 Antwort Letzte Antwort
        0
        • bahnuhrB Offline
          bahnuhrB Offline
          bahnuhr
          Forum Testing Most Active
          schrieb am zuletzt editiert von
          #18

          Hallo an alle.

          Nochmal die Frage ganz konkret.

          Werte vor 01.01.2000 werden in sql gespeichert.
          Wie bekommt man es hin, dass diese auch angezeigt werden in flot ?


          Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
          Danke.
          gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
          ScreenToGif :https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • apollon77A Offline
            apollon77A Offline
            apollon77
            schrieb am zuletzt editiert von
            #19

            Ich könnte mir vorstellen das das hier der Grund ist

            https://github.com/ioBroker/ioBroker.sql/blob/c4df5fa0e25610dfcb3e245f8140331dea35022f/main.js#L1858-L1861

            Das denke ich macht keinen Sinn weil die Daten ja aus der DB kommen.

            Nimm das mal bitte Testweise bei dir raus. tuts dann?

            Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

            • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
            • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
            F bahnuhrB 2 Antworten Letzte Antwort
            0
            • apollon77A apollon77

              Ich könnte mir vorstellen das das hier der Grund ist

              https://github.com/ioBroker/ioBroker.sql/blob/c4df5fa0e25610dfcb3e245f8140331dea35022f/main.js#L1858-L1861

              Das denke ich macht keinen Sinn weil die Daten ja aus der DB kommen.

              Nimm das mal bitte Testweise bei dir raus. tuts dann?

              F Offline
              F Offline
              fastfoot
              schrieb am zuletzt editiert von
              #20

              @apollon77 sagte in SQL - Wert per Script speichern:

              ...weil die Daten ja aus der DB kommen.

              das macht auch anders keinen Sinn, die Prüfung müsste auf < 946681200 lauten, nicht < 946681200000. Auch 946681199999 sind immer noch ms

              iobroker läuft unter Docker auf QNAP TS-451+
              SkriptRecovery: https://forum.iobroker.net/post/930558

              1 Antwort Letzte Antwort
              0
              • apollon77A apollon77

                Ich könnte mir vorstellen das das hier der Grund ist

                https://github.com/ioBroker/ioBroker.sql/blob/c4df5fa0e25610dfcb3e245f8140331dea35022f/main.js#L1858-L1861

                Das denke ich macht keinen Sinn weil die Daten ja aus der DB kommen.

                Nimm das mal bitte Testweise bei dir raus. tuts dann?

                bahnuhrB Offline
                bahnuhrB Offline
                bahnuhr
                Forum Testing Most Active
                schrieb am zuletzt editiert von
                #21

                @apollon77
                @fastfoot

                Habe etliches funktioniert.
                Folgendes Testscript:

                // Wert schreiben
                    var theDate = new Date("30 june 1999");
                    var ts_wert = theDate.getTime();
                    log (ts_wert);
                    if (ts_wert < 946681200000) { ts_wert = ts_wert / 1000 };
                    log (ts_wert);
                    sendTo('sql.0', 'storeState', {id: 'javascript.0.Sonstige.testsql', state: {val: -80, ts: ts_wert, ack:true}});
                

                Wenn ich durch 1000 teile (9 Stellen), werden in sql 3x0 automatisch angehängt (also dann wieder 12 Stellen).
                Wenn ich * 1000 nehme, dann werden nochmals 3x0 angehängt (also dann 15 Stellen).

                Wenn ich alle Werte abrufe sieht man dies:

                19:07:23.372	info	javascript.0 (31981) script.js.Scripte.test5: Rows: [{"id":179,"ts":930693600000,"val":-80,"ack":1,"_from":0,"q":0},{"id":179,"ts":1620666302479,"val":30,"ack":0,"_from":16,"q":0},{"id":179,"ts":930693600000000,"val":-80,"ack":1,"_from":0,"q":0}]
                

                Aber in flot erscheint am 30.06.1999 kein Wert:
                163a8c68-cda5-4e77-bf1c-e32e43aaebb8-image.png

                Fazit für mich:
                /1000 teilen und sql setzt 3x0 dazu. Bei Abfrage der Daten scheint der Wert richtig zu sein.
                Aber in flot kommt dies nicht an.

                mfg
                Dieter


                Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                Danke.
                gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                ScreenToGif :https://www.screentogif.com/downloads.html

                apollon77A 1 Antwort Letzte Antwort
                0
                • bahnuhrB bahnuhr

                  @apollon77
                  @fastfoot

                  Habe etliches funktioniert.
                  Folgendes Testscript:

                  // Wert schreiben
                      var theDate = new Date("30 june 1999");
                      var ts_wert = theDate.getTime();
                      log (ts_wert);
                      if (ts_wert < 946681200000) { ts_wert = ts_wert / 1000 };
                      log (ts_wert);
                      sendTo('sql.0', 'storeState', {id: 'javascript.0.Sonstige.testsql', state: {val: -80, ts: ts_wert, ack:true}});
                  

                  Wenn ich durch 1000 teile (9 Stellen), werden in sql 3x0 automatisch angehängt (also dann wieder 12 Stellen).
                  Wenn ich * 1000 nehme, dann werden nochmals 3x0 angehängt (also dann 15 Stellen).

                  Wenn ich alle Werte abrufe sieht man dies:

                  19:07:23.372	info	javascript.0 (31981) script.js.Scripte.test5: Rows: [{"id":179,"ts":930693600000,"val":-80,"ack":1,"_from":0,"q":0},{"id":179,"ts":1620666302479,"val":30,"ack":0,"_from":16,"q":0},{"id":179,"ts":930693600000000,"val":-80,"ack":1,"_from":0,"q":0}]
                  

                  Aber in flot erscheint am 30.06.1999 kein Wert:
                  163a8c68-cda5-4e77-bf1c-e32e43aaebb8-image.png

                  Fazit für mich:
                  /1000 teilen und sql setzt 3x0 dazu. Bei Abfrage der Daten scheint der Wert richtig zu sein.
                  Aber in flot kommt dies nicht an.

                  mfg
                  Dieter

                  apollon77A Offline
                  apollon77A Offline
                  apollon77
                  schrieb am zuletzt editiert von
                  #22

                  @bahnuhr hä?!! Hast du mal die con mir genannten Zeilen bei dir entfernt und Adapter sql neu gestartet??

                  Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                  • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                  • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                  bahnuhrB 1 Antwort Letzte Antwort
                  0
                  • apollon77A apollon77

                    @bahnuhr hä?!! Hast du mal die con mir genannten Zeilen bei dir entfernt und Adapter sql neu gestartet??

                    bahnuhrB Offline
                    bahnuhrB Offline
                    bahnuhr
                    Forum Testing Most Active
                    schrieb am zuletzt editiert von
                    #23

                    @apollon77

                    So, alle Daten in sql gelöscht.
                    Beim lesen der Werte kommt nur ein leeres Array:
                    69099711-8a6b-4b23-a1ed-6db82ae4ed7f-image.png

                    SQL neu gestartet.

                    Dann folgendes Script (ohne Prüfung < ....):

                       var theDate = new Date("30 june 1999");
                        var ts_wert = theDate.getTime();
                        log (ts_wert);
                        //if (ts_wert < 946681200000) { ts_wert = ts_wert / 1000 };
                        //log (ts_wert);
                        sendTo('sql.0', 'storeState', {id: 'javascript.0.Sonstige.testsql', state: {val: -80, ts: ts_wert, ack:true}});
                    

                    Beim Lesen der Werte kommt nun:

                    21:38:04.119	info	javascript.0 (31981) script.js.Scripte.test5: Rows: [{"id":179,"ts":930693600000000,"val":-80,"ack":1,"_from":0,"q":0}]
                    

                    15 Stellen (kann das richtig sein ???

                    Und in flot kommt auch nichts an !


                    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                    Danke.
                    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                    ScreenToGif :https://www.screentogif.com/downloads.html

                    F apollon77A 2 Antworten Letzte Antwort
                    0
                    • bahnuhrB bahnuhr

                      @apollon77

                      So, alle Daten in sql gelöscht.
                      Beim lesen der Werte kommt nur ein leeres Array:
                      69099711-8a6b-4b23-a1ed-6db82ae4ed7f-image.png

                      SQL neu gestartet.

                      Dann folgendes Script (ohne Prüfung < ....):

                         var theDate = new Date("30 june 1999");
                          var ts_wert = theDate.getTime();
                          log (ts_wert);
                          //if (ts_wert < 946681200000) { ts_wert = ts_wert / 1000 };
                          //log (ts_wert);
                          sendTo('sql.0', 'storeState', {id: 'javascript.0.Sonstige.testsql', state: {val: -80, ts: ts_wert, ack:true}});
                      

                      Beim Lesen der Werte kommt nun:

                      21:38:04.119	info	javascript.0 (31981) script.js.Scripte.test5: Rows: [{"id":179,"ts":930693600000000,"val":-80,"ack":1,"_from":0,"q":0}]
                      

                      15 Stellen (kann das richtig sein ???

                      Und in flot kommt auch nichts an !

                      F Offline
                      F Offline
                      fastfoot
                      schrieb am zuletzt editiert von
                      #24

                      @bahnuhr sagte in SQL - Wert per Script speichern:

                      15 Stellen (kann das richtig sein ???
                      Und in flot kommt auch nichts an !

                      verantwortlich für die 15 Stellen sind die Zeilen 1543 - 1547. Aber auch nach Auskommentierung dieser Zeilen (die Zeit steht dann richtig in der DB) bekomme ich in Flot kein Ergebnis. Letztlich ist es das gleiche Ergebnis welches Du schon mit der Division durch 1000 im Skript erreicht hattest. Ich würde meinen dass Flot hier ein Problem hat

                      iobroker läuft unter Docker auf QNAP TS-451+
                      SkriptRecovery: https://forum.iobroker.net/post/930558

                      bahnuhrB 1 Antwort Letzte Antwort
                      0
                      • F fastfoot

                        @bahnuhr sagte in SQL - Wert per Script speichern:

                        15 Stellen (kann das richtig sein ???
                        Und in flot kommt auch nichts an !

                        verantwortlich für die 15 Stellen sind die Zeilen 1543 - 1547. Aber auch nach Auskommentierung dieser Zeilen (die Zeit steht dann richtig in der DB) bekomme ich in Flot kein Ergebnis. Letztlich ist es das gleiche Ergebnis welches Du schon mit der Division durch 1000 im Skript erreicht hattest. Ich würde meinen dass Flot hier ein Problem hat

                        bahnuhrB Offline
                        bahnuhrB Offline
                        bahnuhr
                        Forum Testing Most Active
                        schrieb am zuletzt editiert von bahnuhr
                        #25

                        @fastfoot sagte in SQL - Wert per Script speichern:

                        Ich würde meinen dass Flot hier ein Problem hat

                        sehe ich auch so.
                        Und hatte ich ja oben schon vermerkt.

                        Ist jetzt nur die Frage, wer kann da helfen ?
                        @apollon77 ?? - noch ne Idee


                        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                        Danke.
                        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                        ScreenToGif :https://www.screentogif.com/downloads.html

                        1 Antwort Letzte Antwort
                        0
                        • bahnuhrB bahnuhr

                          @apollon77

                          So, alle Daten in sql gelöscht.
                          Beim lesen der Werte kommt nur ein leeres Array:
                          69099711-8a6b-4b23-a1ed-6db82ae4ed7f-image.png

                          SQL neu gestartet.

                          Dann folgendes Script (ohne Prüfung < ....):

                             var theDate = new Date("30 june 1999");
                              var ts_wert = theDate.getTime();
                              log (ts_wert);
                              //if (ts_wert < 946681200000) { ts_wert = ts_wert / 1000 };
                              //log (ts_wert);
                              sendTo('sql.0', 'storeState', {id: 'javascript.0.Sonstige.testsql', state: {val: -80, ts: ts_wert, ack:true}});
                          

                          Beim Lesen der Werte kommt nun:

                          21:38:04.119	info	javascript.0 (31981) script.js.Scripte.test5: Rows: [{"id":179,"ts":930693600000000,"val":-80,"ack":1,"_from":0,"q":0}]
                          

                          15 Stellen (kann das richtig sein ???

                          Und in flot kommt auch nichts an !

                          apollon77A Offline
                          apollon77A Offline
                          apollon77
                          schrieb am zuletzt editiert von
                          #26

                          @bahnuhr Grmpf ... Du solltest keine Daten löschen und solltest auch nichts am Schreib.-Skript ändern. Das muss so sein. Du solltest NUR die eine Stelle in der main,.js im SQL Adapter ändern der beim Daten lesen den timestamp blöd kaputt macht

                          Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                          • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                          • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                          F bahnuhrB 2 Antworten Letzte Antwort
                          0
                          • apollon77A apollon77

                            @bahnuhr Grmpf ... Du solltest keine Daten löschen und solltest auch nichts am Schreib.-Skript ändern. Das muss so sein. Du solltest NUR die eine Stelle in der main,.js im SQL Adapter ändern der beim Daten lesen den timestamp blöd kaputt macht

                            F Offline
                            F Offline
                            fastfoot
                            schrieb am zuletzt editiert von
                            #27

                            @apollon77 sagte in SQL - Wert per Script speichern:

                            @bahnuhr Grmpf ... Du solltest keine Daten löschen und solltest auch nichts am Schreib.-Skript ändern. Das muss so sein. Du solltest NUR die eine Stelle in der main,.js im SQL Adapter ändern der beim Daten lesen den timestamp blöd kaputt macht

                            Ich hatte das ja gemacht und es hat nichts gebracht. Beim Schreiben wird der ts ja bereits mit 1000 multipliziert(Zeile 1546) so dass Zeile 1858 eh nie wahr wird. Belässt man das Script aber mit der Teilung durch 1000, so ist der ts in der DB ja richtig, aber auch da bringt das Auskommentieren nichts. Flot erkennt auch bei mir nur Daten >= 1.1.2000

                            iobroker läuft unter Docker auf QNAP TS-451+
                            SkriptRecovery: https://forum.iobroker.net/post/930558

                            1 Antwort Letzte Antwort
                            0
                            • apollon77A apollon77

                              @bahnuhr Grmpf ... Du solltest keine Daten löschen und solltest auch nichts am Schreib.-Skript ändern. Das muss so sein. Du solltest NUR die eine Stelle in der main,.js im SQL Adapter ändern der beim Daten lesen den timestamp blöd kaputt macht

                              bahnuhrB Offline
                              bahnuhrB Offline
                              bahnuhr
                              Forum Testing Most Active
                              schrieb am zuletzt editiert von bahnuhr
                              #28

                              @apollon77

                              Hast du es denn auch mal nachvollzogen.
                              Wir sind offensichtlich der Meinung es liegt an flot.

                              Kannst du da mal nachschauen.

                              Danke.

                              Wäre doch schön, wenn man die Daten < 2000 auch in flot angezeigt bekommen könnte.

                              P.S.
                              Habe eben mal ein issue erstellt im Adapter "flot"


                              Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                              Danke.
                              gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                              ScreenToGif :https://www.screentogif.com/downloads.html

                              apollon77A 1 Antwort Letzte Antwort
                              0
                              • bahnuhrB bahnuhr

                                @apollon77

                                Hast du es denn auch mal nachvollzogen.
                                Wir sind offensichtlich der Meinung es liegt an flot.

                                Kannst du da mal nachschauen.

                                Danke.

                                Wäre doch schön, wenn man die Daten < 2000 auch in flot angezeigt bekommen könnte.

                                P.S.
                                Habe eben mal ein issue erstellt im Adapter "flot"

                                apollon77A Offline
                                apollon77A Offline
                                apollon77
                                schrieb am zuletzt editiert von
                                #29

                                @bahnuhr Ok, da muss man tiefer reinschauen. ich würde ja mal testen ob den ein sendTo "getHistory" mit den richtigen Werte die Daten lieefert oder nicht - und mein Change solte sicherstellen das die Daten richtig kommen. Wenn die richtig kommen DANN ist es in Flot. Wenn die Daten nicht kommen ist es in sql.-

                                Ich bin aber ehrlich: meine Todo liste ist gerade übervoll und habe gerade jicht die Zeit da tief reinzuschauen. Von daher Issue ist wohl korrekt. je weiter Ihr selbst kommt umso besser ... zew .. HAHA ... https://github.com/ioBroker/ioBroker.flot/blob/master/src/js/data.js#L445

                                Da ist ein sch**** Interoperabilty Thema mit dem s->ms hack :-((

                                In meiner Welt muss in getHistory diese Zeile raus und in Flot auch

                                Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                                • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                                • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                                bahnuhrB 1 Antwort Letzte Antwort
                                0
                                • apollon77A apollon77

                                  @bahnuhr Ok, da muss man tiefer reinschauen. ich würde ja mal testen ob den ein sendTo "getHistory" mit den richtigen Werte die Daten lieefert oder nicht - und mein Change solte sicherstellen das die Daten richtig kommen. Wenn die richtig kommen DANN ist es in Flot. Wenn die Daten nicht kommen ist es in sql.-

                                  Ich bin aber ehrlich: meine Todo liste ist gerade übervoll und habe gerade jicht die Zeit da tief reinzuschauen. Von daher Issue ist wohl korrekt. je weiter Ihr selbst kommt umso besser ... zew .. HAHA ... https://github.com/ioBroker/ioBroker.flot/blob/master/src/js/data.js#L445

                                  Da ist ein sch**** Interoperabilty Thema mit dem s->ms hack :-((

                                  In meiner Welt muss in getHistory diese Zeile raus und in Flot auch

                                  bahnuhrB Offline
                                  bahnuhrB Offline
                                  bahnuhr
                                  Forum Testing Most Active
                                  schrieb am zuletzt editiert von
                                  #30

                                  @apollon77 sagte in SQL - Wert per Script speichern:

                                  In meiner Welt muss in getHistory diese Zeile raus und in Flot auch

                                  Danke für die Erläuterung.
                                  Ich schau es mir an und berichte dann.


                                  Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                  Danke.
                                  gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                  ScreenToGif :https://www.screentogif.com/downloads.html

                                  1 Antwort Letzte Antwort
                                  1
                                  • bahnuhrB Offline
                                    bahnuhrB Offline
                                    bahnuhr
                                    Forum Testing Most Active
                                    schrieb am zuletzt editiert von
                                    #31

                                    @apollon77
                                    @fastfoot

                                    So, ich habe mal per winscp die Zeilen
                                    6720a716-9886-4f3a-b018-eb2f5b883268-image.png
                                    in der Datei:
                                    opt/iobroker/node-modules/iobroker.sql/main.js
                                    auskommentiert.

                                    Dann iob komplett neu gestartet.

                                    Danach Wert per Script geschrieben.
                                    Es werden aber immer noch 3 x 0 angehängt.

                                    Was mache ich da falsch?
                                    Warum wird das Script in der main.js immer noch abgearbeitet obwohl die Zeilen doch auskommentiert sind.

                                    Ich versteh es gerade nicht.
                                    Oder hab ich die falsche Datei?


                                    Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                    Danke.
                                    gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                    ScreenToGif :https://www.screentogif.com/downloads.html

                                    F 1 Antwort Letzte Antwort
                                    0
                                    • bahnuhrB bahnuhr

                                      @apollon77
                                      @fastfoot

                                      So, ich habe mal per winscp die Zeilen
                                      6720a716-9886-4f3a-b018-eb2f5b883268-image.png
                                      in der Datei:
                                      opt/iobroker/node-modules/iobroker.sql/main.js
                                      auskommentiert.

                                      Dann iob komplett neu gestartet.

                                      Danach Wert per Script geschrieben.
                                      Es werden aber immer noch 3 x 0 angehängt.

                                      Was mache ich da falsch?
                                      Warum wird das Script in der main.js immer noch abgearbeitet obwohl die Zeilen doch auskommentiert sind.

                                      Ich versteh es gerade nicht.
                                      Oder hab ich die falsche Datei?

                                      F Offline
                                      F Offline
                                      fastfoot
                                      schrieb am zuletzt editiert von
                                      #32

                                      @bahnuhr sagte in SQL - Wert per Script speichern:

                                      @apollon77
                                      @fastfoot
                                      Es werden aber immer noch 3 x 0 angehängt.

                                      ich hatte es in Post 24 erklärt. Deine Änderung wirkt sich beim Lesen der Daten aus, bzw mMn nach eben nicht weil die Daten in der DB durch Zeile 1547 den 1000fachen Wert haben. Ich fürchte für mich ist das eine Nummer zu hoch.

                                      Aber befolge doch mal was apollon rät und mache eine Abfrage mit getHistory, belasse dazu den SQL Adapter so wie du ihn geändert hast

                                      iobroker läuft unter Docker auf QNAP TS-451+
                                      SkriptRecovery: https://forum.iobroker.net/post/930558

                                      bahnuhrB 1 Antwort Letzte Antwort
                                      0
                                      • F fastfoot

                                        @bahnuhr sagte in SQL - Wert per Script speichern:

                                        @apollon77
                                        @fastfoot
                                        Es werden aber immer noch 3 x 0 angehängt.

                                        ich hatte es in Post 24 erklärt. Deine Änderung wirkt sich beim Lesen der Daten aus, bzw mMn nach eben nicht weil die Daten in der DB durch Zeile 1547 den 1000fachen Wert haben. Ich fürchte für mich ist das eine Nummer zu hoch.

                                        Aber befolge doch mal was apollon rät und mache eine Abfrage mit getHistory, belasse dazu den SQL Adapter so wie du ihn geändert hast

                                        bahnuhrB Offline
                                        bahnuhrB Offline
                                        bahnuhr
                                        Forum Testing Most Active
                                        schrieb am zuletzt editiert von
                                        #33

                                        @fastfoot sagte in SQL - Wert per Script speichern:

                                        Abfrage mit getHistory

                                        Was ist damit gemeint ?

                                        @apollon77 sagte in SQL - Wert per Script speichern:

                                        https://github.com/ioBroker/ioBroker.flot/blob/master/src/js/data.js#L445

                                        Ich finde diese Datei weder unter "...iobroker-data" als auch unter "...node_modules"
                                        Folglich weiß ich nun nicht wo etwas zu ändern ist.

                                        Fazit:
                                        Ich glaube das ist zu hoch für mich.
                                        Würde dies ja gerne hinbekommen; klappt aber nicht.


                                        Wenn ich helfen konnte, dann Daumen hoch (Pfeil nach oben)!
                                        Danke.
                                        gute Forenbeiträge: https://forum.iobroker.net/topic/51555/hinweise-f%C3%BCr-gute-forenbeitr%C3%A4ge
                                        ScreenToGif :https://www.screentogif.com/downloads.html

                                        F 1 Antwort Letzte Antwort
                                        0
                                        • bahnuhrB bahnuhr

                                          @fastfoot sagte in SQL - Wert per Script speichern:

                                          Abfrage mit getHistory

                                          Was ist damit gemeint ?

                                          @apollon77 sagte in SQL - Wert per Script speichern:

                                          https://github.com/ioBroker/ioBroker.flot/blob/master/src/js/data.js#L445

                                          Ich finde diese Datei weder unter "...iobroker-data" als auch unter "...node_modules"
                                          Folglich weiß ich nun nicht wo etwas zu ändern ist.

                                          Fazit:
                                          Ich glaube das ist zu hoch für mich.
                                          Würde dies ja gerne hinbekommen; klappt aber nicht.

                                          F Offline
                                          F Offline
                                          fastfoot
                                          schrieb am zuletzt editiert von
                                          #34

                                          @bahnuhr sagte in SQL - Wert per Script speichern:

                                          @fastfoot sagte in SQL - Wert per Script speichern:

                                          Abfrage mit getHistory

                                          Was ist damit gemeint ?

                                          @apollon77 sagte in SQL - Wert per Script speichern:

                                          https://github.com/ioBroker/ioBroker.flot/blob/master/src/js/data.js#L445

                                          Ich finde diese Datei weder unter "...iobroker-data" als auch unter "...node_modules"
                                          Folglich weiß ich nun nicht wo etwas zu ändern ist.

                                          Das läuft wohl anders als bei herkömmlichen Adaptern. Die Datei ist kaum lesbar(minified?). Ich habe sie bei mir geändert indem ich die Prüfung auf viel kleinere Werte geändert habe. Danach habe ich auch Werte in Flot gesehen, allerdings war das Datum um 1 Monat verschoben und in der DB musste der ts trotzdem in Sekunden eingetragen sein.

                                          Fazit:
                                          Ich glaube das ist zu hoch für mich.
                                          Würde dies ja gerne hinbekommen; klappt aber nicht.

                                          Mein Fazit: Das ist zu hoch für uns, zuviele Komponenten die da wohl am Datum rumhacken, zu wenig Ahnung von der Materie, fehlende Tools (und Ahnung davon) um den Adapter Flot Source vernünftig zu ändern. Zu alledem habe ich Probleme mich überhaupt in Flot zurecht zu finden. Ich habe Flot wieder gelöscht und gebe auf, das dauert wohl noch eine Zeit lang bis ich da wirklich mitmischen kann :-(

                                          Mit getHistory() war wohl die Abfrage sendTo("sql.0", "getHistory",....) gemeint.

                                          iobroker läuft unter Docker auf QNAP TS-451+
                                          SkriptRecovery: https://forum.iobroker.net/post/930558

                                          bahnuhrB 1 Antwort Letzte Antwort
                                          1
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          369

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe