Scheib ein Plugin in fünf Minuten..
Ich habe es gewagt eine MariaDB-SQL-Anwendung in ein Plugin einzubinden.
Nach vielen 5 Minuten läuft jetzt das Plugin problemlos.
Es wird eine Datenbank eingerichtet, die Rechte vergeben, eine Tabelle angelegt und mit Daten aus einer Datei gefüllt. Über einen cicle
hole ich mir aus den Netz Werte für eine permanente Aktualisierung. Läuft seit 14 Tagen stabil.
Jetzt will ich die aktuellen Daten noch in ein ITEM überfühten und scheitere mit meinen python Kenntnissen. Per Logik rufe ich einen Datensatz in dem Plugin auf.
Die Daten werden im Plugin bereits gelesen. Leider bringe ich diese aber nicht in die /ITEM/xx.conf.- Felder
Hintergrund: Datenanpassungen, Änderungen usw.
Es gibt eine Variable in smarthome mit dem ITEM-Pfad, finde diese aber nicht.
Anbei ein Codeschnipsel zur Hilfe.
Wer kann mir bitte den Weg aufzeichnen die Daten aus dem Plugin in das x.conf in ITEMS zu bringen. Evtl. ein Tipp auf eine Lösung in einem vorhandenem Modul !
Dank für jede Hilfestellung!
LG
Wolfgang
Ich habe es gewagt eine MariaDB-SQL-Anwendung in ein Plugin einzubinden.
Nach vielen 5 Minuten läuft jetzt das Plugin problemlos.
Es wird eine Datenbank eingerichtet, die Rechte vergeben, eine Tabelle angelegt und mit Daten aus einer Datei gefüllt. Über einen cicle
hole ich mir aus den Netz Werte für eine permanente Aktualisierung. Läuft seit 14 Tagen stabil.
Jetzt will ich die aktuellen Daten noch in ein ITEM überfühten und scheitere mit meinen python Kenntnissen. Per Logik rufe ich einen Datensatz in dem Plugin auf.
Die Daten werden im Plugin bereits gelesen. Leider bringe ich diese aber nicht in die /ITEM/xx.conf.- Felder
Hintergrund: Datenanpassungen, Änderungen usw.
Es gibt eine Variable in smarthome mit dem ITEM-Pfad, finde diese aber nicht.
Anbei ein Codeschnipsel zur Hilfe.
Wer kann mir bitte den Weg aufzeichnen die Daten aus dem Plugin in das x.conf in ITEMS zu bringen. Evtl. ein Tipp auf eine Lösung in einem vorhandenem Modul !
im PLUGIN
def leserecord(self,par1,par2,par3):
self.loggerInfo("leserecord erreicht")
dbconn = self.connect_db()
cursor = dbconn.cursor()
cursor.execute("use `" + self._db + "`")
strSQL = "select _index, _par1,....
if self._tracetest>0:
self.logger.info("Connected to mariadb: {0}".format(self._db))
self.logger.info("Selecting tables in destination database: {0}".format(self._table))
self.logger.info("zwPAR1 : {0}".format(par1))
self.logger.info("zwPAR2 : {0}".format(par2))
self.logger.info("zwPAR3 : {0}".format(par3))
cursor.execute("select _index, _par1, _par2, _par3, .....
for _index, _par1, _par2, _par3, ....in cursor:
Alle Daten gelesen, getestet per logger!!
Jetzt sollen die Daten in die Felder einer .conf übertagen werden. Leider bisher erfolglos:
self._sh.+ "???" + pftest.index = _index
self._sh.+ "??" + pftest.par1 = _par1
self._sh.+ "??" + pftest.par2 = _par2
self._sh.+ "??" + pftest.par3 = _par3
def leserecord(self,par1,par2,par3):
self.loggerInfo("leserecord erreicht")
dbconn = self.connect_db()
cursor = dbconn.cursor()
cursor.execute("use `" + self._db + "`")
strSQL = "select _index, _par1,....
if self._tracetest>0:
self.logger.info("Connected to mariadb: {0}".format(self._db))
self.logger.info("Selecting tables in destination database: {0}".format(self._table))
self.logger.info("zwPAR1 : {0}".format(par1))
self.logger.info("zwPAR2 : {0}".format(par2))
self.logger.info("zwPAR3 : {0}".format(par3))
cursor.execute("select _index, _par1, _par2, _par3, .....
for _index, _par1, _par2, _par3, ....in cursor:
Alle Daten gelesen, getestet per logger!!
Jetzt sollen die Daten in die Felder einer .conf übertagen werden. Leider bisher erfolglos:
self._sh.+ "???" + pftest.index = _index
self._sh.+ "??" + pftest.par1 = _par1
self._sh.+ "??" + pftest.par2 = _par2
self._sh.+ "??" + pftest.par3 = _par3
[pftest]
..... [[index)) (ohne Punkte!)
..
...... [[par1]]
..
.... [[par2]]
...
[[par3]]
..... [[index)) (ohne Punkte!)
..
...... [[par1]]
..
.... [[par2]]
...
[[par3]]
Dank für jede Hilfestellung!
LG
Wolfgang
Kommentar