Hauptmenü

MAX! mit Calendar steuern

Begonnen von AndreasP, 28 Oktober 2013, 14:30:50

Vorheriges Thema - Nächstes Thema

betateilchen

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

AndreasP

jaein, ich hab bloß zu viele Tabs auf und weiß nicht mehr wo was ist und ob es dann das richtige ist  ::)

AndreasP

#17
danke, den hatte ich auch schon gefunden da sind die Besucher Dummys etc. mal schauen ob ich das so umgestrickt für meine Bedürfnisse bekomme.

also Heizung 21 17

Ergänzung
hmmm, ja könnte ich schaffen

betateilchen

von welchen Dummies redest Du eigentlich dauernd? Der Kalender braucht doch keine Dummies?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

AndreasP

#19
*lacht* in dem Beispiel wird ein Urlaubs Dummy und ein Besucher Dummy verwendet und ich bin mir halt nicht sicher wie, oder ob ich es wieder herausbekomme aus dem Perl Code, oder ist der Code auch dafür geeignet "heizung1 21 17" zu verstehen?


AndreasP

Sodele, Perlcode erfolgreich zusammen kopiert, und es funktioniert.

Vielen Dank an Betateilchen und crissiloop  :D.

Kalendertitel enhält:  actorname Starttemperatur Endtemperatur

z.B.: heizung3 21 17

Auszug aus meiner fhem.cfg:

define chz Calendar ical url https://username:passwort@server.de/remote.php/caldav/calendars/username/kalendername?export 60

define Heizung_Temperatur notify chz:modeStarted.* {\
Kalenderstart("$EVENT");;\
}


define Heizung_Temperatur_END notify chz:modeEnded.* {\
Kalenderende("$EVENT");;\
}



meine 99_myUtils.pm:

# start-of-template
package main;

use strict;
use warnings;
use POSIX;

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

# start with your own functions below this line

sub
Kalenderstart ($)
{
my ($Ereignis) = @_;
        Log 3, "übergebenes Ereignis: $Ereignis";
        my @Ereignisarray = split(/.*:\s/,$Ereignis);
        my $Ereignisteil1 = $Ereignisarray[1];
        Log 3, "Eventpart 1: $Ereignisteil1";
my @uids=split(/;/,$Ereignisteil1);
        foreach my $uid (@uids) {
                Log 3, "Eventpart1 gesplittet: $uid";
my ($actor,$dtemp,undef)= split(/ /,fhem("get chz summary $uid"));
               
   if(defined $actor) { fhem("set $actor desiredTemperature $dtemp")
    };
    };
}

sub Kalenderende ($) {
    my ($Ereignis) = @_;
        Log 3, "übergebenes Ereignis: $Ereignis";
        my @Ereignisarray = split(/.*:\s/,$Ereignis);
        my $Ereignisteil1 = $Ereignisarray[1];
        Log 3, "Eventpart 1: $Ereignisteil1";
my @uids=split(/;/,$Ereignisteil1);
        foreach my $uid (@uids) {
                Log 3, "Eventpart1 gesplittet: $uid";
my ($actor,undef,$dtemp)= split(/ /,fhem("get chz summary $uid"));
               
   if(defined $actor) { fhem("set $actor desiredTemperature $dtemp")
    };
};
}

# behind your last function, we need the following
1;
# end-of-template


cornelius fillmore

#21
Ich bekomme das doch nicht hin.

Ständig kommt "Not an ical file at URL"

Jetzt habe ich schon vom google-Kalender auf einen owncloud-Kalender gewechselt.

Leider ohne Erfolg, es erscheint immer der o.g. Fehler, obwohl dieser Kalender doch lokal auf dem Raspi liegt.
Woran könnte das denn liegen?


Der Zugriff auf einen
Zitat
ical url http://www.schulferien.org/iCal/Ferien/icals/Ferien_Hessen_2014.ics 86400
funktioniert ohne Probleme.

Jemand eine Idee?
3 x Fhem 5.9 mit RPI

satprofi

detto bei mir, habe alles nach wiki gemacht.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram