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.
ich möchte das ical Plugin zur Abfrage von Termine (ein und mehrtägig) wie bspw Urlaub nutzen.
Aktuell versuche ich das Plugin in meiner Testumgebung mit dem aktuellem Develop zum laufen zu bringen.
Es wird die Function ical nicht gefunden.
2020-01-04 12:57:36 WARNING __main__ -------------------- Init SmartHomeNG 1.6a.31195c7c.develop --------------------
2020-01-04 12:57:36 WARNING __main__ Running in Python interpreter 'v3.7.3 final' (pid=29803) on linux platform
2020-01-04 12:57:37 WARNING lib.shtime Nutze Feiertage für Land 'DE', Provinz 'BY', State 'None', benutzerdefinierte Feiertagsdefinition(en) nicht definiert
2020-01-04 12:57:39 INFO plugins.backend WebInterface: Running from '/usr/local/smarthome/plugins/backend/webif'
2020-01-04 12:57:39 INFO plugins.backend BackendSysteminfo __init__
2020-01-04 12:57:39 INFO plugins.backend BackendServices __init__
2020-01-04 12:57:39 INFO plugins.backend BackendItems __init__ <lib.item.Items object at 0x75671e50>
2020-01-04 12:57:39 INFO plugins.backend BackendLogics __init__ self.logics = None
2020-01-04 12:57:39 INFO plugins.backend BackendLogics __init__ self.plugins = <lib.plugin.Plugins object at 0x712ef3b0>
2020-01-04 12:57:39 INFO plugins.backend BackendLogics __init__ self.scheduler = <Scheduler(Scheduler, started 1969661024)>
2020-01-04 12:57:39 INFO plugins.backend BackendSchedulers __init__ self.scheduler = <Scheduler(Scheduler, started 1969661024)>
2020-01-04 12:57:39 INFO plugins.backend BackendPlugins __init__ self.plugins = <lib.plugin.Plugins object at 0x712ef3b0>
2020-01-04 12:57:39 INFO plugins.backend BackendScenes __init__
2020-01-04 12:57:39 INFO plugins.backend BackendThreads __init__
2020-01-04 12:57:39 INFO plugins.backend BackendLogging __init__
2020-01-04 12:57:39 WARNING plugins.cli CLI: You should set a password for this plugin.
2020-01-04 12:57:41 INFO plugins.ical Registering calendar https://calendar.google.com/calendar/ical/mdk3cgnknu1ngnqr25r1h8sq4c%40group.calendar.google.com/public/basic.ics with alias abwesenheit.
2020-01-04 12:57:41 WARNING lib.item load_itemdefinitions(): For testing the joined item structs are saved to /usr/local/smarthome/etc/structs_joined.yaml
2020-01-04 12:59:22 ERROR logics.kalender_abwesenheit Logic: logics.kalender_abwesenheit, File: /usr/local/smarthome/logics/kalender_abwesenheit.py, Line: 5, Method: <module>, Exception: 'SmartHome' object has no attribute 'ical'
Traceback (most recent call last):
File "/usr/local/smarthome/lib/scheduler.py", line 527, in _task
exec(obj.bytecode)
File "/usr/local/smarthome/logics/kalender_abwesenheit.py", line 5, in <module>
abwesenheit = sh.ical('abwesenheit', delta=3, offset=0)
AttributeError: 'SmartHome' object has no attribute 'ical'
Liegt hier in Problem vor oder passt der aktuelle Stand von Develop Core nicht zum Plugin?
PS:
Ich habe es soeben mit dem aktuellen Master probiert und bekomme die gleiche Fehlermeldung.
Zuletzt geändert von Sisamiwe; 04.01.2020, 13:14.
Grund: Test mit aktuellem Master durchgeführt
Seit meinem Upgrade vor ein paar Tagen auf den neuesten smarthomeNG Master habe ich das gleiche Problem wie Sisamiwe, allerdings enthält das plugin.yaml schon den ical Eintrag:
Vor dem Upgrade lief der Setup problemlos. Gibt's eine Lösung für das neue Problem?
Gerade ist mir noch aufgefallen, dass ich in plugin.yaml noch eine alte Syntax verwende. Wenn ich die gemäß Sisamiwes Beispiel anpasse, bekomme ich folgende Fehlermeldung:
Code:
2020-01-28 19:12:19 ERROR Main Plugin 'ical' exception during import of __init__.py: invalid syntax (network.py, line 1045)
Traceback (most recent call last):
File "/usr/local/smarthome/lib/plugin.py", line 544, in __init__
exec("import {0}".format(classpath))
File "<string>", line 1, in <module>
File "/usr/local/smarthome/plugins/ical/__init__.py", line 32, in <module>
from lib.network import Http
File "/usr/local/smarthome/lib/network.py", line 1045
async def __handle_connection(self, reader, writer):
^
SyntaxError: invalid syntax
2020-01-28
for day in abwesenheit:
for event in abwesenheit[day]:
start = event['Start']
end = event['End']
summary = event['Summary']
logger.debug("Abwesenheitslogik wurde getriggert, Time: {0} {1}".format(start, summary))
#Abwesenheitslogik wurde getriggert, Time: 2020-01-05 00:00:00+01:00 abwesend
if start <= now <= end or (start == end and start <= now <= end.replace(second=59, microsecond=999)):
sh.kalender.abwesend.heute(True)
else:
sh.kalender.abwesend.heute(False)
if start <= tom <= end or (start == end and start <= tom <= end.replace(second=59, microsecond=999)):
sh.kalender.abwesend.morgen(True)
else:
sh.kalender.abwesend.morgen(False)
if start <= dat <= end or (start == end and start <= dat <= end.replace(second=59, microsecond=999)):
sh.kalender.abwesend.uebermorgen(True)
else:
sh.kalender.abwesend.uebermorgen(False)
Probier mal.
PS Natürlich wieder richtig formatieren (Einrückungen) die gehen bei Copy&Paste im Moment verloren.
Mit dem ersten Button oben links im Editor solltest Du "rohe Daten" einfügen können. Da funktioniert IMHO auch das pasten von formatiertem Programmcode. Du kannst Deinen Code ja noch mal editieren :-)
Mit dem ersten Button oben links im Editor solltest Du "rohe Daten" einfügen können. Da funktioniert IMHO auch das pasten von formatiertem Programmcode. Du kannst Deinen Code ja noch mal editieren :-)
Welchen meinst du genau? Be dem Quelle beim Mouseover erscheint?
Ich habe auch smarthomeNG ganz frisch installiert, der Fehler bleibt. Der Fehler deutet ja eher auf ein Problem in /usr/local/smarthome/lib/network.py hin. Habe ich eine Abhängigkeit übersehen?
Habe gerade gesehen, dass Python 3.4 nicht mehr von der aktuellen SmarthomeNG (V 1.6) unterstützt wird. Es ist dann scheinbar das erste Mal, dass ich in diese Inkompatibilität gelaufen bin.
Ich gehe also zunächst auf ein älteres SmarthomeNG Release zurück und aktualisiere bei Gelegenheit mein Debian 8.11/Jessie System auf meinem BeagleBone Black. Damit sollte diese Inkompatibilität ja behoben sein.
Ja, das mit der Kompatibilität hatte ich vermutet. Das kommende 1.7 wird sicher ein Python 3.6 benötigen. Wenn Du also zukunftssicher aufgestellt sein willst, dann wäre ein Buster schon sinnvoll. Ich weiß allerdings nicht, inwieweit das für den Beaglebone Black geht. (z.B. hier im Blog)
Alternativ kann man auch Python 3.6 losgelöst vom System installieren, aber das können wir natürlich nicht leisten das alles zu dokumentieren.
from lib.network import Http
File "/usr/local/smarthome/lib/network.py", line 1045
async def __handle_connection(self, reader, writer):
Das Netwok Plugin benötigt wie man in der Fehlermeldung sieht asyncio. asyncio gibt es erst ab Python 3.5.
Zwei Lösungsmöglichkeiten:
Eine ältere Version des network Plugins einsetzen, welche kein asyncio benötigt.
Eine neuere Python Version einsetzen. Vorzugsweise Python 3.6 oder 3.7 (Die aktuelle Version ist zwar bereits Python 3.8, allerdings ist SmartHomeNG noch nicht gegen Python 3.8 getestet.
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