iobroker.ical 1.12.2 → 1.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/docs/en/README.md DELETED
@@ -1,198 +0,0 @@
1
- ![Logo](ical.png)
2
- # ioBroker iCal adapter
3
- This adapter allows to read .ics files from specific URL and parse it (Google Calendar or iCal).
4
- Alternatively it is possible to use a local `.ics` file (use absolute path to the file instead of URL)
5
-
6
-
7
- ## Usage
8
- Based on iCal Adapter for (CCU.IO)[https://github.com/hobbyquaker/ccu.io/tree/master/adapter/ical] from vader722
9
-
10
- ### Adapter iCal
11
- iCal adapter for ioBroker reads calendar files in `.ics` format from specified URL and writes events, that situated in the predefined time interval into ioBroker variable. Alternatively it is possible to use a local .ics file (use absolute path to the file instead of URL).
12
- They can shown in VIS using `basic html - String (unescaped)` widget.
13
-
14
- Two variables are created:
15
- - `iCalReadTrigger`
16
- - `iCalEvents`
17
-
18
- The variable `iCalReadTrigger` is used to trigger the read-in process.
19
- In the settings several URLs can be deposited, from which the calendar is read.
20
- The calendars are then read in succession and the result is summarized.
21
- Alternatively, the read command may also be given a URL, e.g. temporarily read another calendar.
22
-
23
- To read in the defaultURLs, the string `read` must be written to the variable `iCalReadTrigger`.
24
-
25
- To read from any URL, the string `read https: // ...` must be written to the variable `iCalReadTrigger`.
26
-
27
- The result returns the iCal adapter in the variable `iCalEvents`.
28
-
29
- By writing `check` to` iCalReadTrigger`, the check on events is triggered on the read data without re-reading the data.
30
-
31
- Alternatively, the adapter can also automatically query the calendars in a definable interval (only with the `defaultURL`).
32
- To do this, set the polling interval (in minutes) in the settings with the variable runEveryMinutes.
33
-
34
- Meaning of the options in the config file:
35
-
36
- - `preview`: 7 # means that appointments are displayed 7 days in advance
37
- - `runEveryMinutes`: 30 # means that the adapter automatically rewists the calendar every 30 minutes. If 0 is not read automatically
38
- - `colorize`: true # Today's appointments and appointments which are currently running will be colored red, tomorrow's appointments will be orange, this option overrides the option everyCalOneColor
39
- - `debug`: false # if true, extended output is written to the CCU.IO log
40
- - `defColor`:` white` # sets the default color of the calendar entries
41
- - `fulltime`: ` ` # determines by which string the time 00:00 is replaced for all day appointments. For spaces (between the quotes), the time is omitted for all-day appointments
42
- - `replaceDates`: true # If true, today's date is replaced by the string todayString (for example, Today). Tomorrow's appointments through the string tomorrowString
43
- - `everyCalOneColor`: false # If true, multiple calendars will have each calendar colored in a color to be specified. If the colorize option is set, this will not work!
44
- - `Calendar1`:
45
-     - "calURL": "http: //11111.ics", URL of the calendar
46
-     - "calColor": "white" color of the calendar, if the option "everyCalOneColor" is set.
47
-      
48
-   Any number of calendars can be entered. The standard config file contains 2 calendars.
49
- - `Events`:
50
-   - `name`:" vacation ":
51
-   - `enabled`: true # determines if the event will be edited
52
-   - `Set ID`: An additional state can be entered here, which is updated when the event is active
53
-   - `On / Off`: Here, an alternative value can be written to the state stored under 'Set ID'
54
-   - `display`: false # determines whether the event is also displayed in the iCalEvents, or only evaluated
55
-   - `Set Ack`: false # Ack "off" controls the state, e.g. to switch something. #true Ack "on" updates the value
56
-   
57
-   By setting an event (in this example "vacation"), the calendars are searched for the string "vacation".
58
-   If an appointment with the keyword "vacation" is in a calendar, then automatically a state with the
59
-   Name holiday set to True. If the appointment is over, the state is reset to false.
60
-   A status is created for each day of the preview period. Danger!
61
-   It is searched for a substring, i. an entry in the calendar "vacation" is recognized as well as a
62
-   Entry "holiday parents". This must be taken into account when setting the events.
63
-
64
- - Explanation of the states under ical.0.events.0
65
- - The event in the path ical.0.events.0.later is set to true if it is still happening today but has not started yet
66
- - The event in path ical.0.events.0.now is set to true if it is currently active
67
- - The event in the path ical.0.events.0.today is set to true if the event is active today
68
- - Note: events from previous days are not displayed
69
-
70
-
71
- By adjusting the CSS in the VIS, the styles of today's (standard red) and tomorrow's dates (standard orange) can be set:
72
- - `iCalWarn` - Newline calendar entry today
73
- - `iCalPreWarn` - beginning of line calendar entry tomorrow
74
- - `iCalNormal` - end of line from today
75
- - `iCalNormal2` - tomorrow's end of line
76
-
77
- ### calendar
78
- #### Apple iCloud Calendar
79
- Apple iCloud calendars can be viewed if previously shared. It's best to create your own calendar for Homematic, as the calendar will be shared with everyone.
80
- To do this, right-click on the calendar in the Calendar app and select Share Settings. Now check "Public Calendar" and copy the displayed URL. IMPORTANT: the url starts with webcal: // p0X-cale .....
81
- `webcal` has to be replaced by` http`. Then enter this URL either in the settings at defaultURL, or specify it in `read URL`, eg. `readURL http: // p-03-calendarws.icloud.com / xxxxxxxxx`
82
-
83
- #### Google Calendar
84
- To include a Google Calendar, you must go to the Google Calendar calendar setting (mouse click on the "down arrow" next to the calendar). The URL of the calendar can be found by clicking on the `ICAL` symbol next to the field" Private address ". Then enter this URL either in the settings at defaultURL, or specify it in `read URL`, eg. `readURL https: // www.google.com / calendar / ical / xxxxxxxx / basic.ics`.
85
-
86
- #### OwnCloud Calendar
87
- To include a hardcooked calendar of an OwnCloud, you have to approve this calendar in the calendar view in OwnCloud as a hardcourt calendar and share the link. This URL (https://<DOMAIN>/remote.php/dav/calendars/USER/xxxxxxx_shared_by_xxxxxx?export) have to be added in the ioBroker.ical adapter with username and password.
88
-
89
- #### NextCloud Calendar
90
- To include a NextCloud calendar, the download link of the single desired calendar of a user must be copied in the calendar view in NextCloud.
91
- To do this, log in to NextCloud as a user and go to 'Calendar'. In the left column, click on the desired calendar by the circle with three dots.
92
- In the menu that appears hover with the mouse over 'Download' and right click to copy the link.
93
- Example: https://<DOMAN>/remote.php/dav/calendars/MYCALENDAR/personal/?export (it is important that the link contains "?export").
94
-
95
- Enter this URL into the ioBroker.ical adapter with username and password. This must be done individually for all desired calendars of all users.
96
-
97
- #### Baikal lightweight CalDAV+CardDAV Server
98
- The Baikal server offers the "ics-export" plugin that allows to export a calendar as a single ICal file. This export plugin is selected with the URL and allows seamless integration with this ioBroker adaptor. Please add the export filter to the URL of your calendar (`https://SERVER/baikal/cal.php/calendars/path/to/calendar?export&accept=ical`). If you encounter authentication issues, please change the `WebDAV authentication type` from `DIGEST` to `BASIC` in the admin settings of the WebUI of the Baikal server.
99
-
100
- ### CSS
101
- In the generated HTML two kind of css classes are included to allow design freedom.
102
-
103
- #### Timebased CSS classes
104
- * _iCalNormal_/_iCalNormal2_: The Event started before today (and is still running) or later as in 3 days, default color without CSS and without a calendercolor is the configured adapter color
105
- * _iCalWarn_/_iCalWarn2_: The Event starts today, default color without CSS and without a calendercolor is `red`
106
- * _iCalPreWarn_/_iCalPreWarn2_: The Event starts tomorrow, default color without CSS and without a calendercolor is `orange`
107
- * _iCalPrePreWarn_/_iCalPrePreWarn2_: The Event starts day after tomorrow, default color without CSS and without a calendercolor is `yellow`
108
- The first CSS class (e.g. iCalNormal) is used for the date and time part of the HTML and the second CSS class (e.g. iCalNormal2) is used for the Event name.
109
-
110
- CSS example for those CSS classes to format the output a bit different (e.g. date/time left+bold and Eventname right ...):
111
-
112
- ```
113
- .icalWarn{
114
- color:red;
115
- float:left;
116
- font-size:12px;
117
- font-weight:bold;
118
- }
119
- .icalWarn2{
120
- color:white;
121
- float:right;
122
- font-size:12px;
123
- font-weight:normal;
124
- }
125
- .icalPreWarn{
126
- color:yellow;
127
- float:left;
128
- font-size:12px;
129
- font-weight:bold;
130
- }
131
- .icalPreWarn2{
132
- color:white;
133
- float:right;
134
- font-size:12px;
135
- font-weight:normal;
136
- }
137
- .icalPrePreWarn{
138
- color:white;
139
- float:left;
140
- font-size:12px;
141
- font-weight:bold;
142
- }
143
- .icalPrePreWarn2{
144
- color:white;
145
- float:right;
146
- font-size:12px;
147
- font-weight:normal;
148
- }
149
- .icalNormal{
150
- color:green;
151
- float:left;
152
- font-size:12px;
153
- font-weight:bold;
154
- }
155
- .icalNormal2{
156
- color:white;
157
- float:right;
158
- font-size:12px;
159
- font-weight:normal;
160
- }
161
- ```
162
-
163
- #### Calender-based CSS classes
164
- Each span also has a CSS class assigned based on the name of the calendar the event is in The "calendar name" defined in the adapter configuration is used for this (spaces are replaced by underscores).
165
-
166
- * _iCal-<calendername>_: This class is used for the date and time part of the HTML
167
- * _iCal->calendername2>_: This class is used for the Event name
168
-
169
- To set these CSS classes you need to use the timebased CSS class too, e.g. _.icalNormal2.iCal-<calendername>2_:
170
-
171
- ```
172
- .icalNormal2.iCal-Google2{
173
- color:white;
174
- float:right;
175
- font-size:12px;
176
- font-weight:normal;
177
- }
178
- ```
179
-
180
- #### Example of generated html
181
-
182
- ```
183
- <span style="font-weight: bold; color:white"><span class="icalNormal iCal-calendar-today">&#8594; 3.1.2018 2:00</span></span><span style="font-weight: normal; color:white"><span class='icalNormal2 iCal-calendar-today2'> TestEvent</span></span><br/>
184
- <span style="font-weight: bold; color: red"><span class="icalWarn iCal-calendar-today">1.1.2018 ganzer Tag</span></span><span style="font-weight:normal;color:red"><span class='icalWarn2 iCal-calendar-today2'> Today Event</span></span><br/>
185
- ```
186
-
187
- ## Filter
188
- In instance options it is possible to maintain a filter per calendar. It have to be a semicolon separated list. If you enable the option `Filter as regular expression` the filter is interpreted as a regular expression. During calendar refresh all events that matches by description, location or summary are excluded.
189
-
190
- The search pattern is:
191
- ```
192
- SUMMARY:MySummary
193
- DESCRIPTION:MyDescription
194
- LOCATION:MyLocation
195
- ```
196
-
197
- Blacklist: If you want to exclude all events of a specific location use `LOCATION:MyLocation` or simple `MyLocation` or 2 locations `LOCATION:MyLocation;LOCATION:SomewhereElse`.
198
- Whitelist: If you only want to include events of a specific location use regular expression like `/^(SUMMARY:.*)\s*(DESCRIPTION:.*)\s*(LOCATION:(?!MyLocation).*)$/` or for 2 locations `/^(SUMMARY:.*)\s*(DESCRIPTION:.*)\s*(LOCATION:(?!((MyHomeLocation)|(MyWorkLocation))).*)$/`
Binary file
Binary file
Binary file
Binary file
package/docs/en/ical.png DELETED
Binary file
Binary file
Binary file
package/docs/google1.png DELETED
Binary file
package/docs/google2.png DELETED
Binary file