Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Datenbankabfragen nach Wechsel von sqlite zu MySQL

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [gelöst] Datenbankabfragen nach Wechsel von sqlite zu MySQL

    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      CaneTLOTW last edited by CaneTLOTW

      Ich nutze seit Ewigkeiten die Arte der Datenbankabfrage, wie in dem alten verlinkten Beitrag:
      Re: [gelöst] Min /Max Temperatursensor

      Beispiel aus meiner Abfrage, die unter sqlite problemlos lief und jetzt nicht mehr will:

      //-----  SQL-Abfrage durchführen
      function SQLAbfrage () {
          log('2. ) Datenpunkt => ' + id);
          log('2a.) Abfrage    => SELECT * FROM datapoints WHERE name = \'' + id + '\'');
          sendTo('sql.0', 'query', 'SELECT * FROM datapoints WHERE name = \'' + id + '\'', GetResults);
      }
      //---------------------------------------
      
      function GetResults (dpoint) {
          log('3. ) Funktion -> GetResults aufrufen');
          var end_time =   new Date().getTime();
          var start_time = new Date().getTime() - dt;
          log('3a.) Startzeit : ' + start_time);
          log('3b.) Endzeit   : ' + end_time);
          log('     Datenpunkt: ' + dpoint.result);
          log('3c.) result    : ' + JSON.stringify(dpoint.result) + ' -//- ' + start_time);
          log('     Datenpunkt: ' + dpoint.result[0].id + ' ---//--- ' + dpoint.result[0].name);
          sendTo('sql.0', 'query', 'SELECT Round(Avg(val),1) As AvgVal FROM ts_number WHERE ts >= ' + start_time + ' AND id=' + dpoint.result[0].id + ' GROUP BY id',average);
          sendTo('sql.0', 'query', 'SELECT Round(Max(val),1) As MaxVal FROM ts_number WHERE ts >= ' + start_time + ' AND id=' + dpoint.result[0].id + ' GROUP BY id',maximum);
          sendTo('sql.0', 'query', 'SELECT Round(Min(val),1) As MinVal FROM ts_number WHERE ts >= ' + start_time + ' AND id=' + dpoint.result[0].id + ' GROUP BY id',minimum);
      }
      

      Nach der Umstellung auf MySQL klappt dies jedoch nicht mehr.

      Hier die Meldung:

      javascript.0 (559) TypeError: Cannot read property 'val' of undefined at Object.GetResults [as cb] (script.js.common.Wind_hourly:36:45) at change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:4694:71) at Immediate.setImmediate (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:224:41) at runCallback (timers.js:705:18) at tryOnImmediate (timers.js:676:5) at processImmediate (timers.js:658:5) 
      

      Das lässt sich doch bestimmt beheben 😉

      Vielen Dank!

      Segway 1 Reply Last reply Reply Quote 0
      • Segway
        Segway @CaneTLOTW last edited by

        @CaneTLOTW
        Mhhh, das ist ein alter Thread ... evtl. ist da bei der Forumsmigration was "verschütt" gegangen ?

        1 Reply Last reply Reply Quote 0
        • C
          CaneTLOTW last edited by

          Weiß nicht genau, was du damit meinst. Lief ja alles bis zur heutigen Umstellung der Datenbank.

          Der ausgelesene Wert - ID des Datenpunkts in der Datenbank kommt schienbar unter MySQL als undefined zurück und kann daher nicht weiter ausgewertet werden...

          Antwort:

          	script.js.common.Temp_24_Min_Max: Datenpunkt: undefined
          
          1 Reply Last reply Reply Quote 0
          • C
            CaneTLOTW last edited by

            Ok, selber die Lösung gefunden!

            War sogar in dem alten Beitrag enthalten....

            Es muss der Verweis auf den Namen der DB hinzugefügt werden!

            iobroker.datapoints anstelle von datapoints

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate

            518
            Online

            31.8k
            Users

            80.0k
            Topics

            1.3m
            Posts

            javascript
            2
            4
            343
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo