Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. History überarbeitet

    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

    History überarbeitet

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

      Hi Bluefox,

      muss da noch ein

      iobroker upload sql
      

      hin, oder geht das auch so (da der Adapter schon da ist)?

      Gruß,

      Eric

      1 Reply Last reply Reply Quote 0
      • eric2905
        eric2905 last edited by

        So, update ist durch.

        Direkt nach dem Start kamen nochmal einige Meldungen :

        ` > sql.0 2015-12-06 18:39:08 info sql.0 enabled logging of hm-rega.0.41482

        sql.0 2015-12-06 18:39:08 info sql.0 enabled logging of hm-rpc.0.xxxxxxxxxx.1.POWER

        […]

        sql.0 2015-12-06 18:39:08 info sql.0 enabled logging of hm-rpc.0.xxxxxxxxxx.1.TEMPERATURE

        sql.0 2015-12-06 18:39:08 info sql.0 enabled logging of hm-rpc.0.xxxxxxxxxx.1.HUMIDITY

        sql.0 2015-12-06 18:39:08 info sql.0 enabled logging of system.host.cubietruck.load

        sql.0 2015-12-06 18:39:08 info sql.0 enabled logging of system.host.cubietruck.mem

        sql.0 2015-12-06 18:39:08 info sql.0 Connected to sqlite

        sql.0 2015-12-06 18:39:07 info sql.0 starting. Version 0.0.2 in /opt/iobroker/node_modules/iobroker.sql

        host-cubietruck 2015-12-06 18:38:59 info instance system.adapter.sql.0 started with pid 5980

        host-cubietruck 2015-12-06 18:38:56 info instance system.adapter.sql.0 terminated with code 0 (OK)

        sql-0 2015-12-06 18:38:56 info terminating

        host-cubietruck 2015-12-06 18:38:56 info stopInstance system.adapter.sql.0 killing pid 5965

        host-cubietruck 2015-12-06 18:38:56 info stopInstance system.adapter.sql.0

        host-cubietruck 2015-12-06 18:38:56 info object change system.adapter.sql.0

        sql-0 2015-12-06 18:38:45 error Cannot delete DELETE FROM ts_number WHERE id=21 AND ts < 1449337080;: Error: SQLITE_BUSY: database is locked

        sql-0 2015-12-06 18:38:40 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(1, 1449423508000, 20, 1, 1, 0);: Error: SQLITE_BUSY: database is locked

        sql-0 2015-12-06 18:38:20 warn Cannot get index of 'hm-rpc.0.IEQ0150728.1.TEMPERATURE': Error: SQLITE_BUSY: database is locked

        sql-0 2015-12-06 18:38:20 error Cannot select SELECT id, type FROM datapoints WHERE name='hm-rpc.0.IEQ0150728.1.TEMPERATURE';: Error: SQLITE_BUSY: database is locked

        host-cubietruck 2015-12-06 18:38:17 info Update repository 'default' under 'conf/sources-dist.json'

        sql-0 2015-12-06 18:38:00 info Connected to sqlite

        sql-0 2015-12-06 18:38:00 info enabled logging of hm-rega.0.41482

        sql-0 2015-12-06 18:38:00 info enabled logging of hm-rpc.0.xxxxxxxxxx.1.POWER

        […]

        sql-0 2015-12-06 18:38:00 info enabled logging of system.host.cubietruck.load

        sql-0 2015-12-06 18:38:00 info enabled logging of system.host.cubietruck.mem

        sql-0 2015-12-06 18:38:00 info starting. Version 0.0.2 in /opt/iobroker/node_modules/iobroker.sql

        host-cubietruck 2015-12-06 18:37:51 info instance system.adapter.sql.0 started with pid 5965

        host-cubietruck 2015-12-06 18:37:51 info 'system.adapter.sql.0' enabled

        host-cubietruck 2015-12-06 18:37:51 info object change system.adapter.sql.0 `

        und kurz darauf wieder diese Meldungen:

        ` > sql.0 2015-12-06 18:44:41 warn sql.0 Cannot get index of 'hm-rpc.0.xxxxxxxxxx.3.TEMPERATURE': Error: SQLITE_BUSY: database is locked

        sql.0 2015-12-06 18:44:41 error sql.0 Cannot select SELECT id, type FROM datapoints WHERE name='hm-rpc.0.LEQ0773872.3.TEMPERATURE';: Error: SQLITE_BUSY: database is locked

        sql.0 2015-12-06 18:42:49 error sql.0 Cannot delete DELETE FROM ts_number WHERE id=11 AND ts < 1449337320;: Error: SQLITE_BUSY: database is locked

        sql.0 2015-12-06 18:42:48 error sql.0 Cannot delete DELETE FROM ts_number WHERE id=8 AND ts < 1449337320;: Error: SQLITE_BUSY: database is locked

        sql.0 2015-12-06 18:42:34 warn sql.0 Cannot get index of 'hm-rpc.0.xxxxxxxxxx.3.TEMPERATURE': Error: SQLITE_BUSY: database is locked

        sql.0 2015-12-06 18:42:34 error sql.0 Cannot select SELECT id, type FROM datapoints WHERE name='hm-rpc.0.LEQ0773872.3.TEMPERATURE';: Error: SQLITE_BUSY: database is locked

        sql.0 2015-12-06 18:41:40 error sql.0 Cannot delete DELETE FROM ts_number WHERE id=17 AND ts < 1449337261;: Error: SQLITE_BUSY: database is locked

        sql.0 2015-12-06 18:40:43 error sql.0 Cannot delete DELETE FROM ts_number WHERE id=14 AND ts < 1449337200;: Error: SQLITE_BUSY: database is locked

        sql.0 2015-12-06 18:40:42 error sql.0 Cannot delete DELETE FROM ts_number WHERE id=6 AND ts < 1449337201;: Error: SQLITE_BUSY: database is locked

        sql.0 2015-12-06 18:40:41 error sql.0 Cannot delete DELETE FROM ts_number WHERE id=23 AND ts < 1449337201;: Error: SQLITE_BUSY: database is locked

        sql.0 2015-12-06 18:40:25 error sql.0 Cannot delete DELETE FROM ts_number WHERE id=33 AND ts < 1449337201;: Error: SQLITE_BUSY: database is locked

        sql.0 2015-12-06 18:40:13 warn sql.0 Cannot get index of 'hm-rpc.0.xxxxxxxxxx.3.TEMPERATURE': Error: SQLITE_BUSY: database is locked

        sql.0 2015-12-06 18:40:13 error sql.0 Cannot select SELECT id, type FROM datapoints WHERE name='hm-rpc.0.xxxxxxxxxx.3.TEMPERATURE';: Error: SQLITE_BUSY: database is locked

        sql.0 2015-12-06 18:39:08 info sql.0 enabled logging of hm-rega.0.41482

        sql.0 2015-12-06 18:39:08 info sql.0 enabled logging of hm-rpc.0.xxxxxxxxxx.1.POWER

        sql.0 2015-12-06 18:39:08 info sql.0 enabled logging of hm-rpc.0.xxxxxxxxxx.1.TEMPERATURE `

        Irgendwas klemmt da noch.

        Es läuft auch sonst nichts mit SQL auf dem Cubietruck - der macht nichts anderes als ioBroker.

        Gruß,

        Eric

        PS:

        Wenn ich versuche, Flot zu installieren, meckert die Installation am Ende, das die Version des History-Adapters >= 0.2.0 sein soll (error 30).

        Ich habe die Version 0.1.3 drauf.

        Hab ich irgendwas überlesen?

        1 Reply Last reply Reply Quote 0
        • S
          starfish last edited by

          @Bluefox:

          Kannst du mit andren Clients dadrauf zugegriffen?

          Ich habe so verstanden, dass MySQL auf dem anderen Rechner läuft. Kannst du vom ioBroker Rechner auf MySQL mit normalem Client zugreifen? `
          ja, kann ich (mit mysql -u xxxx -h 192.168.0.61 -p) , allerdings habe ich jetzt auf dem iobroker testserver ein eigener mysql-server eingerichtet, über localhost müsste es eigentlich problemlos laufen.

          1 Reply Last reply Reply Quote 0
          • sissiwup
            sissiwup last edited by

            Hallo,

            Habe das Update durchgeführt.
            ` > sql.0 Cannot delete DELETE FROM ts_number WHERE id=172 AND ts < 1417897381;: Error: SQLITE_BUSY: database is locked

            sql.0 2015-12-06 21:23:23 error sql.0 Cannot insert INSERT INTO ts_bool (id, ts, val, ack, _from, q) VALUES(112, 1449433400000, 0, 1, 4, 0);: Error: SQLITE_BUSY: database is locked

            sql.0 2015-12-06 21:23:23 error sql.0 Cannot delete DELETE FROM ts_bool WHERE id=111 AND ts < 1417897380;: Error: SQLITE_BUSY: database is locked

            sql.0 2015-12-06 21:23:23 error sql.0 Cannot delete DELETE FROM ts_bool WHERE id=110 AND ts < 1417897380;: Error: SQLITE_BUSY: database is locked

            sql.0 2015-12-06 21:23:21 error sql.0 Cannot select SELECT id, type FROM datapoints WHERE name='ping.0.raspberrypi.192_168_1_11';: Error: SQLITE_BUSY: database is locked `

            1 Reply Last reply Reply Quote 0
            • Thisoft
              Thisoft last edited by

              Hallo,

              ich hatte jetzt auch einmal den Zugriffsfehler:

              ` > sql.0 2015-12-06 21:23:05 error sql.0 Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(10, 1449433373000, 271.35, 1, 1, 0);: Error: SQLITE_BUSY: database is locked

              sql.0 2015-12-06 21:23:04 debug sql.0 INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(1, 1449433373000, 28, 1, 1, 0); `

              Und ich denke, man sieht hier im Vergleich mit dem unmittelbar zuvor (erfolgreich) ausgeführten Statement dass der Grund dafür ist, dass der zweite Datensatz hier mit einem bereits existierenden Timestamp eingefügt werden soll. Die Fehlermeldung "Database locked" ist da natürlich ziemlich irreführend 😉

              @Bluefox: Ich hab's mir zwar im Code mal angeschaut wie Du den Timestamp generierst, aber da sind meine JS-Kenntnisse noch zu rudimentär um herauszufinden warum der doppelt generiert wird :oops:

              1 Reply Last reply Reply Quote 0
              • sissiwup
                sissiwup last edited by

                Kannst du den .timeout auf 11000 setzen?

                Der Pi kann scheinbar nur Sekunden Sleeps und könnte damit ein Problem haben.

                1 Reply Last reply Reply Quote 0
                • sissiwup
                  sissiwup last edited by

                  @Thisoft:

                  Hallo,

                  ich hatte jetzt auch einmal den Zugriffsfehler:

                  ` > sql.0 2015-12-06 21:23:05 error sql.0 Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(10, 1449433373000, 271.35, 1, 1, 0);: Error: SQLITE_BUSY: database is locked

                  sql.0 2015-12-06 21:23:04 debug sql.0 INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(1, 1449433373000, 28, 1, 1, 0); `

                  Und ich denke, man sieht hier im Vergleich mit dem unmittelbar zuvor (erfolgreich) ausgeführten Statement dass der Grund dafür ist, dass der zweite Datensatz hier mit einem bereits existierenden Timestamp eingefügt werden soll. Die Fehlermeldung "Database locked" ist da natürlich ziemlich irreführend 😉

                  @Bluefox: Ich hab's mir zwar im Code mal angeschaut wie Du den Timestamp generierst, aber da sind meine JS-Kenntnisse noch zu rudimentär um herauszufinden warum der doppelt generiert wird :oops: `

                  Kann es daran liegen, dass der Pi keine Millisekunden liefert?

                  1 Reply Last reply Reply Quote 0
                  • eric2905
                    eric2905 last edited by

                    @sissiwup:

                    Kann es daran liegen, dass der Pi keine Millisekunden liefert? `
                    Bei mir läuft ioBroker nicht auf einem Raspberry Pi, sondern auf einem Cubietruck.

                    Oder meinst Du grundsätzlich die ARM-Plattform?

                    Gruß,

                    Eric

                    1 Reply Last reply Reply Quote 0
                    • eric2905
                      eric2905 last edited by

                      @sissiwup:

                      Kannst du den .timeout auf 11000 setzen? `
                      Hab den Wert beim SQL-Adapter geändert - Meldungen ("cannot delete" und "cannot insert") kommen weiterhin.

                      Oder meintest Du am jeweiligen Objekt selber?

                      Gruß,

                      Eric

                      1 Reply Last reply Reply Quote 0
                      • Thisoft
                        Thisoft last edited by

                        Ja, es liegt offensichtlich an den fehlenden Millisekunden. Aber nicht nur auf dem Pi - ich arbeite mit Windows.

                        Ich habe mich aber jetzt noch mal in den Code reingekniet und empfehle Dir folgendes zu testen - wenn Du Dir's zutraust.

                        Und zwar musst Du in der Datei "..\iobroker\node_modules\iobroker.sql\main.js" die Zeile 552:

                        state.ts = parseInt(state.ts, 10) * 1000 + (parseInt(state.ms, 10) || 0);
                        

                        durch die folgende ersetzen:

                            state.ts = parseInt(Date.now());
                        

                        Dann die Datei speichern und den SQL-Adapter neustarten. Dann dürfte es keine doppelten Timestamps mehr geben (und ich hoffe dass ich damit nichts anderes durcheinanderbringe - aber wir sind ja hier noch in der Beta 😉 )

                        Gruß Thilo

                        1 Reply Last reply Reply Quote 0
                        • eric2905
                          eric2905 last edited by

                          Probiere ich morgen früh aus.

                          Gruß,

                          Eric

                          Edit:

                          Nee, bin neugierig - mache es jetzt

                          1 Reply Last reply Reply Quote 0
                          • sissiwup
                            sissiwup last edited by

                            Verbindung an MySQL klappt bei mir nur so:

                            609_bildschirmfoto_2015-12-06_um_22.56.02.png

                            1 Reply Last reply Reply Quote 0
                            • sissiwup
                              sissiwup last edited by

                              Fehler mit mysql:

                              ` > sql.0 2015-12-06 22:57:27 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(53, 1449439045000, VD-12, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'VD' in 'field list'

                              sql.0 2015-12-06 22:57:27 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(50, 1449439045000, W, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'W' in 'field list'

                              sql.0 2015-12-06 22:57:27 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(48, 1449439045000, Windstille, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'Windstille' in 'field list' `

                              1 Reply Last reply Reply Quote 0
                              • eric2905
                                eric2905 last edited by

                                Hat Fehler ausgeworfen:

                                ` > sql.0 2015-12-06 22:59:12 debug inMem message * hm-rega.0.37329

                                sql.0 2015-12-06 22:59:11 debug inMem message * hm-rega.0.37325

                                sql.0 2015-12-06 22:59:11 debug inMem message * hm-rega.0.37324

                                sql.0 2015-12-06 22:59:11 debug inMem message * hm-rega.0.37153

                                sql.0 2015-12-06 22:59:11 debug inMem message * hm-rega.0.36778

                                […]

                                sql.0 2015-12-06 22:59:11 info sql.0 enabled logging of system.host.cubietruck.load

                                sql.0 2015-12-06 22:59:11 info sql.0 enabled logging of system.host.cubietruck.mem

                                sql.0 2015-12-06 22:59:10 info sql.0 Connected to sqlite

                                sql.0 2015-12-06 22:59:10 debug sql.0 Response: {'errno':1,'code':'SQLITE_ERROR'}

                                sql.0 2015-12-06 22:59:10 debug sql.0 CREATE TABLE ts_bool (id INTEGER, ts INTEGER, val BOOLEAN, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts));

                                sql.0 2015-12-06 22:59:10 debug sql.0 Response: {'errno':1,'code':'SQLITE_ERROR'}

                                sql.0 2015-12-06 22:59:10 debug sql.0 CREATE TABLE ts_string (id INTEGER, ts INTEGER, val TEXT, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts));

                                sql.0 2015-12-06 22:59:10 debug sql.0 Response: {'errno':1,'code':'SQLITE_ERROR'}

                                sql.0 2015-12-06 22:59:10 debug sql.0 CREATE TABLE ts_number (id INTEGER, ts INTEGER, val REAL, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts));

                                sql.0 2015-12-06 22:59:10 debug sql.0 Response: {'errno':1,'code':'SQLITE_ERROR'}

                                sql.0 2015-12-06 22:59:10 debug sql.0 CREATE TABLE datapoints (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,name TEXT,type INTEGER);

                                sql.0 2015-12-06 22:59:10 debug sql.0 Response: {'errno':1,'code':'SQLITE_ERROR'}

                                sql.0 2015-12-06 22:59:10 debug sql.0 CREATE TABLE sources (id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, name TEXT);

                                sql.0 2015-12-06 22:59:10 info sql.0 starting. Version 0.0.2 in /opt/iobroker/node_modules/iobroker.sql

                                cubietruck 2015-12-06 22:59:01 info host.cubietruck instance system.adapter.sql.0 started with pid 7364

                                cubietruck 2015-12-06 22:59:01 info host.cubietruck 'system.adapter.sql.0' enabled

                                cubietruck 2015-12-06 22:59:01 info host.cubietruck object change system.adapter.sql.0 `

                                Bin wieder auf Original zurück.

                                Gruß,

                                Eric

                                1 Reply Last reply Reply Quote 0
                                • Thisoft
                                  Thisoft last edited by

                                  @sissiwup: Das ist der gleiche Fehler wie bei uns - bei Dir sogar dreimal der gleiche Timestamp.

                                  @eric: Ja, jetzt wo DU's sagst - die hat er bei mir auch geworfen. Sind aber IMO nicht weiter schlimm. Sagt ja bloß aus dass er die bereits existierenden Tabellen in der Db nicht nochmal anlegen kann. Kommen ja auch nur beim Starten des Adapters. Ich lass die Änderung bei mir drin und teste ob der andere Fehler wieder auftaucht. Vielleicht schau ich auch morgen nochmal ob ich dahinterkomme warum jetzt dieser Fehler auftaucht. Wahrscheinlich ist aber bis dahin Bluefox sowieso schneller 😉

                                  1 Reply Last reply Reply Quote 0
                                  • eric2905
                                    eric2905 last edited by

                                    Eh, bin gerade etwas verwirrt …

                                    Seit dem Test habe ich keine Fehler mehr im Log .... alle INSERTs usw. gehen durch .... wie gesagt, bin wieder auf die Original-Version der main.js zurückgegangen (und hab auch den Adapter neu gestartet) ....

                                    Gruß,

                                    Eric

                                    1 Reply Last reply Reply Quote 0
                                    • sissiwup
                                      sissiwup last edited by

                                      Hallo,

                                      ` > hm-rpc.1 2015-12-07 01:24:54 info hm-rpc.1 xmlrpc -> listDevices 0

                                      sql.0 2015-12-07 01:20:54 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(53, 1449447653333, VD-12, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'VD' in 'field list'

                                      sql.0 2015-12-07 01:20:53 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(52, 1449447652908, 01:00:01 07.12.2015, 1, 3, 0);: Error: ER_PARSE_ERROR: You have an error in your SQL syntax; c

                                      sql.0 2015-12-07 01:20:53 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(50, 1449447652664, SW, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'SW' in 'field list'

                                      sql.0 2015-12-07 01:20:53 error sql.0 Cannot insert INSERT INTO iobroker.ts_string (id, ts, val, ack, _from, q) VALUES(48, 1449447652486, Windstille, 1, 3, 0);: Error: ER_BAD_FIELD_ERROR: Unknown column 'Windstille' in 'field list'

                                      sql.0 2015-12-07 01:20:38 info sql.0 enabled logging of hm-rpc.0.MEQ0288793.1.STATE `

                                      Hier scheint der String nicht korrekt gequotet zu werden ' fehlen.

                                      1 Reply Last reply Reply Quote 0
                                      • sissiwup
                                        sissiwup last edited by

                                        MySQL:

                                        MySQL auf ioBroker

                                        apt-get install mysql-server mysql-client

                                        mysql -uroot -p

                                        CREATE USER 'iobroker‘@’%’ IDENTIFIED BY 'iobroker';

                                        GRANT ALL PRIVILEGES ON * . * TO 'iobroker'@'%';

                                        FLUSH PRIVILEGES;

                                        In /etc/mysql

                                        my.cnf: bind auf ip-Adresse umstellen (dann klappt es auch mit den Nachbarn) 😉

                                        Achtung: iobroker ist so ein "admin". Bei Bedarf weniger Rechte einrichten.

                                        1 Reply Last reply Reply Quote 0
                                        • sissiwup
                                          sissiwup last edited by

                                          lib/mysql.js anpassen:

                                          exports.insert = function (index, state, from, db) {
                                              if (db === 'ts_string') state.val = "'" + state.val + "'";
                                              return "INSERT INTO iobroker." + db + " (id, ts, val, ack, _from, q) VALUES(" + index + ", " + state.ts + ", " + state.val + ", " + (state.ack ? 1 : 0) + ", " + (from || 0) + ", " + state.q + ");";
                                          };
                                          
                                          

                                          Neu ist die Zeile mit dem "if"

                                          1 Reply Last reply Reply Quote 0
                                          • eric2905
                                            eric2905 last edited by

                                            Hmmm, mySQL installieren …

                                            Ich denke, ich warte erst mal auf Bluefox - vielleicht hat er ja eine einfache Idee / Lösung.

                                            Gruß,

                                            Eric

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            966
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            18
                                            149
                                            36572
                                            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