This adapter allows to read .ics files from specific URL and parse it (Google Calendar or iCal).
Alternatively it is possible to use a local .ics
file (use absolute path to the file instead of URL)
Read english here. Siehe deutsche Version hier.
This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers. For more details and for information how to disable the error reporting see Sentry-Plugin Documentation! Sentry reporting is used starting with js-controller 3.0.
data.trigger
doesn't supportcheck
option- fix timezone stuff in tests
- (Apollon77) Fix displaying rest-time of event in one case
- (Apollon77) Adjust colorize of dates to also show dates started in the past with todays color
- (Apollon77/Scrounger) Add option to choose the ack flag set when updating foreign objects on events
- (HSE83) use a color field from the calendar entry as color for display
- (Apollon77) When no Arrow for already running events is shown and dates are not replaced with words display the start date in the list and not the end date
- (Apollon77) When not replacing date with words and entry ends at 0:0:0 show the day before as end
- (Apollon77) Fix issues when no end date is provided in the calendar entry (start and end are the same)
- (Apollon77) Correctly calculate length of multi day events
- (Apollon77) Respect DST changes in some calculations to prevent strange effects
- (Apollon77) Parse ics Files with different line endings again
- (jens-maus) fixed incorrect recurrence event processing
- (jens-maus) updated node-ical to latest 0.14.1
- (jens-maus) fix another issue where an already ended event is still listed
- (Apollon77) fix cases where already ended entries where still listed
- (Apollon77) fix reported sentry crash cases (IOBROKER-ICAL-S, IOBROKER-ICAL-N)
- (jens-maus) fixed timezone related handling
- (Apollon77) Change one logline to debug
- (Apollon77) Adjust date length for full day events to the full day
- (Apollon77) Locally cache remote calendars to be used in case of request errors
- (Apollon77) Make sure daysPast is correctly initialized if not provided
- (Apollon77) When no calendar could be read then no events are updated/cleanup
- (Apollon77) Respect HTTP statuscode from server response too to detect errors
- (Apollon77/Feuersturm) Fix other timezone issues
- (Apollon77) Fix setting external States when events are active
- (Apollon77) Also list recurring entries from the past
- (Apollon77) Fix the event states for the days in future
- (Apollon77/Feuersturm) Fix wrong times and dates introduced in 1.7.5.
- (Feuersturm) Allow Setting daysPast to be decreased to zero with button again
- (Apollon77) Make sure all Event objects are created before values are written
- IMPORTANT: data.table is now a stringified array!! Consider when using this value!
- (Apollon77) Optimize for js-controller 3.3
- (BasGo) added analysis for events marked as private in Google Calendar
- (jens-maus) updated dependencies
- (Apollon77) Better handling of some ical cases
- (Apollon77) Prevent crash case when summary is not provided (Sentry IOBROKER-ICAL-K)
- (Apollon77) try to make sure all code is executed before adapter is ended
- (christofkac) Added option to ignore case when events are searched in calendars
- (Apollon77) Prevent crash case (Sentry IOBROKER-ICAL-F)
- (Apollon77) update ical library to prevent problems with RRULE parsing
- (Apollon77) Prevent crash case (Sentry IOBROKER-ICAL-D)
- (Apollon77) Prevent crash case (Sentry IOBROKER-ICAL-C)
- (Apollon77) Upgrade node-ical
- (klein0r) Several fixes and optimizations
- (klein0r) Fixed past event calculation in html view
- (klein0r) Moved html options to separate tab
- (klein0r) Added option to hide "arrow" on for running events
- (klein0r) Added feature to include past events (in days)
- (Apollon77) Only handle events with a start date (Sentry IOBROKER-ICAL-1, IOBROKER-ICAL-2, IOBROKER-ICAL-4)
- (jens-maus) Update dependencies, fix some more issues
- (Apollon77) Fix multiple parsing
- (foxriver76) we pin a specific dependency version, because "rrule" package broken
- (foxriver76) added eslint
- (bluefox) Documentation was changed
- (twonky4) Fixed issue with UTC of until in recurring appointments
- (twonky4) Fixed possible empty color
- (twonky4) Add filter option
- (twonky4) Add support of events for configured date period; changed state names from
events.*
toevents.0.today.*
- (twonky4) Add Count of events for tomorrow - state
data.countTomorrow
- (twonky4) Events without time part and same start and end are interpreted as full day events
- (twonky4) Remove special chars from event states
- (twonky4) Fixed html for disabled colorize
- (twonky4) Fixed timezone handling for events during change from daylight saving time back to standard time
- (twonky4) Fixed events without end date moved to different day
- (twonky4) Simplify timezone solution
- (twonky4) Fix calendars without timezones
- (twonky4) Support windows timezones
- (twonky4) Don't fail on invalid timezones
- (twonky4) Fixes timezone issue in fullday recurring appointments
- (twonky4) Fixes timezone issue in recurring appointments
- (Apollon77) Several fixes and optimizations
- (Apollon77) Several fixes and optimizations
- (Apollon77) Upgrade node-ical library to allow big files to work
- (Apollon77) Better handling of full day events
- (Apollon77) Allow "Replace 0:00" to have 30 characters
- (Apollon77) Also make location available in data table
- (Apollon77/BuZZy1337) Fix several display issues
- (bluefox) ready for Admin3
- (Apollon77) Also display events that started before today
- (Apollon77) also allow events without end parameter and assume an 0minute event then and set end = start
- (Apollon77) allow multiple Events to be contained in one calendar entry. Make sure the names are unique enough because the search only checks for existance of the event name in the text.
- (Apollon77) correctly detect events that started before 0:00
- (Apollon77) also show events with no duration (sometimes used as reminders)
- (Apollon77) correctly show end times for events that are longer then 1 day (including "+x" to show day duration)
- (Apollon77) many enhancements and optimizations in formatting the infos (especially when event has already started but not ended)
- (Apollon77) add option to hide year numbers
- (Apollon77) add own CSS classes to each entry with the names iCal- and iCal-2 to be able to really design it as needed
- (Apollon77) Known issue: For recurring events it works to delete single events, but it do not work to move them
- (DutchmanNL) Translate to Netherlands
- (jens-maus) added singular form for 'days'
- (jens-maus) implemented support for date excludes for recurring events
- (jens-maus) switched ical module to use 'node-ical' which should improve ics format compatibility
- (jens-maus) added changes to show "Noch X Tage" for fullday events (e.g. school holidays)
- (jens-maus) applied workaround of ics files with TZID before DATE in DTSTART/DTEND
- (bluefox) allow read from files
- (bluefox) add tests
- (bluefox) fix all day indication
- (bluefox) fix error if entry is invalid
- (bluefox) use newer ical packet version
- (jens-maus) implemented some more text replacement terms
- (jens-maus) we only colorize the date+time for imminent appointments
- (jens-maus) added cloneextend dependency definition and fix for dayafter mods
- (jens-maus) ported the "dayafter" change of the ccu.io ical adapter to the iobroker
- (bluefox) enable auth only if user set.
- (elmars) Added ability to provide username/password to authenticate against protected ics files. Tested with owncloud.
- (bluefox) fix error if ICS file has empty lines
- (bluefox) change readme title
- (bluefox) fix error with set event to false
- (bluefox) add additional fields for ioBroker.occ
- (bluefox) make it compatible with new concept
- (bluefox) fix error with configuration
- (bluefox) fix error with event object creation
- (bluefox) initial commit
The MIT License (MIT)
Copyright (c) 2014-2022, bluefox dogafox@gmail.com
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.