Hallo zusammen,
ich möchte täglich in eine seperate MySQL-Tabelle bestimmte Werte von SmarthomeNG-Items schreiben.
Hierzu habe ich folgende Logik angelgt und möchte nun beispielhaft das Item stromzaehler.hh.zaehlerstand_ht in die Datenbank schreiben. Ich bekomme das Item nicht in den SQL-Befehl eingefügt bzw. es wird immer die Bezeichnung, aber nicht der Wert des Items eingefügt. Die Werte "10" dienen nur als Platzhalter, diese sollen ebenfalls mit SmarthomeNG-Items befüllt werden.
Hat jemand einen Tipp, wie ich das Item in das Script einfügen kann? Leider bin ich nicht so der Python-Spezialist und habe bisher noch keinen Hinweis gefunden, wie ich es korrekt eintragen kann.
Auszug aus dem Logfile:
ich möchte täglich in eine seperate MySQL-Tabelle bestimmte Werte von SmarthomeNG-Items schreiben.
Hierzu habe ich folgende Logik angelgt und möchte nun beispielhaft das Item stromzaehler.hh.zaehlerstand_ht in die Datenbank schreiben. Ich bekomme das Item nicht in den SQL-Befehl eingefügt bzw. es wird immer die Bezeichnung, aber nicht der Wert des Items eingefügt. Die Werte "10" dienen nur als Platzhalter, diese sollen ebenfalls mit SmarthomeNG-Items befüllt werden.
Hat jemand einen Tipp, wie ich das Item in das Script einfügen kann? Leider bin ich nicht so der Python-Spezialist und habe bisher noch keinen Hinweis gefunden, wie ich es korrekt eintragen kann.
Code:
#!/usr/bin/env python3 # aufzeichnung.py import mysql.connector cnx = mysql.connector.connect(user='***', password='***', host='localhost', database='smarthome') cur = cnx.cursor() cur.execute("INSERT INTO `aufzeichnung` (`datum`, `strom_hh`, `strom_emob`, `strom_hh-emob`, `strom_wp_ht`, `strom_wp_nt`, `wp_stunden`, `wp_starts`, `wp_wm`, `wetter_at`, `wasser`) VALUES ('2023-05-30', 'sh.stromzaehler.hh.zaehlerstand_ht()', '10', '10', '10', '10', '10', '10', '10', '10', '10');") cnx.commit() cnx.close()
Code:
2023-05-30 23:53:18 ERROR logics.aufzeichnung Logic: logics.aufzeichnung, File: /home/smarthome/.local/lib/python3.7/site-packages/mysql/connector/connection.py, Line: 824, Method: _handle_result, Exception: 1366 (22007): Incorrect integer value: 'sh.stromzaehler.hh.zaehlerstand_ht()' for column `smarthome`.`aufzeichnung`.`strom_hh` at row 1 > Traceback (most recent call last): > File "/usr/local/smarthome/lib/scheduler.py", line 640, in _task > exec(obj.bytecode) > File "/usr/local/smarthome/logics/aufzeichnung.py", line 12, in <module> > cur.execute("INSERT INTO `aufzeichnung` (`datum`, `strom_hh`, `strom_emob`, `strom_hh-emob`, `strom_wp_ht`, `strom_wp_nt`, `wp_stunden`, `wp_starts`, `wp_wm`, `wetter_at`, `wasser`) VALUES ('2023-05-30', 'sh.stromzaehler.hh.zaehlerstand_ht()', '10', '10', '10', '10', '10', '10', '10', '10', '10');") > File "/home/smarthome/.local/lib/python3.7/site-packages/mysql/connector/cursor.py", line 615, in execute > self._handle_result(self._connection.cmd_query(stm t)) > File "/home/smarthome/.local/lib/python3.7/site-packages/mysql/connector/connection.py", line 1046, in cmd_query > result = self._handle_result(self._send_cmd(ServerCmd.QUERY , query)) > File "/home/smarthome/.local/lib/python3.7/site-packages/mysql/connector/connection.py", line 824, in _handle_result > raise get_exception(packet) > mysql.connector.errors.DataError: 1366 (22007): Incorrect integer value: 'sh.stromzaehler.hh.zaehlerstand_ht()' for column `smarthome`.`aufzeichnung`.`strom_hh` at row 1
Kommentar