Modul für Terminansicht CALVIEW

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

Vorheriges Thema - Nächstes Thema

Franz Tenbrock

"
Ja, es funktioniert wie es soll ... scheint insgesamt aber nur wenig getestet zu werden, gerade mal 13 mal (inkl. uns beiden) runtergeladen worden ...
"

Hallo
schaue immer mal wieder rein, hätte auch gerne einen eigenen Kalender, aber nicht in der Cloud von Google oder sonst wem. Der Thread ist nun schon 440 Beiträge lang, im Wiki steht nur ein wenig, ob der erste Post die aktuellsten Infos enthält ? Nicht als Vorwurf nur als hinweis. Nicht jeder hat so viel Zeit sich immer durch die Ganzen Threads zu lesen.... also schaue ich immer ins Wiki.
Mein Wunsch. Termine auf meinem Server speichern, am besten über FHEM Termine auch eingeben. und dann halt auch anzeigen. Geht das ?
cubi3, Cul 868, ESA2000WZ, EM1000GZ,  FS20, dashboard, 1-Wire, Max Thermos, Max Wandthermo, Max Lan, Fritzbox callmonitor, , nanocul, HM Led16, HM Bewegungsmelder, HM Schalter, RPi, banana, ESP8266, DoorPi

moonsorrox

Zitat von: Franz Tenbrock am 06 Oktober 2015, 09:04:24
Mein Wunsch. Termine auf meinem Server speichern, am besten über FHEM Termine auch eingeben. und dann halt auch anzeigen. Geht das ?
na klar geht sowas, nur eben die Termine mußt du dir schon irgendwo eintragen Google Kalender oder deine owncloud...! nur diese kann CALVIEW auch einlesen, anderes ist mir da nicht bekannt... also bisher nicht über FHEM, wie soll der das den verarbeiten, hat doch keinen eigenen Kalender und das soll das Modul ja auch gar nicht können...!

Für die die das "noch" hinbekommen haben, Klaus hat 3 Beispiele in #430 abgelegt diese funktionieren super, danach habe ich das auch aufgebaut.... Anzupassen sind dabei eben z.B. dies Stelle hier "vocalview2" jeder kann seinen Kalender ja nennen wie er möchte... ;)
Ich lese z.B. aus 3 verschiedene Kalender ein und wenn ein CALVIEW angelegt ist mal bitte in den Readings schauen dort ist noch jede Menge anderes an Readings angelegt was genutzt werden kann...
Diese Dinge verwende ich dann mit einem DOIF und kann nach Status/Kalender auch Geräte schalten
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

ChHerrm

Okay ich habe es jetzt mal nach #430 aufgebaut. Aber irgendwie läuft das noch nicht so richtig. Folgendermaßen sieht der Code aus: (Habe erstmal 3x den gleichen kalender genommen)

define Kal1 Calendar ical file /home/XYZ/KalenderCH.ics 60
define Kal2 Calendar ical file /home//XYZ/KalenderCH.ics 60
define Kal3 Calendar ical file /home//XYZ/KalenderCH.ics 60

define vocalview2 CALVIEW Kal1, Kal2, Kal3 2 70
attr vocalview2 icon Zoom-in
attr vocalview2 maxreadings 20
attr vocalview2 room Kalender
#attr vocalview2 modes all
#attr vocalview2 modeUpcoming

define Termine readingsGroup <V_Datum>,<V_Zeit>,<B_Datum>,<B_Zeit>,<Text>,<Kalender> vocalview2:t_001_bdate,t_001_btime,t_001_edate,t_001_etime,t_001_summary,t_001_source vocalview2:t_002_bdate,t_002_btime,t_002_edate,t_002_etime,t_002_summary,t_002_source vocalview2:t_003_bdate,t_003_btime,t_003_edate,t_003_etime,t_003_summary,t_003_source vocalview2:t_004_bdate,t_004_btime,t_004_edate,t_004_etime,t_004_summary,t_004_source vocalview2:t_005_bdate,t_005_btime,t_005_edate,t_005_etime,t_005_summary,t_005_source vocalview2:t_006_bdate,t_006_btime,t_006_edate,t_006_etime,t_006_summary,t_006_source vocalview2:t_007_bdate,t_007_btime,t_007_edate,t_007_etime,t_007_summary,t_007_source vocalview2:t_008_bdate,t_008_btime,t_008_edate,t_008_etime,t_008_summary,t_008_source vocalview2:t_009_bdate,t_009_btime,t_009_edate,t_009_etime,t_009_summary,t_009_source vocalview2:t_010_bdate,t_010_btime,t_010_edate,t_010_etime,t_010_summary,t_010_source vocalview2:t_011_bdate,t_011_btime,t_011_edate,t_011_etime,t_011_summary,t_011_source vocalview2:t_012_bdate,t_012_btime,t_012_edate,t_012_etime,t_012_summary,t_012_source vocalview2:t_013_bdate,t_013_btime,t_013_edate,t_013_etime,t_013_summary,t_013_source vocalview2:t_014_bdate,t_014_btime,t_014_edate,t_014_etime,t_014_summary,t_014_source vocalview2:t_015_bdate,t_015_btime,t_015_edate,t_015_etime,t_015_summary,t_015_source vocalview2:t_016_bdate,t_016_btime,t_016_edate,t_016_etime,t_016_summary,t_016_source vocalview2:t_017_bdate,t_017_btime,t_017_edate,t_017_etime,t_017_summary,t_017_source vocalview2:t_018_bdate,t_018_btime,t_018_edate,t_018_etime,t_018_summary,t_018_source vocalview2:t_019_bdate,t_019_btime,t_019_edate,t_019_etime,t_019_summary,t_019_source vocalview2:t_020_bdate,t_020_btime,t_020_edate,t_020_etime,t_020_summary,t_020_source
attr Termine group Terminliste
attr Termine nameStyle style="font-weight:bold;;color:White"
attr Termine nonames 1
attr Termine room Kalender
attr Termine valueStyle {if(substr($READING,5,7) eq "_source" && $VALUE eq "Kal1"){ 'style="color:blue"' }elsif( substr($READING,5,7) eq "_source" && $VALUE eq "Kal2" ){ 'style="color:red"' }elsif( substr($READING,5,7) eq "_source" && $VALUE eq "Kal3" ){ 'style="color:green"' }else{ 'style="color:white"' } }
#attr Termine fp_Uebersicht 53,186,0,,
#attr Termine visibility hidden



define at_KalenderTermine at +*00:02:00 {\
  my $i;;\
  my $modtext = "<V_Datum>,<V_Zeit>,<B_Datum>,<B_Zeit>,<Text>,<Kalender> ";;\
  for($i= 1;;$i<=20;;$i++){\
  $modtext .= "vocalview2:t_".sprintf('%03d',$i)."_bdate,t_".sprintf('%03d',$i)."_btime,t_".sprintf('%03d',$i)."_edate,t_".sprintf('%03d',$i)."_etime,t_".sprintf('%03d',$i)."_summary,t_".sprintf('%03d',$i)."_source "               ;;}\
  fhem("modify Termine $modtext");;\
  fhem("save");;\
}
attr at_KalenderTermine alias wird wieder aktualisiert ==>
attr at_KalenderTermine group Timer
attr at_KalenderTermine icon time_timer@LightSeaGreen
attr at_KalenderTermine room Kalender


Die Zeilen die zu Fehlern führten habe ich erstmal auskommentiert. Was stimmt hierbei noch nicht? Meine Kalenderdefinition? Ansonsten habe ich ja alles so genutzt...

moonsorrox

#453
attr modes all brauchst denn du möchtest ja alles sehen
attr fp brauchst du nicht ist Floorplan
attr hidden versteckt die ANzeige

hier mal mein Beispiel:

Kalender:
define SchichtKalender Calendar ical url https://www.google.com/calendar/ical/xxxxxxxxxxxxxxxxxxxxxxxxxxx/xxxxxxxxxxxxxxxxxxx.ics 3600
attr SchichtKalender alias Schicht Kalender
attr SchichtKalender room Kalender


CALVIEW:
define View_S CALVIEW SchichtKalender 2 3600
attr View_S maxreadings 10
attr View_S modes all
attr View_S room Kalender


Aktualisierung:
define at_KalenderTermine_S at +*04:00:00 {\
  my $i;;\
  my $modtext = "<Datum>,<Uhrzeit>,<Datum - Ende>,<Zeit - Ende>,<Ereignis>,<Kalender> ";;\
  for($i= 1;;$i<=20;;$i++){\
  $modtext .= "View_S:t_".sprintf('%03d',$i)."_bdate,t_".sprintf('%03d',$i)."_btime,t_".sprintf('%03d',$i)."_edate,t_".sprintf('%03d',$i)."_etime,t_".sprintf('%03d',$i)."_summary,t_".sprintf('%03d',$i)."_source " ;;}\
  fhem("modify rg_Termine_S $modtext");;\
  fhem("save");;\
}
attr at_KalenderTermine_S alias Schicht - Kalender wird aktualisiert ==>
attr at_KalenderTermine_S group Timer
attr at_KalenderTermine_S icon time_timer@LightSeaGreen
attr at_KalenderTermine_S room Kalender
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

kvo1

#attr Termine fp_Uebersicht 53,186,0,,
#attr Termine visibility hidden

das hatte ich vergessen rauszulöschen  !
ich habe einen Floorplan auf dem u.a. ein Kalender-ICON liegt , beim klick auf dieses ICON werden dann
die Termine (die readingsgroup) angezeigt.
In dieser RG ist dann ein weiteres kleines ICON, beim klick darauf schließt sich die RG wieder  ;)
RPi1: mit CUL: HM-CC-RT-DN,HM-ES-PMSw1-Pl,HM-LC-BL1-FM,HM-LC-Bl1PBU-FM,HM-LC-SW1-PL2,HM-SCI-3-FM,HM-SEC-SC-2,KFM-Sensor
RPi2: Viessmann(optolink) mit 99_VCONTROL.pm,
Cubietruck: Wheezy / Apache / Owncloud
Cubietruck: Armbian(Jessie) / fhem 5.7 / LMS 7.9
RPi3: (Test) mit 7" Touch  &  HM-MOD-RPI-PCB

ChHerrm

Bei mir bleibt nach wie vor "attr ... modes all" ein unbekannter Befehl für FHEM :o
Wieso funktioniert der Befehl bei euch, aber bei mir nicht?
Egal welche von euren beiden Lösungen ich nehme, erhalte ich in etwa das gleiche Resultat (s. Anhang).

moonsorrox

#456
Zitat von: ChHerrm am 06 Oktober 2015, 16:14:28
Bei mir bleibt nach wie vor "attr ... modes all" ein unbekannter Befehl für FHEM :o
<modus>
    0  für "modeStarted" Termine
    1  für "modeStarted";"modeUpcoming" Termine
    2  für "all" Termine

steht so im Wiki... :-\

siehe Wiki

in den Attributen steht aber modes
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

ChHerrm

Okay dann habe ich das doch aber schon abgedeckt in der Definition. Dann bleibt also noch folgender, nicht funktionierender Code:

define SchichtKalender Calendar ical file /home/XYZ/KalenderCH.ics 60
attr SchichtKalender alias Schicht Kalender
attr SchichtKalender room Kalender


define View_S CALVIEW SchichtKalender 1 70
attr View_S maxreadings 10
attr View_S room Kalender
#attr View_S modes all

define at_KalenderTermine_S at +*00:02:00 {\
  my $i;;\
  my $modtext = "<Datum>,<Uhrzeit>,<Datum - Ende>,<Zeit - Ende>,<Ereignis>,<Kalender> ";;\
  for($i= 1;;$i<=20;;$i++){\
  $modtext .= "View_S:t_".sprintf('%03d',$i)."_bdate,t_".sprintf('%03d',$i)."_btime,t_".sprintf('%03d',$i)."_edate,t_".sprintf('%03d',$i)."_etime,t_".sprintf('%03d',$i)."_summary,t_".sprintf('%03d',$i)."_source " ;;}\
  fhem("modify rg_Termine_S $modtext");;\
  fhem("save");;\
}
attr at_KalenderTermine_S alias Schicht - Kalender wird aktualisiert ==>
attr at_KalenderTermine_S group Timer
attr at_KalenderTermine_S icon time_timer@LightSeaGreen
attr at_KalenderTermine_S room Kalender

Und genau so sollte der eigentlich funktionieren oder? Woran kann es dann sonst liegen? Dass ich eine Outlookdatei statt eines Googlekalenders genommen habe sollte doch kein Problem sein hoffe ich. Über meine erste Variante mit set und get ging es ja auch :-\

moonsorrox

was zeigt denn dein Kalender als Status...?

und wie sehen die Readings von CALVIEW aus..?
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

ChHerrm

Auf der Kalenderseite active (s. Bild vorhin). In den Internals wird nichts angezeigt.

moonsorrox

Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

ChHerrm

Internals:
   DEF        SchichtKalender 1 70
   INTERVAL   43200
   KALENDER   SchichtKalender
   MODES      modeStarted;modeUpcoming
   NAME       View_S
   NR         290
   STATE      t: 10 td: 0 tm: 0
   TYPE       CALVIEW
   Readings:
     2015-10-06 18:30:58   c-term          10
     2015-10-06 18:30:58   c-today         0
     2015-10-06 18:30:58   c-tomorrow      0
     2015-10-06 18:30:58   state           t: 10 td: 0 tm: 0
Attributes:
   maxreadings 10
   room       Kalender



Wobei das Interval irgendwie merkwürdig ist oder?

moonsorrox

#462
schreib mal bitte ins DEF folgendes "SchichtKalender 2 3600"

dann sollte dein Intervall 3600 sein, denn du hast ja 10 Termine auf "t" dann mach mal ein set View_S update un dwieder ein list

Die 2 steht für alle Termine
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM

ChHerrm

Internals:
   DEF        SchichtKalender 2 3600
   INTERVAL   43200
   KALENDER   SchichtKalender
   MODES      all
   NAME       View_S
   NR         290
   STATE      t: 10 td: 0 tm: 0
   TYPE       CALVIEW
   Readings:
     2015-10-06 18:53:12   c-term          10
     2015-10-06 18:53:12   c-today         0
     2015-10-06 18:53:12   c-tomorrow      0
     2015-10-06 18:53:12   state           t: 10 td: 0 tm: 0
     2015-10-06 18:53:12   t_001_bdate     11.10.2015
     2015-10-06 18:53:12   t_001_btime     14:00:00
     2015-10-06 18:53:12   t_001_edate     11.10.2015
     2015-10-06 18:53:12   t_001_etime     15:45:00
     2015-10-06 18:53:12   t_001_summary   ereignis1
     2015-10-06 18:53:12   t_002_bdate     14.10.2015
     2015-10-06 18:53:12   t_002_btime     11:00:00
     2015-10-06 18:53:12   t_002_edate     14.10.2015
     2015-10-06 18:53:12   t_002_etime     20:00:00
     2015-10-06 18:53:12   t_002_summary   ereignis1
     2015-10-06 18:53:12   t_003_bdate     18.10.2015
     2015-10-06 18:53:12   t_003_btime     14:00:00
     2015-10-06 18:53:12   t_003_edate     18.10.2015
     2015-10-06 18:53:12   t_003_etime     15:45:00
     2015-10-06 18:53:12   t_003_summary   ereignis1
     2015-10-06 18:53:12   t_004_bdate     25.10.2015
     2015-10-06 18:53:12   t_004_btime     14:00:00
     2015-10-06 18:53:12   t_004_edate     25.10.2015
     2015-10-06 18:53:12   t_004_etime     15:45:00
     2015-10-06 18:53:12   t_004_summary   ereignis1
     2015-10-06 18:53:12   t_005_bdate     31.10.2015
     2015-10-06 18:53:12   t_005_btime     12:00:00
     2015-10-06 18:53:12   t_005_edate     31.10.2015
     2015-10-06 18:53:12   t_005_etime     17:00:00
     2015-10-06 18:53:12   t_005_summary   ereignis1
     2015-10-06 18:53:12   t_006_bdate     01.11.2015
     2015-10-06 18:53:12   t_006_btime     14:00:00
     2015-10-06 18:53:12   t_006_edate     01.11.2015
     2015-10-06 18:53:12   t_006_etime     15:45:00
     2015-10-06 18:53:12   t_006_summary   ereignis1
     2015-10-06 18:53:12   t_007_bdate     06.11.2015
     2015-10-06 18:53:12   t_007_btime     00:00:00
     2015-10-06 18:53:12   t_007_edate     07.11.2015
     2015-10-06 18:53:12   t_007_etime     00:00:00
     2015-10-06 18:53:12   t_007_summary   ereignis1
     2015-10-06 18:53:12   t_008_bdate     07.11.2015
     2015-10-06 18:53:12   t_008_btime     14:00:00
     2015-10-06 18:53:12   t_008_edate     07.11.2015
     2015-10-06 18:53:12   t_008_etime     15:45:00
     2015-10-06 18:53:12   t_008_summary   ereignis1
     2015-10-06 18:53:12   t_009_bdate     08.11.2015
     2015-10-06 18:53:12   t_009_btime     00:00:00
     2015-10-06 18:53:12   t_009_edate     09.11.2015
     2015-10-06 18:53:12   t_009_etime     00:00:00
     2015-10-06 18:53:12   t_009_summary   ereignis1
     2015-10-06 18:53:12   t_010_bdate     12.11.2015
     2015-10-06 18:53:12   t_010_btime     00:00:00
     2015-10-06 18:53:12   t_010_edate     13.11.2015
     2015-10-06 18:53:12   t_010_etime     00:00:00
     2015-10-06 18:53:12   t_010_summary   ereignis1
Attributes:
   maxreadings 10
   room       Kalender


AUsgelesen wird das Ganze schon mal. Jedoch wird noch immer nichts angezeigt und das Interval ist unverändert.

moonsorrox

Zitat von: ChHerrm am 06 Oktober 2015, 18:57:40
AUsgelesen wird das Ganze schon mal. Jedoch wird noch immer nichts angezeigt und das Interval ist unverändert.

ist doch schon etwas und wie sieht deine Readingsgroup aus, denn nur die zeigt die Termine an
Intel-NUC i5: FHEM-Server 6.1 :: Perl v5.18.2

Homematic: HM-USB-CFG2,HM-CFG-LAN Adapter, HM-LC-BL1-FM, HM-LC-Sw1PBU-FM, HM-LC-Sw1-PI-2, HM-WDS10-TH-O, HM-CC-TC, HM-LC-SW2-FM