NEWS
[gelöst] js-controller 1.2.0 und sql 1.5.6 funktioniert nicht
-
Hallöchen,
hat sich hier zufällig etwas bewegt? Mit dem Update auf js-controller 1.2.0 hab ich die gleichen Probleme mit dem SQL-Adapter.
Kann ich noch etwas zusteuern?
Grüße
Jakob
-
Naja ein Log im Debug Modus mit 1.2.0 wäre echt hilfreich.
Ich kann bisher keine Probleme nachvollziehen
-
Einmal Debug-Log:
sql.0 2017-10-18 21:49:58.715 info enabled logging of hm-rpc.0.updated sql.0 2017-10-18 21:49:58.637 info Connected to mysql sql.0 2017-10-18 21:49:58.636 debug Response: {"code":"ER_TABLE_EXISTS_ERROR","errno":1050,"sqlMessage":"Table 'ts_bool' already exists","sqlState":"42S01","index":0,"sql":"CREATE TABLE `iobroker`.ts_bool (id INTEGER, ts BIGINT, val sql.0 2017-10-18 21:49:58.635 debug CREATE TABLE `iobroker`.ts_bool (id INTEGER, ts BIGINT, val BOOLEAN, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts)); sql.0 2017-10-18 21:49:58.631 debug Response: {"code":"ER_TABLE_EXISTS_ERROR","errno":1050,"sqlMessage":"Table 'ts_string' already exists","sqlState":"42S01","index":0,"sql":"CREATE TABLE `iobroker`.ts_string (id INTEGER, ts BIGINT, v sql.0 2017-10-18 21:49:58.629 debug CREATE TABLE `iobroker`.ts_string (id INTEGER, ts BIGINT, val TEXT, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts)); sql.0 2017-10-18 21:49:58.626 debug Response: {"code":"ER_TABLE_EXISTS_ERROR","errno":1050,"sqlMessage":"Table 'ts_number' already exists","sqlState":"42S01","index":0,"sql":"CREATE TABLE `iobroker`.ts_number (id INTEGER, ts BIGINT, v sql.0 2017-10-18 21:49:58.624 debug CREATE TABLE `iobroker`.ts_number (id INTEGER, ts BIGINT, val REAL, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts)); sql.0 2017-10-18 21:49:58.620 debug Response: {"code":"ER_TABLE_EXISTS_ERROR","errno":1050,"sqlMessage":"Table 'datapoints' already exists","sqlState":"42S01","index":0,"sql":"CREATE TABLE `iobroker`.datapoints (id INTEGER NOT NULL PRI sql.0 2017-10-18 21:49:58.618 debug CREATE TABLE `iobroker`.datapoints (id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, name TEXT, type INTEGER); sql.0 2017-10-18 21:49:58.613 debug Response: {"code":"ER_TABLE_EXISTS_ERROR","errno":1050,"sqlMessage":"Table 'sources' already exists","sqlState":"42S01","index":0,"sql":"CREATE TABLE `iobroker`.sources (id INTEGER NOT NULL PRIMAR sql.0 2017-10-18 21:49:58.610 debug CREATE TABLE `iobroker`.sources (id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, name TEXT); sql.0 2017-10-18 21:49:58.593 debug Response: {"code":"ER_DB_CREATE_EXISTS","errno":1007,"sqlMessage":"Can't create database 'iobroker'; database exists","sqlState":"HY000","index":0,"sql":"CREATE DATABASE `iobroker` DEFAULT CHARACTER sql.0 2017-10-18 21:49:58.574 debug CREATE DATABASE `iobroker` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; sql.0 2017-10-18 21:49:58.191 info starting. Version 1.5.6 in C:/ioBroker/node_modules/iobroker.sql, node: v4.5.0 sql.0 2017-10-18 21:49:58.108 debug statesDB connected sql.0 2017-10-18 21:49:58.050 debug objectDB connected
Der Adapter geht dann wieder auf Rot aber keine weiteren Log-Einträge mehr.
Was ich jetzt kurios finde - sobald ich direkt im Anschluss über die Kommandozeile (wie weiter oben beschrieben) den Adapter mit "… -force -logs" starte, läuft er in der shell sauber und logged auch im iobroker Browser-Log los und macht seinen Job mit seinen x-Einträgen
:?:
Wo könnte ich ansetzen, eine Idee? Ich weiß, ich müsste mal mein NodeJs updaten... lief bisher ohne murren.
-
Die Kombi läuft bei mir ohne Probleme.
Vielleicht reicht mal ein einfacher Reboot des ioBroker Servers.
Gruß
Rainer
-
Versuche erst mal den Reboot … tut fast immer gut.
Was mich etwas irritiert, ist der Hinweis im Log, das alle Tabellen neu angelegt werden sollen, was dann natürlich so nicht geht.
Wo läuft denn Dein SQL-Server und was für ein Server ist es (MySQL, MS SQL, ....)?
Gruß,
Eric
PS: Läuft bei mir ach ohne Probleme.
Von unterwegs getippert
-
Wenn er läuft und rot ist … wenn DU dann einen weiteren Datenpunkt zum logging dazu konfigurierst kommt die meldung das er enabled wurde?
Wie sieht denn das Log aus wenn du es per Kommandozeile startest?
@Eric: Das neu anlegen ist immer so.
-
Danke fürs Feedback.
Reboots hab ich einige hinter mir, leider nicht die Lösung.
Ich fahre auf dem gleichen Host MySQL (okay MariaDB, ein Problem?) und funktionierte in der Vergangenheit, aktuell auch über die Kommandozeile kopfkratz.
Wenn er Rot ist und ich einen weiteren Datenpunkt aktiviere, regt sich leider in keinem Log etwas und es gibt auch kein negatives Feedback beim Einrichten.
So sieht das Log aus der Kommandozeile aus (nur ein Ausschnitt):
C:\ioBroker>node node_modules/iobroker.sql/main.js -force -logs Cannot find module 'pg-native' 2017-10-18 22:27:02.579 - info: sql.0 starting. Version 1.5.6 in C:/ioBroker/node_modules/iobroker.sql, node: v4.5.0 2017-10-18 22:27:02.962 - debug: sql.0 CREATE DATABASE `iobroker` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci; 2017-10-18 22:27:02.982 - debug: sql.0 Response: {"code":"ER_DB_CREATE_EXISTS","errno":1007,"sqlMessage":"Can't create database 'iobroker'; database exists","sqlState":"HY000","index":0,"sql":"CREATE DATABASE `iobroker` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;"} 2017-10-18 22:27:03.002 - debug: sql.0 CREATE TABLE `iobroker`.sources (id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, name TEXT); 2017-10-18 22:27:03.008 - debug: sql.0 Response: {"code":"ER_TABLE_EXISTS_ERROR","errno":1050,"sqlMessage":"Table 'sources' already exists","sqlState":"42S01","index":0,"sql":"CREATE TABLE `iobroker`.sources (id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, name TEXT);"} 2017-10-18 22:27:03.015 - debug: sql.0 CREATE TABLE `iobroker`.datapoints (id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, name TEXT, type INTEGER); 2017-10-18 22:27:03.018 - debug: sql.0 Response: {"code":"ER_TABLE_EXISTS_ERROR","errno":1050,"sqlMessage":"Table 'datapoints' already exists","sqlState":"42S01","index":0,"sql":"CREATE TABLE `iobroker`.datapoints (id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT, name TEXT, type INTEGER);"} 2017-10-18 22:27:03.025 - debug: sql.0 CREATE TABLE `iobroker`.ts_number (id INTEGER, ts BIGINT, val REAL, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts)); 2017-10-18 22:27:03.029 - debug: sql.0 Response: {"code":"ER_TABLE_EXISTS_ERROR","errno":1050,"sqlMessage":"Table 'ts_number' already exists","sqlState":"42S01","index":0,"sql":"CREATE TABLE `iobroker`.ts_number (id INTEGER, ts BIGINT, val REAL, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts));"} 2017-10-18 22:27:03.035 - debug: sql.0 CREATE TABLE `iobroker`.ts_string (id INTEGER, ts BIGINT, val TEXT, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts)); 2017-10-18 22:27:03.039 - debug: sql.0 Response: {"code":"ER_TABLE_EXISTS_ERROR","errno":1050,"sqlMessage":"Table 'ts_string' already exists","sqlState":"42S01","index":0,"sql":"CREATE TABLE `iobroker`.ts_string (id INTEGER, ts BIGINT, val TEXT, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts));"} 2017-10-18 22:27:03.047 - debug: sql.0 CREATE TABLE `iobroker`.ts_bool (id INTEGER, ts BIGINT, val BOOLEAN, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts)); 2017-10-18 22:27:03.052 - debug: sql.0 Response: {"code":"ER_TABLE_EXISTS_ERROR","errno":1050,"sqlMessage":"Table 'ts_bool' already exists","sqlState":"42S01","index":0,"sql":"CREATE TABLE `iobroker`.ts_bool (id INTEGER, ts BIGINT, val BOOLEAN, ack BOOLEAN, _from INTEGER, q INTEGER, PRIMARY KEY(id, ts));"} 2017-10-18 22:27:03.054 - info: sql.0 Connected to mysql 2017-10-18 22:27:03.142 - info: sql.0 enabled logging of hm-rpc.0.updated 2017-10-18 22:27:03.144 - info: sql.0 enabled logging of hm-rpc.1.updated 2017-10-18 22:27:03.145 - info: sql.0 enabled logging of hm-rpc.0.BidCoS-RF.0.INSTALL_MODE 2017-10-18 22:27:03.146 - info: sql.0 enabled logging of hm-rpc.0.BidCoS-RF.1.LEVEL 2017-10-18 22:27:03.147 - info: sql.0 enabled logging of hm-rpc.0.BidCoS-RF.1.PRESS_LONG 2017-10-18 22:27:03.148 - info: sql.0 enabled logging of hm-rpc.0.BidCoS-RF.1.PRESS_SHORT 2017-10-18 22:27:03.149 - info: sql.0 enabled logging of hm-rpc.0.BidCoS-RF.2.LEVEL 2017-10-18 22:27:03.151 - info: sql.0 enabled logging of hm-rpc.0.BidCoS-RF.2.PRESS_LONG ....... usw.
-
@Eric: Das neu anlegen ist immer so. `
Ah, ok. Hatte es im Log gesehen und mich gewundert.Gruß,
Eric
-
Kurze Ergänzung von meiner Seite:
- mySQL-DB auf dem gleichen Host wie ioBroker
-
mit js-controller 1.2.3 funktioniert der sql-Adapter wieder korrekt. Danke dafür an die Entwickler