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.
    • 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
                                • S
                                  starfish last edited by

                                  @sissiwup:

                                  Verbindung an MySQL klappt bei mir nur so:

                                  filename="Bildschirmfoto 2015-12-06 um 22.56.02.png" index="0">~~ `

                                  das wars, bei mir klappt die Verbindung endlich auch, wer hätte vermutet, dass gar kein Port angegeben werden darf. (vielleicht wird default zusätzlich auch ausgegeben, wenn im Feld was steht?)

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

                                    @sissiwup:

                                    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'
                                    Danke für Fehlermeldung. Habe meistens numbers getestet. Werde den Fehler fixen.

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

                                      Jetzt funktioniert so langsam alles.

                                      Muss ich den history.0 Adapter deaktivieren, wenn ich sql.0 nutze?

                                      Mit flot klappte es jetzt auch, wenn man mal die Einstellungen verstanden hat:

                                      609_bildschirmfoto_2015-12-07_um_20.55.35.png

                                      Wenn kein Datenpunkt / Messpunkt innerhalb des ausgewählten Fensters liegt, dann läßt flot die Kurve einfach weg …

                                      (SOLL TEMP) Wähle ich hier 1 Tag als Intervall, dann ist die Kurve da.

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

                                        Hallo,

                                        Die Treppenfunktionen bei flot sind verkehrtherum implementiert.

                                        Wenn ich z.B. Folgende Datnepunkte habe:

                                        8:00 10Grad

                                        9:00 10Grad

                                        10:00 12Grad

                                        11:00 12Grad,

                                        Dann hätte ich einen Graphen erwartet, der um 10:00 auf 12 Grad steigt.

                                        Macht er aber nicht, er steigt um 9:00 auf 12 Grad.

                                        Oder mache ich etwas falsch?

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

                                          Es gibt neue Version von SQL-Adapter und flot.

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

                                            Hab den neuen SQL (0.0.3) installiert, aber immer noch die Fehlermeldungen:

                                            ` > sql-0 2015-12-08 08:14:46 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449558876000, 2.5, 1, 2, 0);: Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 08:09:12 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449558541000, -0.9, 1, 2, 0);: Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 08:07:08 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449558418000, 1, 1, 2, 0);: Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 08:04:49 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449558278000, 4.9, 1, 2, 0);: Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 08:02:15 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449558125000, 11.4, 1, 2, 0);: Error: SQLITE_BUSY: database is locked

                                            […]

                                            sql-0 2015-12-08 07:59:28 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449557957000, 11.2, 1, 2, 0);: Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 07:56:26 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449557776000, -0.4, 1, 2, 0);: Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 07:51:47 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449557496000, 2.2, 1, 2, 0);: Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 07:46:10 error Cannot insert INSERT INTO ts_number (id, ts, val, ack, _from, q) VALUES(18, 1449557159000, 1.1, 1, 2, 0);: Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 07:39:10 error Cannot delete DELETE FROM ts_number WHERE id=18 AND ts < 1449470340;: Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 07:38:35 warn Cannot get index of 'hm-rpc.0.xxxxxxxx.1.HUMIDITY': Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 07:38:35 error Cannot select SELECT id, type FROM datapoints WHERE name='hm-rpc.0. xxxxxxxx.1.HUMIDITY';: Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 07:38:35 error Cannot delete DELETE FROM ts_number WHERE id=6 AND ts < 1449470281;: Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 07:38:32 warn Cannot get index of 'hm-rpc.0. xxxxxxxx.1.HUMIDITY': Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 07:38:32 error Cannot select SELECT id, type FROM datapoints WHERE name='hm-rpc.0.JEQ0553734.1.HUMIDITY';: Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 07:38:32 error Cannot delete DELETE FROM ts_number WHERE id=34 AND ts < 1449470281;: Error: SQLITE_BUSY: database is locked

                                            sql-0 2015-12-08 07:38:29 warn Cannot get index of 'hm-rpc.0. xxxxxxxx.1.TEMPERATURE': Error: SQLITE_BUSY: database is locked `

                                            Hab ich evtl. was vergessen?

                                            Gruß,

                                            Eric

                                            PS: Habe den Screenshot jetzt durch einen Log-Auszug ersetzt.

                                            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

                                            414
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

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