Modul für Terminansicht CALVIEW

Begonnen von chris1284, 08 Februar 2014, 13:18:31

Vorheriges Thema - Nächstes Thema

AitschPi

Sieht gut aus. ;o)


Gesendet von iPhone mit Tapatalk - Tippfehler sind gratis.
Echte Männer essen keinen Honig, sie kauen Bienen.

chris1284

soweit ich es testen konnte i.O. und wurde eingechecked, danke Risiko

ich war noch am überlegen wie man evtl. vorhandene def's einfach per modul umschreibt (sprich wenn noch 0-1 vorhanden waren die einfach aus dem DEF-Strig zu entfernen und die neue def zu speichern).
aber ich denke so ist es am einfachsten

Risiko

Zitat von: chris1284 am 14 Juli 2015, 08:26:55
soweit ich es testen konnte i.O. und wurde eingechecked, danke Risiko
Danke.
Habe gesehen, dass sich in der CommandRef (Doku) ein Fehler befindet. 3 Als Mode im Def gibt es natürlich nicht. Ist noch ein Fehler von mir. Sorry.

PNinBB

Nachdem ich vieles (diesen Thread von Beginn, WiKi, Codeschnipsel, Anfängerfragen, unterstützende Dienste) gelesen habe, scheitere ich beim Einrichten eines Terminkalenders auf der Basis meines Google-Kalenders.
FHEM ist tagesaktuell und meine Rollladensteuerung und Sensormodul arbeiten wie erwartet.
Was habe ich gemacht (alles über die Webkommandozeile eingegeben und in der config überprüft) ?
1. Kalender eingerichtet und importiert:
Wie in Calendar WiKi:

define <name> Calendar ical file <FILENAME> [<interval>]

Der Kalender wird von einem anderen Rechner von Google geholt und FHEM verfügbar gemacht.
In der config:

define KalPeter Calendar ical file /store/ComCom/KalPeter.ics 3600

Die ics-Datei ist verfügbar und der Inhalt "sieht OK" aus.
2. CalView eingerichtet:
Dann - wie in CalView WiKi:

define <Name> CALVIEW <calendarname> <modus>

In der config:

define TerminePeter CALVIEW KalPeter 1

TerminePeter ist gefüllt und sieht so aus wie von chris1284 am Anfang beschreiben und gezeigt.
3. Leere ReadingsGruop definieren:

define rg_View_Abfall readingsGroup <Zeile>,<Start>,<Start Zeit>,<Summary>,<Ende>,<End Zeit>

In der config:

define at_TerminePeter at +*00:05 {}

und - wie beschreiben - erstelltes "at" mit Code füllen.
In der config:

define at_TerminePeter at +*00:05 {\
my $i;;\
my $modtext = "<Datum>,<Uhrzeit>,<Text>,<Endet am>,<End um> ";;\
for($i= 1;;$i<= ReadingsVal("KalPeter","c-tomorrow", 0);;$i++){\
. . .
fhem("modify TerminePeter $modtext");;\
}

Ich erwarte eigentlich, dass dann die Terminangaben in jeweils einer Zeile stehen; was aber nicht der Fall ist. Es bleibt alles beim alten, obwohl das "at" entsprechend ausgeführt wird.
Mir scheint, dass mein Fehler irgendwo dort liegt, wo das obige

fhem("modify TerminePeter $modtext");;\

die neu generierten Zeilen hinschreibt. Muss ich dafür ein neues "Gerät" einrichten ? Ich habe es probiert, aber diese Readings sind leer.
Sicherlich habe ich irgendetwas noch nicht verstanden !
Für einen Hinweis bedanke ich mich schon im Voraus.
Peter
Raspi 4B + RaZberry2 (Deb 10), FritzBox 7490;
AEOTec: KeyFobGen5: 1x;
Danfoss: Living Connect 2.51: 3x;
Fibaro: FGK: 10x: 3x; FGBS: 001: 8x, 222: 1x; FGMS001: 2x; FGR: 222: 3x, 223: 2x; FGRGBWM-441: 1x; FGBS: 222: 2x, 223: 2x,224: 1x;
Philio: PAN06-1A: 3x;

tagedieb

Hallo PNinBB

ich habe in der Zeile
define rg_View_Abfall readingsGroup <Zeile>,<Start>,<Start Zeit>,<Summary>,<Ende>,<End Zeit>

folgendes stehen:

define rg_View_Abfall readingsGroup <Zeile>,<Start>,<Start Zeit>,<Summary>,<Ende>,<End Zeit> Anzeige


Gruss tagedieb
FHEM 5.6 auf Cubitruck
CUL und Cul 868 und 2 HM LAN an Zbox
Remoteserver auf 2.Zboxi
HM-CC-RT-DN,HM-LC-Bl1PBU-FM,HM-LC-SW1-FM,HM-LC-SW4-PCB,HM-LC-Sw1PBU-FM,HM-PB-2-WM55,HM-PB-6-WM55,HM-SCI-3-FM,HM-SEC-RHS,HM-SEC-SC,HM-SEC-SC-2,HM-SEC-TIS,HM-WDS10-TH-O u.viele mehr
diverse IT Empfänger und LW3

chris1284

Die anleitungen basieren darauf alles im frontend zu erledigen und nicht in der cfg herum zu wurschteln. Probier es mal darüber das at zu erstellen ;)
das funktioniert in der regel dann sofort

