Kannst in so einem Fall mal nachsehen, was für Zeitpunkte für das Item dann in der AdmiGUI in den Item Details angezeigt werden?
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Database Plugin
Einklappen
X
-
Onkelandy : Das Abfragen der item Funktionen direkt per Logik liefert auch ein prev_change(), welches neuer ist als ein last_change() Wert.
Allerdings wird das Item auch gerade nicht extern durch eine Messung upgedatet sondern bei Neustart durch das database plugin entsprechend falsch initialisiert.
Meine Vermuting ist, dass das database plugin aktuell nur die falschen Werte nach einem Neustart wie gewünscht durch das (database: init) wieder initialisiert.
Der Fall, bei dem erstmalig last_change() und prev_change fehlerhaft sind, kann durchaus an anderer Stelle wieder auftauchen. Ich weiß aktuell nur nicht, wie ich den ertmaligen Fehler reproduzieren oder nachstellen kann.
Kommentar
-
Msinn :
Auszug aus der Admin Gui:
Code:[TABLE="class: table table-striped table-hover ng-star-inserted"] [TR="class: shng_heading"] [/TR] [TR] [TD="class: py-1"]Letztes Update[/TD] [TD="class: py-1"]26.04.2020 11:17:34 CEST[/TD] [/TR] [TR] [TD="class: py-1"]Letze Änderung[/TD] [TD="class: py-1"]25.04.2020 17:07:47 CEST[/TD] [/TR] [TR] [TD="class: py-1"]Zeit seit dem letzten Update[/TD] [TD="class: py-1"]5 Minuten, 33.14 Sekunden[/TD] [/TR] [TR] [TD="class: py-1"]Zeit seit dem letzten Change[/TD] [TD="class: py-1"]18 Stunden, 15 Minuten, 20.53 Sekunden[/TD] [/TR] [TR] [TD="class: py-1"]Update durch[/TD] [TD="class: py-1"]EnOcean:FFCB0501[/TD] [/TR] [TR] [TD="class: py-1"]Change durch[/TD] [TD="class: py-1"]Database[/TD] [/TR] [TR] [TD="class: py-1"]vorheriger Wert[/TD] [TD="class: py-1"]0[/TD] [/TR] [TR] [TD="class: py-1"]vorheriges Update[/TD] [TD="class: py-1"]25.04.2020 20:55:43 CEST[/TD] [/TR] [TR] [TD="class: py-1"]vorherige Änderung[/TD] [TD="class: py-1"]25.04.2020 20:55:43 CEST[/TD] [/TR] [TR] [TD="class: py-1"]Zeit seit dem vorh. Update[/TD] [TD="class: py-1"]10 Minuten, 6.04 Sekunden[/TD] [/TR] [/TABLE]
Kommentar
-
Der Auszug oben ist von heute für den keine negative Duration sondern bei Duration ein None steht. Hier der Auszug aus dem DB plugin, der für heute nur einen Eintrag enthält:
Code:[TABLE="class: table table-striped table-hover pluginList"] [TR] [TD="class: py-1"] [/TD] [TD="class: py-1"]26.04.2020 10:55:32[/TD] [TD="class: py-1"]None[/TD] [TD="class: py-1"]26.04.2020 10:55:34[/TD] [TD="class: py-1"]0.0[/TD] [/TR] [/TABLE]
Code:[TABLE="class: table table-striped table-hover pluginList"] [TR] [/TR] [TR] [TD="class: py-1"]1[/TD] [TD="class: py-1"]25.04.2020 20:55:43[/TD] [TD="class: py-1"]-13675886[/TD] [TD="class: py-1"]26.04.2020 14:29:28[/TD] [TD="class: py-1"]0.0[/TD] [TD="class: py-1"] [/TD] [/TR] [/TABLE] [TABLE="class: table table-striped table-hover pluginList"] [TR] [TD="class: py-1"]1[/TD] [TD="class: py-1"]25.04.2020 20:44:50[/TD] [TD="class: py-1"]-13023070[/TD] [TD="class: py-1"]26.04.2020 10:37:11[/TD] [TD="class: py-1"]0.0[/TD] [TD="class: py-1"] [/TD] [/TR] [TR] [TD="class: py-1"]1[/TD] [TD="class: py-1"]25.04.2020 17:15:07[/TD] [TD="class: py-1"]-440204[/TD] [TD="class: py-1"]25.04.2020 20:49:00[/TD] [TD="class: py-1"]0.0[/TD] [TD="class: py-1"] [/TD] [/TR] [TR] [TD="class: py-1"]1[/TD] [TD="class: py-1"]25.04.2020 17:07:47[/TD] [TD="class: py-1"]None[/TD] [TD="class: py-1"]26.04.2020 14:29:28[/TD] [TD="class: py-1"]0.0[/TD] [TD="class: py-1"] [/TD] [/TR] [TR] [TD="class: py-1"]1[/TD] [TD="class: py-1"]25.04.2020 16:57:10[/TD] [TD="class: py-1"]636990[/TD] [TD="class: py-1"]25.04.2020 17:26:59[/TD] [TD="class: py-1"]0.0[/TD] [TD="class: py-1"] [/TD] [/TR] [TR] [TD="class: py-1"]1[/TD] [TD="class: py-1"]25.04.2020 16:53:52[/TD] [TD="class: py-1"]-142415[/TD] [TD="class: py-1"]25.04.2020 17:06:47[/TD] [TD="class: py-1"]0.0[/TD] [TD="class: py-1"] [/TD] [/TR] [TR] [TD="class: py-1"]1[/TD] [TD="class: py-1"]25.04.2020 16:52:46[/TD] [TD="class: py-1"]-76244[/TD] [TD="class: py-1"]25.04.2020 16:56:41[/TD] [TD="class: py-1"]0.0[/TD] [TD="class: py-1"] [/TD] [/TR] [TR] [TD="class: py-1"]1[/TD] [TD="class: py-1"]25.04.2020 16:52:00[/TD] [TD="class: py-1"]None[/TD] [TD="class: py-1"]25.04.2020 16:52:01[/TD] [TD="class: py-1"]0.0[/TD] [TD="class: py-1"] [/TD] [/TR] [TR] [TD="class: py-1"]1[/TD] [TD="class: py-1"]25.04.2020 16:51:29[/TD] [TD="class: py-1"]977793[/TD] [TD="class: py-1"]25.04.2020 17:07:47[/TD] [TD="class: py-1"]0.0[/TD] [TD="class: py-1"] [/TD] [/TR] [TR] [TD="class: py-1"]1[/TD] [TD="class: py-1"]25.04.2020 16:50:42[/TD] [TD="class: py-1"]None[/TD] [TD="class: py-1"]25.04.2020 16:50:43[/TD] [TD="class: py-1"]0.0[/TD] [TD="class: py-1"] [/TD] [/TR] [TR] [TD="class: py-1"]1[/TD] [TD="class: py-1"]25.04.2020 16:39:32[/TD] [TD="class: py-1"]None[/TD] [TD="class: py-1"]25.04.2020 16:39:34[/TD] [TD="class: py-1"]0.0[/TD] [TD="class: py-1"] [/TD] [/TR] [TR] [TD="class: py-1"]1[/TD] [TD="class: py-1"]25.04.2020 16:36:41[/TD] [TD="class: py-1"]888364[/TD] [TD="class: py-1"]25.04.2020 16:51:29[/TD] [TD="class: py-1"]0.0[/TD] [TD="class: py-1"] [/TD] [/TR] [TR] [TD="class: py-1"]1[/TD] [TD="class: py-1"]25.04.2020 16:34:03[/TD] [TD="class: py-1"]158242[/TD] [TD="class: py-1"]25.04.2020 16:46:35[/TD] [TD="class: py-1"]0.0[/TD] [/TR] [/TABLE]
Kommentar
-
also Ich weiß nicht mehr , was das Plugin noch von mir möchte. Habe mariea install und auch die py pakete mit allen rechten und im plugin.yaml habe ich diese einstellungen,
database_mysql:
plugin_name: database
driver: pymysql
connect:
- host:127.0.0.1
- user:smarthome1
- passwd:smarthome1
- db:smarthome1
- port:3306
instance: nas
precision: 4
aber immer wieder die fehlermeldung. Raspi, buster python3.7 smhg 1.7.1
2020-05-18 18:37:52 INFO Main Loading plugin translations (id=plugin/database) from plugins/database/locale.yaml
2020-05-18 18:37:52 INFO Main Loading plugin translations (id=plugin/database) from plugins/database/locale.yaml
2020-05-18 18:37:52 INFO Main plugin 'database': value not found in plugin configuration file for parameter 'prefix' -> using default value '' instead
2020-05-18 18:37:52 INFO Main plugin 'database': value not found in plugin configuration file for parameter 'prefix' -> using default value '' instead
2020-05-18 18:37:52 INFO Main plugin 'database': value not found in plugin configuration file for parameter 'cycle' -> using default value '60' instead
2020-05-18 18:37:52 INFO Main plugin 'database': value not found in plugin configuration file for parameter 'cycle' -> using default value '60' instead
2020-05-18 18:37:52 INFO Main plugin 'database': value not found in plugin configuration file for parameter 'precision' -> using default value '2' instead
2020-05-18 18:37:52 INFO Main plugin 'database': value not found in plugin configuration file for parameter 'precision' -> using default value '2' instead
2020-05-18 18:37:52 ERROR Main Plugin 'database' from section 'database_sqlite' exception: 'collections.OrderedDict' object has no attribute 'partition'
Traceback (most recent call last):
File "/usr/local/smarthome/lib/plugin.py", line 144, in __init__
plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance, self.meta)
File "/usr/local/smarthome/lib/plugin.py", line 610, in __init__
exec("self.plugin.__init__(smarthome{0}{1})".forma t("," if len(arglist) else "", argstring))
File "<string>", line 1, in <module>
File "/usr/local/smarthome/plugins/database/__init__.py", line 103, in __init__
Utils.string_to_list(self.get_parameter_value('con nect')))
File "/usr/local/smarthome/lib/db.py", line 170, in __init__
key, sep, value = arg.partition(':')
AttributeError: 'collections.OrderedDict' object has no attribute 'partition'
2020-05-18 18:37:52 ERROR Main Plugin 'database' from section 'database_sqlite' exception: 'collections.OrderedDict' object has no attribute 'partition'
Traceback (most recent call last):
File "/usr/local/smarthome/lib/plugin.py", line 144, in __init__
plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance, self.meta)
File "/usr/local/smarthome/lib/plugin.py", line 610, in __init__
exec("self.plugin.__init__(smarthome{0}{1})".forma t("," if len(arglist) else "", argstring))
File "<string>", line 1, in <module>
File "/usr/local/smarthome/plugins/database/__init__.py", line 103, in __init__
Utils.string_to_list(self.get_parameter_value('con nect')))
File "/usr/local/smarthome/lib/db.py", line 170, in __init__
key, sep, value = arg.partition(':')
AttributeError: 'collections.OrderedDict' object has no attribute 'partition'
Kommentar
-
Du hast nicht alles interessante gepostet. Die gepostete Konfiguration passt nicht zu der Fehlermeldung. Gepostet hast Du die Section database_mysql, der Fehler bezieht ich aber auf die Section database_sqlite.
Siehe:
Code:2020-05-18 18:37:52 ERROR Main Plugin 'database' from section 'database_sqlite' exception: 'collections.OrderedDict' object has no attribute 'partition'
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Kommentar
-
das ist nur die database_sqlite:
alles andere ist gleich:
# class__name: database
# class_path: plugins.database
# driver: pymysql
# connect:
# - host: 127.0.0.1
# - user: smarthome
# - passwd: smarthome1
# - database: smarthome1
# - port: 3306
# instance: nas
# precision: 2
# plugin_enabled: false
da ich mit dem Admin tool auch schon versucht hatte
Kommentar
-
pino :
Zitat von Msinn Beitrag anzeigenPoste bitte in Zukunft mit richtiger Formatierung. Siehe Thread Hilfe zu SmartHomeNG erhalten --> Python Code und Yaml Konfig richtig einfügen.
Dein obiger Auszug hatte alles auskommentiert, dazu würden auch die Meldungen passen. Allerdings hast du uns die erste und entscheidende Zeile der Plugins Definition verschwiegen
Kommentar
-
Das hängt davon ab wo und wie Du die MariaDB installiert hast:
- Falls MariaDB auf einem anderen Rechner läuft, brauchst Du nichts zu tun
- Falls MariaDB auf dem PI läuft, installierst Du am besten die selbe Version der MariaDB auf dem neuen Rechner. Anschließend stoppst Du MariaDB und kopierst die entsprechenden Datendateien in die neue MarisDB Installation.Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Kommentar
-
Zitat von Msinn Beitrag anzeigen- Falls MariaDB auf dem PI läuft, installierst Du am besten die selbe Version der MariaDB auf dem neuen Rechner. Anschließend stoppst Du MariaDB und kopierst die entsprechenden Datendateien in die neue MarisDB Installation.
Dump:
https://mariadb.com/kb/en/making-bac...ith-mysqldump/
Restore:
https://mariadb.com/kb/en/restoring-...om-dump-files/
Kommentar
-
hallo zusammen,
ich habe eine Frage, kann ich Items in Abhängigkeit anderer Items in die DB schreiben?
konkret geht es um 4 Temperaturen der KWL, bei denen 2 nicht gültig sind wenn der Bypass offen ist. diese möchte ich dann nicht loggen um sie auch nicht im Plot in der SmartVISU zu haben.
Alternativ wäre die Idee Werte in Abhängigkeit vom bypass einfach nicht darzustellen, das sehe aber mit den Plots als noch viel schwieriger umsetzbar.
Danke!
Kommentar
Kommentar