Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Das ist ein Linux spezifisches Verhalten, da dort Verzeichnisnamen case sensitive sind. Unter MacOS oder Windows wäre Dir das Problem nie aufgefallen. Da die alte Konfigurationsform mit class_path und class_name auch case sensitive ist (und die Vorgabe ist, dass Plugin Namen in lowercase zu halten sind) sehe ich eigentlich keinen Änderungsbedarf. Ich habe für das Bugfix Release allerdings eine Warnung eingebaut, falls ein "ungültiger" Plugin Name erkannt wird.
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Bei mir und bmx läuft das onewire Plugin. Wie hast Du das onewire Plugin konfiguriert?
Und kannst Du bitte das Log vom Start bis zu diesem Fehler posten?
Hallo,
ich laufe nach dem Update auf 1.9.4 (wegen piratewthr) auch in die oben beschriebenen Probleme, d.h. ständige Neustarts, weil die DB nicht gefunden wird, und Fehler bei OneWire.
Da ich vor einem Upgrade meines BeagleboneBlack auf Bullseye Respekt habe, wollte ich fragen, ob das Problem mit OneWire evtl auch mit Python 3.7 gelöst werden kann.
Hier der Auszug aus dem Log-File:
Code:
2023-03-24 23:41:45 NOTICE lib.smarthome -------------------- SmartHomeNG stopped --------------------
2023-03-24 23:42:05 NOTICE lib.smarthome -------------------- Init SmartHomeNG v1.9.4-master (c0cfb39c) --------------------
2023-03-24 23:42:05 NOTICE lib.smarthome Running in Python interpreter 'v3.7.3 final', from directory /local/smarthome
2023-03-24 23:42:05 NOTICE lib.smarthome - operating system 'Debian GNU/Linux 10 (buster)' (pid=11544)
2023-03-24 23:42:05 NOTICE lib.smarthome - on 'Raspberry Pi (Rev. 0000)'
2023-03-24 23:42:05 NOTICE lib.smarthome - Loglevel NOTICE is set to value 31 because handler of root logger is set to level WARNING or higher - Set level of handler 'shng_warnings_file' to 'NOTICE'!
2023-03-24 23:43:09 NOTICE lib.smarthome - Nutze Feiertage für Land 'DE', Provinz 'HE', 1 benutzerdefinierte(r) Feiertag(e) definiert
2023-03-24 23:43:36 WARNING plugins.cli CLI: You should set a password for this plugin.
2023-03-24 23:43:51 ERROR lib.plugin Plugin 'ow' exception during import of __init__.py: invalid syntax (<fstring>, line 1)
Traceback (most recent call last):
File "/local/smarthome/lib/plugin.py", line 570, in __init__
exec("import {0}".format(classpath))
File "<string>", line 1, in <module>
File "<fstring>", line 1
(value=)
^
SyntaxError: invalid syntax
In SmartHomeNG läuft das Plugin leider nur mit Python 3.8 oder größer.
Das wird mit dem Bugif Release behoben. Das Release von v1.9.5 kommt vorraussichtlich am Dienstag.
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Den Upgrade meines Beagle Bone Black (mit Roberts Cape) werde ich mittelfristig auch angehen.
Was mir noch aufgefallen ist:
Ich hatte V1.9.4 in ein neues Verzeichnis
Code:
/local/smarthome_194_clean
installiert und dann einen softlink
Code:
/local/smarthome -> /local/smarthome_194_clean
angelegt.
Das hat aber zu Problemen geführt:
Code:
Exception: 'collections.OrderedDict' object has no attribute 'partition'
running SmartHomeNG v1.9.4-master (c0cfb39c) / plugins v1.9.4-master (c4ec71ee)
Traceback (most recent call last):
File "/local/smarthome_194_clean/lib/plugin.py", line 170, in __init__
plugin_thread = PluginWrapper(smarthome, plugin, classname, classpath, args, instance, self.meta, self._configfile)
File "/local/smarthome_194_clean/lib/plugin.py", line 655, in __init__
exec("self.plugin.__init__(smarthome{0}{1})".format("," if len(arglist) else "", argstring))
File "<string>", line 1, in <module>
File "/local/smarthome_194_clean/plugins/database/__init__.py", line 145, in __init__
self._db = lib.db.Database(("" if self._prefix == "" else self._prefix.capitalize()) + "Database", self.driver, self._connect)
File "/local/smarthome_194_clean/lib/db.py", line 178, in __init__
key, sep, value = arg.partition(':')
AttributeError: 'collections.OrderedDict' object has no attribute 'partition'
Ich wollte Version 1.9.4. erst testen, bevor ich sie produktiv nehme. Über das Umbiegen eines Softlinks funktioniert das aber offensichtlich nicht.
Gibt es hier eine bessere Idee für Tests?
SmartHomeNG inkl. Plugins ist schon ziemlich groß geworden und passt nicht mehr in den eMMC des Beagle Bone Black (4GB). Daher habe ich es auf eine SD-Karte ausgelagert (und unter /local gemountet).
Zuletzt geändert von bmx; 07.04.2023, 06:39.
Grund: Schreibfehler korrigiert zum besseren Verständnis und für bessere Suchergebnisse
smarthomeNG inkl. Plugins ist schon ziemlich groß geworden
Du kannst bei git clone die Tiefe angeben mit --depth 1 und somit einen "flachen" clone erzeugen. Das geht sowohl für den Core als auch für die Plugins.
Das Thema haben wir speziell für den BBB schon mal gehabt, siehe hier
Einfach in dem Verzeichnis starten in dem Du es installiert hast?
Eigentlich naheliegend ;-) Wenn im Code kein absoluter Pfad verwendet wird, sollte es ja klappen, werde ich probieren (ich nutze standardmäßig immer den servcie).
Vielleicht habe ich diese Möglichkeit gedanklich immer ausgeschlossen, weil laut Anleitung smarthome immer in /usr/local installiert wird.
Danke auch für den Hinweis auf die BBB-Diskussion. Hatte ich nicht auf dem Schirm, bleibe aber wohl eher bei meiner Lösung der zusätzlichen SD-Karte, insbesondere auch, wenn ich neue smarthome-Versionen parallel installiere und erst teste.
In SmartHomeNG läuft das Plugin leider nur mit Python 3.8 oder größer.
Das wird mit dem Bugif Release behoben. Das Release von v1.9.5 kommt vorraussichtlich am Dienstag.
Ich habe übrigens die Version 1.9.5 probiert:
Das Problem mit der Datenbank scheint behoben zu sein, das Problem mit onewire und Python V3.7 besteht weiterhin. Ich bekomme die selbe Fehlermeldung wie zuvor.
Nein, das sollte nicht behoben werden. Das wirst Du (wie der Log Eintrag sagt) nur lösen können, wenn Du Python 3.8 oder höher nutzt um SmartHomeNG laufen zu lassen.
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar