Hauptmenü

Frage zu google Kalender

Begonnen von no_Legend, 12 Juni 2015, 17:21:47

Vorheriges Thema - Nächstes Thema

no_Legend

Hallo Leute,

ich hab nach folgendem Wiki Eintrag probiert den Google Kalender auszulesen und steuern der Heizung zu nutzten.
http://www.fhemwiki.de/wiki/Google-Kalender_zur_Steuerung_von_Dummies

Leider bekommen die Dummies keinen Status.
Der kalender Ansicht ist auch richtig eingebunden.
Die Abfrage mit full all bringt auch die Ereignisse zum vorschein.

Keine Ahnung wo mein Fehler liegt.

http://www.fhemwiki.de/wiki/Google-Kalender_zur_Steuerung_von_Dummies

Kann mir einer sagen wo mein Fehler liegt?

Code aus der fhem.cfg
define Cal_Rob_FHEM Calendar ical url https://www.google.com/calendar/basic.ics 14400
attr Cal_Rob_FHEM room 9.20_Kalender

define Cal_Rob_FHEM.start notify Cal_Rob_FHEM:modeStarted.*googlecom.* { Kalenderstart("$EVENT");; }
attr Cal_Rob_FHEM.start room 9.20_Kalender

define Cal_Rob_FHEM.ende notify Cal_Rob_FHEM:modeStarted.*googlecom.* { Kalenderende("$EVENT");; }
attr Cal_Rob_FHEM.ende room 9.20_Kalender

define Cal_Rob_FHEM.urlaub dummy
attr Cal_Rob_FHEM.urlaub room 9.20_Kalender
attr Cal_Rob_FHEM.urlaub setList ja nein
attr Cal_Rob_FHEM.urlaub webCmd ja:nein

define Cal_Rob_FHEM.gast dummy
attr Cal_Rob_FHEM.gast room 9.20_Kalender
attr Cal_Rob_FHEM.gast setList ja nein
attr Cal_Rob_FHEM.gast webCmd ja:nein


Und die Myutils:
##############################################
# $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
#
# Save this file as 99_myUtils.pm, and create your own functions in the new
# file. They are then available in every Perl expression.

package main;

use strict;
use warnings;
use POSIX;

sub
myUtils_Initialize($$)
{
  my ($hash) = @_;
}

# Enter you functions below _this_ line.

###Kalender auslesen
sub Kalenderstart ($)
{
my ($Ereignis) = @_;
my @Ereignisarray = split(/.*:\s/,$Ereignis);
my $Ereignisteil1 = $Ereignisarray[1];
my @uids=split(/;/,$Ereignisteil1);
foreach my $uid (@uids) {
my $Kalendertext = fhem("get Cal_Rob_FHEM summary $uid");
if ($Kalendertext =~ /Urlaub/) {
fhem("set Cal_Rob_FHEM.urlaub ja");
};
if ($Kalendertext =~ /Besuch/) {
fhem("set Cal_Rob_FHEM.gast ja");
};
};
}
sub Kalenderende ($) {
my ($Ereignis) = @_;
my @Ereignisarray = split(/.*:\s/,$Ereignis);
my $Ereignisteil1 = $Ereignisarray[1];
my @uids=split(/;/,$Ereignisteil1);
foreach my $uid (@uids) {
my $Kalendertext = fhem("get Cal_Rob_FHEM summary $uid");
if ($Kalendertext =~ /Urlaub/) {
fhem("set Cal_Rob_FHEM.urlaub nein");
};
if ($Kalendertext =~ /Besuch/) {
fhem("set Cal_Rob_FHEM.gast nein");
};
};
}

# Enter you functions before_this_ line.
1;
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.

FranzB94

Hi!

In WIKI steht doch: url <der richtige Kalenderlink>!

In deinem Definition url https://www.google.com/calendar/basic.ics fehlen aber einige Teile

Der Definition kann man doch komplett aus dem Kalender kopieren: define Cal_Rob_FHEM Calendar ical url https://www.google.com/calendar/ical/************group.calendar.google.com/private-*********/basic.ics

no_Legend

Hallo Franz,

den Kalender Link ich hab eich gekürzt.
Meine echten Daten, damit Sie jeder benutzten kann, welche ich hier nicht posten.

Die Definition des Kalender Funktioniert.
Ich kann ja auch  manuell abfragen aber die Auswertung klappt nicht und ich hab keine Ahnung warum.

Gruß Robert
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.

Prof. Dr. Peter Henning

Na, wer Angst hat, dass seine paar Kalenderdaten von Anderen genutzt werden könnten, sollte lieber ganz auf die von Anderen erstellte Software verzichten.

Besser auf kommerzielle Systme ausweichen.

pah

no_Legend

Zitat von: Prof. Dr. Peter Henning am 13 Juni 2015, 13:36:28
Na, wer Angst hat, dass seine paar Kalenderdaten von Anderen genutzt werden könnten, sollte lieber ganz auf die von Anderen erstellte Software verzichten.

Besser auf kommerzielle Systme ausweichen.

pah

Also ernsthaft, soll das ein Grund ein sein mir nicht zu helfen?
Ist doch ne schlechter Scherz.
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.

ChrisK

Zitat von: no_Legend am 13 Juni 2015, 16:47:46
Also ernsthaft, soll das ein Grund ein sein mir nicht zu helfen?
Ist doch ne schlechter Scherz.
Da stimme ich Dir zu.
Ähnlich wäre es, wenn ich Code poste und die Passwörter weg-x-e.

Leider kann ich Dir nicht helfen, aber zumindest bist Du nicht allein mit der Ansicht, dass Profs Kommentar daneben ist.

no_Legend

Es könnte aber durch aus möglich sein dass es an meinen Kalender Einträgen liegt.

Ich habe es bisher nur einen Eintrag mit Start und Ende Zeit an einem Tag definiert.
Das hat nichts funktioniert.

Danach habe ich ein ganz tägiges Ereignis erstellt. Hat aber auch nicht funktioniert.

Kann mir einer sagen wie man die Kalender Einträge anlegen sollte/muss?

Ich kann auch gerne mal die Readings posten, allerdings auch wieder ohne genaue Kalender url. Um gleich mal vorzubeugen.

Gruß Robert
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.

Prof. Dr. Peter Henning

#7
@ChrisK: Bloß nicht den Mund so voll nehmen.

ZitatKann mir einer sagen wie man die Kalender Einträge anlegen sollte/muss?
=> Geholfen bekommt, wer sich selbst bemüht. Dafür gibt es nun wirklich tausende von Anleitungen, man muss sie nur lesen. Beispiel http://www.broeckelmann.info/tag/ics-kalenderformat/

pah


no_Legend

Zitat von: Prof. Dr. Peter Henning am 14 Juni 2015, 05:07:29
@ChrisK: Bloß nicht den Mund so voll nehmen.
=> Geholfen bekommt, wer sich selbst bemüht. Dafür gibt es nun wirklich tausende von Anleitungen, man muss sie nur lesen. Beispiel http://www.broeckelmann.info/tag/ics-kalenderformat/

pah

Ohje du sitzt aber schon auf einem sehr hohen Ross.

Wie ich etwas in eine Google Kalender Einträge ist kein Problem.
Mir geht es darum was eingetragen werden soll.
Ich hab einfach als Termin Betreff Urlaub geschrieben, hier wollte ich bestätigt haben ob das so korrekt ist.
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.

ChrisK

Zitat von: Prof. Dr. Peter Henning am 14 Juni 2015, 05:07:29
@ChrisK: Bloß nicht den Mund so voll nehmen.
Ist das eine Drohung?
Ich würde normalerweise fragen, was Du damit bezwecken willst, aber in diesem Fall ist mir das ziemlich egal.

Schönen Sonntag noch.

no_Legend

Ich habe das Gefühl, dass die 99_myUtils.pm nicht richtig funktioniert.
Wenn ich die uid die mir angezeigt wird von Handy mit get Kalender summary UID , bekomme ich die Richtige Bezeichnung raus auf die reagiert werden sollen.

Entweder der Aufruf der 99_myutils.pm Codezeilen funktioniert nicht oder der Code wird erst gar nicht ausgeführt.

Kann ich das irgendwie nachvollziehen, jemand ne Tip?
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.

no_Legend

Schade, dass bisher keiner ne Antwort hat.

Mal etwas anderes, wird der Code aus einer myUtils zum Aufruf immer komplett ausgeführt?
Also auch Code den man nicht beim FHEM start schon drin hatte?
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.

kadettilac89

#12
Zitat von: no_Legend am 22 Juni 2015, 19:19:11
Schade, dass bisher keiner ne Antwort hat.

Mal etwas anderes, wird der Code aus einer myUtils zum Aufruf immer komplett ausgeführt?
Also auch Code den man nicht beim FHEM start schon drin hatte?

wenn du myutils geändert hast musst du mit <reload 99_myutils.pm> das modul neu laden. Ansonsten ist es unbekannt. Um Fehler einzugrenzen bzw. auszugrenzen kannst auch das globale attribut verbose 5 setzen. Dann kommt alles ins Log was ggf. falsch läuft. Vielleicht findest auch Fehler die auf Google-Calendar hinweisen. Wenn du Verbose 5 setzt solltest FHEM komplett neu starten dann wird alles neu gelesen. Habe die Erfahrung gemacht, dass Myutils trotz reload noch irgendwo gecached war.

Nachtrag ... wenn du nicht weiterkommst kannst dir im myutils einträge ins log schreiben lassen. Such dazu im Forum, ich kann dir grad nicht sagen wie das geht weil ich ncht zu Hause bin. Hab das selber in einem Modul schon mal geschafft. Vielleicht kann man auch irgendwie debuggen, hab ich noch nie benötigt aber vielleicht findest dazu was im Forum.

kadettilac89

Zitat von: no_Legend am 14 Juni 2015, 08:40:41
Ich hab einfach als Termin Betreff Urlaub geschrieben, hier wollte ich bestätigt haben ob das so korrekt ist.

wenn du im wiki mal liest .... ein Vergleich auf die Werte "Besuch" oder "Urlaub" durchgeführt (if ($Kalendertext =~ /Urlaub/)) .... => schreib im Text (Beschreibung) auch mal Urlaub rein. Vielleicht reicht der Betreff alleine nicht.

no_Legend

Ich hab es jetzt so weit hinbekommen, dass Urlaub gesetzt wird.
Was ich nicht testen konnte war, ob der Urlaub auch wieder off wird wenn kein Termin da ist.

DAs Problem was ich identifizieren konnte war der auf Aufruf der Funktion von der My Utils.
Hier hat was nicht gestimmt.
Docker FHEM immer aktuell,4x HMLAN, CUL443, CUL868 -homekit/siri -tablet ui -homebridge
Device, diverse:
Homematic, Shelly, Tasmota, MQTT, Unifi Network usw.