Ger-Gilias

Hallo Leute,

ich bin gerade dabei meinen Abfallkalender einzubinden ohne Erfolg.... Ich habe es erst mit alleine versucht dann mit dem 1. Post hier und nun mit lullebammel Post (http://forum.fhem.de/index.php/topic,19922.msg223939.html#msg223939) ich bekomme es einfach nicht hin....

Meine Config sieht wie folgt aus
#####Calendar modul###########
define muell_abfrage Calendar ical url https://www.google.com/calendar/ical/emailadresse%40gmail.com/private-hierstehenhaltirgendwelcheZahlen:-)/basic.ics 3600
attr muell_abfrage room Kalender

#####CALVIEW modul##########
define muell_liste CALVIEW muell_abfrage 1
attr muell_liste maxreadings 20
attr muell_listeroom Kalender

define muell_kalender readingsGroup <%time_calendar> muell_liste
attr muell_kalender mapping %READING
attr muell_kalender nonames 1
attr muell_kalender notime 1
attr muell_kalender room Kalender
attr muell_kalender valueFormat { substr($READING,6,2).".".substr($READING,3,2).".".substr($READING,0,2)." - ".substr($READING,9,5)." "."$VALUE" }


und das ganze sieht dann so aus....

(http://www.bilder-upload.eu/thumb/152bdb-1437309642.png)

im CALVIEW sieht das ganze noch etwas besser aus aber ich weiß ein fach nicht was ich falsch machen.... mit der Anleitung im 1. Post habe ich gar keine Ansicht zusammen bekommen :(

(http://www.bilder-upload.eu/thumb/58a675-1437309807.png)
Raspberry Pi mit Wheezy, 2x CUL 868MHz (MAX / Intertechno), MAX Heizkörperthermostat, MAX Fensterkontakt, Intertechno Funksteckdosen, Müll-, Termin-Kalender, Umweltanzeige (Wetter, Pollenflug & Unwetterwarnung), Spritmonitor

chris1284

attr muell_kalender valueFormat { substr($READING,6,2).".".substr($READING,3,2).".".substr($READING,0,2)." - ".substr($READING,9,5)." "."$VALUE" }
da ist dein fehler. das zerhackt die den ganzen text, warum du das eingebaut hast, keine ahnung



einfach die anleitung im post 1 durchführen, dann erst eigene sachen einbauen

Ger-Gilias

Zitat von: chris1284 am 19 Juli 2015, 15:01:53
attr muell_kalender valueFormat { substr($READING,6,2).".".substr($READING,3,2).".".substr($READING,0,2)." - ".substr($READING,9,5)." "."$VALUE" }
da ist dein Fehler. das zerhackt die den ganzen Text, warum du das eingebaut hast, keine Ahnung



einfach die Anleitung im Post 1 durchführen, dann erst eigene sachen einbauen

ich habe die Anleitung aus Post #71 von lullebammel genommen und dort war es so beschrieben, also ich es mit dem 1# Post versucht hatte, habe ich gar keine readinggruppe zusammen bekommen das ist ja mein Problem :(
Raspberry Pi mit Wheezy, 2x CUL 868MHz (MAX / Intertechno), MAX Heizkörperthermostat, MAX Fensterkontakt, Intertechno Funksteckdosen, Müll-, Termin-Kalender, Umweltanzeige (Wetter, Pollenflug & Unwetterwarnung), Spritmonitor

chris1284

#339
die readingsgroup kann auch leer sein. das wichtige ist das at welches die readingsgroup mit daten füllt!
sie poat 1 step 3

Zitat3. das erstelle at mmit Code füllen
Code: [Auswählen]

+*00:05 {
my $i;
my $modtext = "<Datum>,<Uhrzeit>,<Text>,<Endet am>,<End um> ";
for($i= 1;$i<= ReadingsVal("View_Abfall","c-tomorrow", 0);$i++){
$modtext .= "View_Abfall:<Morgen>,tomorrow_".sprintf('%03d',$i)."_btime,tomorrow_".sprintf('%03d',$i)."_summary,tomorrow_".sprintf('%03d',$i)."_edate,tomorrow_".sprintf('%03d',$i)."_etime ";}
for($i= 1;$i<= ReadingsVal("View_Abfall","c-today", 0);$i++){
$modtext .= "View_Abfall:<Heute>,today_".sprintf('%03d',$i)."_btime,today_".sprintf('%03d',$i)."_summary,today_".sprintf('%03d',$i)."_edate,today_".sprintf('%03d',$i)."_etime ";}
for($i= 1;$i<= ReadingsVal("View_Abfall","c-term", 0);$i++){
$modtext .= "View_Abfall:t_".sprintf('%03d',$i)."_bdate,t_".sprintf('%03d',$i)."_btime,t_".sprintf('%03d',$i)."_summary,t_".sprintf('%03d',$i)."_edate,t_".sprintf('%03d',$i)."_etime ";}
fhem("modify rg_View_Abfall $modtext");
}

!Ihr müsst View_Abfall mit eurem Namen des CALVIEW devices ersetzen!


wenn dann, 5 minuten später, das at zum 1. mal ausgeführt wurde ( das heisst einfach warten) zeigt die vorher leere rg auf einmal daten an.

Ger-Gilias

Zitat von: chris1284 am 19 Juli 2015, 15:54:35
die readingsgroup kann auch leer sein. das wichtige ist das at welches die readingsgroup mit daten füllt!
sie poat 1 step 3


wenn dann, 5 minuten später, das at zum 1. mal ausgeführt wurde ( das heisst einfach warten) zeigt die vorher leere rg auf einmal daten an.

Wenn ich dein Zitiertes einfüge bekomme ich beim Speichern folgende Fehlermeldung:

ZitatUnknown command my, try help. Unknown command my, try help. Unknown command for($i=, try help. Unknown command $i<=, try help. Unknown command $i++){, try help. Unknown command $modtext, try help. Unknown command }, try help. Unknown command for($i=, try help. Unknown command $i<=, try help. Unknown command $i++){, try help. Unknown command $modtext, try help. Unknown command }, try help. Unknown command for($i=, try help. Unknown command $i<=, try help. Unknown command $i++){, try help. Unknown command $modtext, try help. Unknown command }, try help. Unknown command fhem("modify, try help. Unknown command }, try help.

und so habe ich es eingefügt...

Zitatdefine muell_kalender readingsGroup <%time_calendar> muell_liste
attr muell_kalender mapping %READING
attr muell_kalender nonames 1
attr muell_kalender notime 1
attr muell_kalender room Kalender
define rg_muell_kalender readingsGroup <Zeile>,<Start>,<Start Zeit>,<Summary>,<Ende>,<End Zeit>
define at_rg_muell_kalender at +*00:05 {
my $i;
my $modtext = "<Datum>,<Uhrzeit>,<Text>,<Endet am>,<End um> ";
for($i= 1;$i<= ReadingsVal("muell_kalender","c-tomorrow", 0);$i++){
$modtext .= "muell_kalender:<Morgen>,tomorrow_".sprintf('%03d',$i)."_btime,tomorrow_".sprintf('%03d',$i)."_summary,tomorrow_".sprintf('%03d',$i)."_edate,tomorrow_".sprintf('%03d',$i)."_etime ";}
for($i= 1;$i<= ReadingsVal("muell_kalender","c-today", 0);$i++){
$modtext .= "muell_kalender:<Heute>,today_".sprintf('%03d',$i)."_btime,today_".sprintf('%03d',$i)."_summary,today_".sprintf('%03d',$i)."_edate,today_".sprintf('%03d',$i)."_etime ";}
for($i= 1;$i<= ReadingsVal("muell_kalender","c-term", 0);$i++){
$modtext .= "muell_kalender:t_".sprintf('%03d',$i)."_bdate,t_".sprintf('%03d',$i)."_btime,t_".sprintf('%03d',$i)."_summary,t_".sprintf('%03d',$i)."_edate,t_".sprintf('%03d',$i)."_etime ";}
fhem("modify rg_muell_kalender $modtext");
}

darum habe ich es ja mit dem anderen versucht ;)
Raspberry Pi mit Wheezy, 2x CUL 868MHz (MAX / Intertechno), MAX Heizkörperthermostat, MAX Fensterkontakt, Intertechno Funksteckdosen, Müll-, Termin-Kalender, Umweltanzeige (Wetter, Pollenflug & Unwetterwarnung), Spritmonitor

RoBra81

Ich nehme an, das ist ein Auszug aus deiner FHEM.cfg? Da müssen die ; verdoppelt werden...

PNinBB

#342
Einen schönen Sonntagnachmittag allen Kalenderbauern !
Zuerst besten Dank für die Tipps; es geht nunmehr, zumindest im Prinzip.
An tagedieb:
Im Post 1 steht:
define rg_View_Abfall         readingsGroup <Zeile>,<Start>,<Start Zeit>,<Summary>,<Ende>,<End Zeit>

und deine Empfehlung war:

define rg_View_Abfall readingsGroup <Zeile>,<Start>,<Start Zeit>,<Summary>,<Ende>,<End Zeit> Anzeige

Momentan kann ich nichts sagen, ob es die Ursache für den Fehler war; ich hatte jedenfals nicht das "Anzeige"; habe es angefügt.

An chris1284:
Ich hatte alle Befehle am Frontend eingegeben und nur in der config nach den "Wirkungen" gesehen.

Der wohl entscheidende Punkt war, dass ich bei den DEF-Angaben der "at"-Anweisung meinen Kalender "KalPeter" und nicht die Readings der CalView-Datei angegeben hatte. Damit konnte vermutlich nichts Passendes gelesen und demzufolge auch nichts aufgefüllt werden. Nun funktioniert es mit einem kleinen Testkalender (*.ics).
Was bleibt ist, dass die Arbeit mit dem "echten" Kalender (ca. 140 Einträge) vermutlich zu lange dauert; nach ca. 2,5 Minuten wird die Verbindung im Browser zurückgesetzt.
Da ich die den Googlekalender (*.ics) sowieso mit einem anderen Rechner hole und dann dem FHEM-Rechner übergebe, werde ich vielleicht schon dort den später zu verarbeitenden Zeitraum begrenzen.
Wann greift denn eigentlich das maxreadings-Attribut; da es zu CalView gehört wohl bei diesem Prozess. Gibt es eine andere Möglichkeit, die Terminanzahl zu begrenzen ?
Auf jeden Fall: vielen Dank !
Peter
Raspi 4B + RaZberry2 (Deb 10), FritzBox 7490;
AEOTec: KeyFobGen5: 1x;
Danfoss: Living Connect 2.51: 3x;
Fibaro: FGK: 10x: 3x; FGBS: 001: 8x, 222: 1x; FGMS001: 2x; FGR: 222: 3x, 223: 2x; FGRGBWM-441: 1x; FGBS: 222: 2x, 223: 2x,224: 1x;
Philio: PAN06-1A: 3x;

Ger-Gilias

#343
Zitat von: RoBra81 am 19 Juli 2015, 16:35:25
Ich nehme an, das ist ein Auszug aus deiner FHEM.cfg? Da müssen die ; verdoppelt werden...


ja ist der Auszuge aus dem fhem.cfg der Kalenderbereich :D  wie meinst du das, einfach hinter jemden Semikolon ( ; ) noch ein setzten oder wie?

EDIT:habe ich gemacht und folgende Error Meldung kommt jetzt

ZitatUnknown command my, try help. Unknown command my, try help. Unknown command for($i=, try help. Unknown command $modtext, try help. Unknown command for($i=, try help. Unknown command $modtext, try help. Unknown command for($i=, try help. Unknown command $modtext, try help. Unknown command fhem("modify, try help. Unknown command }, try help.
Raspberry Pi mit Wheezy, 2x CUL 868MHz (MAX / Intertechno), MAX Heizkörperthermostat, MAX Fensterkontakt, Intertechno Funksteckdosen, Müll-, Termin-Kalender, Umweltanzeige (Wetter, Pollenflug & Unwetterwarnung), Spritmonitor

RoBra81

Zumindest hinter denen im perl Quellcode