outlook_exchangelib
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige Überarbeitung | ||
outlook_exchangelib [2022/01/01 19:51] – varnholt | outlook_exchangelib [2022/01/01 20:03] (aktuell) – [SNIPS und falsche Intents] varnholt | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
Auf Smartphone und Computer wird man immer informiert, ob neue mail eingetroffen ist. Damit aber die Heim-Automation auch die aktuellsten Informationen hat, muss man sie sich über z.B. den Exchange-Server besorgen. Mit der [[https:// | Auf Smartphone und Computer wird man immer informiert, ob neue mail eingetroffen ist. Damit aber die Heim-Automation auch die aktuellsten Informationen hat, muss man sie sich über z.B. den Exchange-Server besorgen. Mit der [[https:// | ||
+ | |||
+ | ==== Installation und Probleme ==== | ||
< | < | ||
Zeile 57: | Zeile 59: | ||
DEBUG: | DEBUG: | ||
</ | </ | ||
+ | |||
+ | ==== Abfrage der letzten 5 mails in der Inbox ==== | ||
Hier der funktionierende Aufruf: | Hier der funktionierende Aufruf: | ||
Zeile 105: | Zeile 109: | ||
Danach habe ich das ganze noch an den MQTT-Server angebunden, damit nur bei Anwesenheit die ungelesenen Mails | Danach habe ich das ganze noch an den MQTT-Server angebunden, damit nur bei Anwesenheit die ungelesenen Mails | ||
der letzten paar Stunden vorgelesen werden, sowie ein crontab Aufruf, der das alle 5 Minuten startet. | der letzten paar Stunden vorgelesen werden, sowie ein crontab Aufruf, der das alle 5 Minuten startet. | ||
+ | |||
+ | ==== Kalender-Einträge ==== | ||
+ | |||
+ | Die Anmeldung an den Exchange-Server ist die gleiche wie oben. Um Kalendereinträge abzufragen braucht es diesen Code. Ein wenig Probleme hat die Zeitzone gemacht. | ||
+ | < | ||
+ | now=datetime.now() | ||
+ | current = EWSDateTime(now.year, | ||
+ | future = current + timedelta(days=1) | ||
+ | erg=list(account.calendar.view(start=current, | ||
+ | |||
+ | mytext="" | ||
+ | if not erg: | ||
+ | print(' | ||
+ | mytext=" | ||
+ | else: | ||
+ | mytext=" | ||
+ | for item in erg: | ||
+ | d=item.start.astimezone(EWSTimeZone.localzone()) | ||
+ | print(d.strftime(" | ||
+ | mytext=mytext+" | ||
+ | </ | ||
+ | |||
+ | Nachdem der String erzeugt wurde, kann ich ihn dann von meinem Mac bzw. SNIPS, vorlesen lassen. Dann noch ' | ||
+ | |||
+ | ==== SNIPS und falsche Intents bzw. Weiterleitung von Intents ==== | ||
+ | |||
+ | Es macht leider einen Unterschied, | ||
+ | < | ||
+ | Das ganze ist hier für node.js geschrieben | ||
+ | client.publish(' | ||
+ | JSON.stringify({' | ||
+ | client.publish(' | ||
+ | JSON.stringify({' | ||
+ | ' | ||
+ | ' | ||
+ | ' | ||
+ | </ | ||
+ | | ||
Stand Januar 2022 | Stand Januar 2022 | ||
outlook_exchangelib.1641066690.txt.gz · Zuletzt geändert: 2022/01/01 19:51 von varnholt