1epgsearch(1)                Epgsearch Version 2.4.1               epgsearch(1)
2
3
4

NAME

6       epgsearch - Searchtimer and replacement of the VDR program menu
7

OVERVIEW

9       EPG-Search can be used as a replacement for the default schedules menu
10       entry. It looks like the standard schedules menu, but adds some
11       additional functions:
12
13        - Commands for EPG entries with 5 built-in commands like 'show repeats',
14          'create search'. One can add own commands for other needs, like adding a
15          VDRAdmin auto-timer.
16
17        - Add up to 4 user-defined times to 'now' and 'next' and an optional
18          favorites menu
19
20        - Searching the EPG: Create reusable queries, which can also be used
21          as 'search timers'.
22
23        - Search timers: Search for broadcasts in the background and add a
24          timer if one matches (similar to VDRAdmin's auto-timers) or simply
25          make an announcement about it via OSD
26
27        - Avoid double recordings of the same event
28          * timer preview
29          * recognition of broken recordings
30          * fuzzy event comparison
31
32        - Progress bar in 'What's on now' and 'What's on next'
33
34        - Shift the time displayed by key press, e.g. 'What's on now' + 30 minutes
35
36        - Start menu can be setup between 'Schedule' or 'What's on now'
37
38        - background check for timer conflicts with a timer conflict manager
39
40        - detailed EPG menu (summary) allows jumping to the next/previous
41          event
42
43        - support for extended EPG info for search timers
44
45        - extension of the timer edit menu with a directory item, user
46          defined weekday selection and a subtitle completion.
47
48        - Timer conflict check, informs you over the OSD about conflicts
49
50        - Timer conflict menu, show detailed information about the conflicts
51          and let you resolve them
52
53        - Email notifications about search timer updates and timer conflicts
54
55       Parts of the sources are based on the repeating-ECG patch from Gerhard
56       Steiner, who gave me the permission to use them. Thanks for his work!
57

OPTIONS

59       -f file,  --svdrpsendcmd=file
60           the path to svdrpsend for external SVDRP communication (default is
61           internal communication, so this is usually not needed anymore)
62
63       -c path,  --config=path
64           to specify a specific config directory for all epgsearch config
65           files, default is '<plugins configuration directory>/epgsearch'
66
67       -l file,  --logfile=file
68           to specify a specific log file for epgsearch (default log file is
69           epgsearch.log in the epgsearch config directory)
70
71       -v n,  --verbose=n
72           verbose level for log file. Value 0 means no logging. Other values
73           are 1 (general messages), 2 (detailed messages), 3 (planned for
74           extra detailed info for debugging purposes)
75
76       -r,  --reloadmenuconf
77           reload epgsearchmenu.conf with plugin call. This can be useful when
78           testing customized menu layouts.
79
80       -m file,  --mailcmd=file
81           the external command to be used for mail delivery. The default uses
82           'sendEmail.pl'. If you are using a different command or script make
83           sure that it has the same parameter interface as sendEmail.pl.
84

CONTENT

86        1.    Description
87        1.1     Menu commands
88        1.2     Menu search
89        1.2.1     Menu edit search
90        1.2.2     Menu search results
91        1.3     Extended 'now' and 'next'
92        1.4     Menu setup
93        2.    Search timers
94        2.1     'Avoid repeats' - internals
95        2.2     How do we compare two events?
96        2.3     How and when do we compare?
97        3.    Usage from other plugins or scripts
98        4.    Using extended EPG info
99        5.    Replacing the standard schedule menu
100        6.    Add-ons
101

1. Description

103       At first glance EPG-Search looks like the schedules menu entry of VDR.
104       By pressing the key '0', one can toggle the bottom color keys to access
105       additional functions (the default assignment of the color keys can be
106       adjusted by setup):
107
108   1.1 Menu Commands
109       This menu displays commands that can be executed on the current item.
110       There are 8 built-in commands:
111
112        - Repeats: Searches for repeats
113
114        - Record
115
116        - Switch
117
118        - Create search
119          Switches to search menu and adds a new search with the name of the current
120          item (to avoid editing the name manually)
121
122        - Search in recordings:
123          Search the recordings for a broadcast with the same name
124
125        - Mark as 'already recorded':
126          This puts the selected event into the file epgsearchdone.data and instructs
127          epgsearch to avoid recording this event if an according search timer is set
128          to "avoid repeats". An already created timer will be automatically removed
129          with the next search timer update.
130
131        - Add/Remove to/from switch list?:
132          Controls the switch list. If there is an event in the switch list, epgsearch
133          will announce it and switch to the event before it starts. To access the
134          complete switch list, call 'Search/Actions/Switch list'.
135
136        - Create blacklist:
137          A blacklist is used to ignore events when using search timers. A search
138          timer can be setup to ignore events from arbitrary blacklists.
139
140       You can add your own commands to this menu by editing the file
141       epgsearchcmds.conf in the epgsearch config directory. There's a sample
142       conf file with some sample commands (see directory 'scripts', taken
143       from vdr-wiki.de, thanks to the authors).
144
145       The format of the file is the same as VDR's commands.conf or
146       reccmds.conf. When a command is executed the following parameters are
147       passed to it:
148
149        $1: the title of the EPG entry
150        $2: the start time of the EPG entry as time_t value (like in the
151            shutdown script)
152        $3: the end time
153        $4: the channel number of the EPG entry
154        $5: the long channel name of the EPG entry
155        $6: the subtitle of the EPG entry, "" if not present
156
157       To execute a command from the main menu you can also press its
158       associated number without opening the commands menu.
159
160   1.2 Menu search
161       Here you can add, edit, delete and execute your own queries on the EPG.
162       The usage and behavior of this menu is similar to VDR's timer menu.
163
164       1.2.1 Menu edit search
165
166       Most things in this menu are quite clear, so only some notes on:
167
168       - Search term:
169           The term to search for. If you like to search for more words,
170           separate them by blanks. Leaving this empty (combined with search
171           mode 'Phrase') will match anything. This is useful, if you search
172           e.g. for anything that starts between some times on a specific
173           channel.
174
175           With 'blue' you can also select a template for the new search. If
176           one of the templates is set to default, new searches will
177           automatically get the settings of the default template.
178
179           Note: fuzzy searching is limited to 32 chars!
180
181       - Search mode:
182           'Phrase' searches for the expression within the EPG. 'All words'
183           requires, that each word of the expression occurs in the EPG item.
184           'at least one word' requires, that only one word occurs in the EPG
185           item.  'Match exactly' requires, that your search term matches
186           exactly the found title, subtitle or description.
187
188           With 'Regular expression' you can setup a regular expression as
189           search term. You don't need a leading and trailing '/' in the
190           expression. By default these are POSIX extended regular
191           expressions.  If you like to have Herl compatible regular
192           expression, simply edit the plugins Makefile and uncomment
193           '#REGEXLIB = pcre' to 'REGEXLIB = pcre' (you will need pcreposix
194           installed, comes with libpcre from www.pcre.org, but it's already
195           part of most distributions).
196
197           See also epgsearch(4) 'Description of the search process'.
198
199       - Use content descriptor
200           Some providers deliver content descriptors in their EPG, like
201           "Movie/Drama", "Documentation",...(available with vdr-1.7.11)
202           Select here the descriptors to search for. Multiple choice is
203           possible, that must match with all given descriptors (AND
204           operator).
205
206       - Use extended EPG info:
207           Only available if configured, see below 'Using extended EPG info'.
208
209       - Ignore missing categories:
210           If set to 'Yes' this tells epgsearch that a missing EPG category
211           should not exclude an event from the results. Caution: Using this
212           without any other criterions could flood your timers.
213
214       - Use channel:
215           Search only for events in the given channels interval, channel
216           groups or FTA channels only.
217
218           Channel groups (e.g. sport channels or Pay-TV channels) can be
219           managed with a sub-menu called with 'blue'.
220
221           ATTENTION: After changing the channels order please check the
222           settings of your search timers!
223
224       - Use day of week:
225           Besides the weekdays you can also set up a user-defined selection,
226           e.g. search only on Monday and Friday.
227
228           You'll find the user-defined selection in the list after Friday.
229
230       - Use blacklists:
231           Blacklists are a way to exclude unwanted events. Select only
232           global, one, more or all blacklists here. If any search result is
233           also contained in one of the selected blacklists it will be
234           skipped.
235
236       - Use in favorites menu:
237           Only available if turned on in setup. With this option you can mark
238           a search to be used in the favorites menu. The search results of
239           all these searches are listed in the favorites menu.
240
241       - Result menu layout:
242           Only available if you have defined more than one menu template for
243           search results in epgsearchmenu.conf. This option is used to assign
244           a different menu layout for the search results of this search.
245
246       - Use as Search Timer:
247           If set to yes, the plugin will do a background scan of the EPG in
248           certain intervals and add a timer, if there is a match. You have to
249           activate the 'search timers' in the setup. If set to "user defined"
250           one can specify time margins with key 'blue' where the search timer
251           is active or not.
252
253       - Action:
254           Default action is creating a timer for the search results. But you
255           can also choose to simply announce the found event via OSD as soon
256           as it is found or to automatically switch to the event before it
257           starts. It's also possible to get an announcement via OSD before
258           the event starts and to switch to its channel with 'Ok'.
259
260       - Serial recording:
261           If set to yes, the recordings will be stored in a folder with the
262           name of the broadcasting and the recordings itself will have the
263           name of the episode. If there is no episode name, the date and time
264           of the recording will be used.
265
266       - Directory:
267           Here you can assign a directory, where the recording should be
268           stored, e.g. 'SciFi'. Use the key 'blue' to select directory
269           entries already used in other search entries or given by entries in
270           the file epgsearchdirs.conf (simply place your directories here one
271           at each line without the leading video directory, also see MANUAL).
272           If your provider delivers extended EPG infos you can also use
273           variables like "%Genre%" or "%Category%" in your directory entry.
274           These are replaced with the current EPG info, when a timer is
275           created.
276
277           See also epgsearch(4) 'Using variables in the directory entry of a
278           search timer'.
279
280       - Delete recordings after ... days:
281           Some recordings should only be kept for a few days, like news. With
282           this feature you can tell epgsearch to delete them automatically
283           after ... days.
284
285       - Pause if ... recordings exist:
286           If the given numbers of recordings currently exists, then epgsearch
287           will not create further timers. After deleting one or more
288           recordings it will go on generating new timers.
289
290       - Avoid repeats:
291           If you don't want to record repeats, this feature tries to check if
292           an event was already recorded/programmed and skips it. Please refer
293           to the section 'Avoid repeats - internals' below before using it.
294
295       - Allowed repeats:
296           If you like to accept a certain amount of repeats you can give here
297           their number.
298
299       - Only repeats within ... days:
300           Give here the number of days a repeat has to follow its first
301           broadcast. 0 is equal to no restriction.
302
303       - Compare title:
304           When comparing to events then specify here if the title should be
305           compared.
306
307       - Compare subtitle:
308           When comparing to events then specify here if the subtitle should
309           be compared. With 'yes' epgsearch will classify two events only as
310           equal if their episode names match and are not empty.  With 'allow
311           empty' two events may be equal if both subtitles are empty.
312           Normally you would choose "no" in this case.
313
314       - Compare description:
315           When comparing to events then specify here if the description
316           should be compared.
317
318           For comparison all parts of the description, that look like a
319           category value, are removed first. The remaining text will be
320           compared. If this is similar at the value of the next option
321           (regarding the Levinshtein-Distance algorithm) then it will be
322           accepted as equal.
323
324       - "Min. match in %:"
325           The needed minimum match of descriptions in percent.
326
327       - Compare date:
328           Sometimes an event is repeated many times within some period (day,
329           week, month,...), but one cannot distinguish the repeats based on
330           the EPG contents. So the only information is its time.  To use this
331           for comparison select the appropriate period.
332
333       - Compare categories:
334           With the button 'setup' you can also specify which categories
335           should be compared. As with subtitles an event is different if it
336           has no according category value.
337
338       - Priority, lifetime, margins for start and stop:
339           Each search timer can have its own settings for these parameters.
340           Defaults can be adjusted in the plugins setup.
341
342       - VPS:
343           If set to yes, VPS is used, but only, if activated in VDR's setup
344           menu and if the broadcasting has VPS information.
345
346       - Auto delete:
347           to automatically delete a search timer if the following is true:
348
349            * after x recordings, or
350            * after x days after the first recording
351
352           Only complete recordings are counted. The deletion is executed
353           directly after the correspondig recording
354
355       To toggle the flag 'Use as search timer' without editing the search
356       entry you can use the key '2'. This will call directly the second
357       command of the command menu.
358
359       1.2.2 Menu search results
360
361       This menu displays the search results. A 'T' lets you know, that there
362       is already a timer for the event. A 't' means that there's only a
363       partial timer for it, as in standard schedules menu.
364
365   1.3 Extended 'now' and 'next' and favorites
366       By setup, one can add up to 4 additional times to extend the green
367       button, e.g. 'afternoon', 'prime time', 'late night'. Times, that are
368       already passed, are skipped (you will not get 'afternoon' at evening)
369       with the exception that a time will be displayed for the next day, if
370       it is less then 20h in the future.  In these menus you can shift the
371       currently displayed time by pressing FastRew or FastFwd to move back
372       and forward in time. If you don't have these keys on your remote, you
373       can access this function by pressing '0' to toggle the green and yellow
374       button to '<<' and '>>'. This toggling can be adjusted by setup.
375
376       You can display a progress bar in 'now' and 'next'.
377
378       Furthermore you can enable in the setup an favorites list. You can
379       configure your searchtimers ("Use in favorite list") to display their
380       results in you favorite list. This list display event in the next 24
381       hours ordered by time.
382
383   1.4 Menu setup
384       1.4.1 General
385
386       - Hide main menu entry:
387           This hides the main menu entry 'search'. Attention: when the plugin
388           is assigned to key 'green' then hiding the plugin will give you
389           VDR's standard schedule menu (see below to avoid this).
390
391       - Main menu entry:
392           If not hidden, the name of main menu entry can be set here. Default
393           is 'Program guide'. Note: If you set it to something different from
394           the default then the main menu entry is no longer dependent on the
395           OSD language. Setting it back to default or empty restores this
396           behavior again.
397
398       - Start menu:
399           Select the starting menu 'Schedules' or 'Now'
400
401       1.4.2 EPG menus
402
403       - Ok key:
404           Choose here the behavior of key 'Ok'. You can use it to display the
405           summary or to switch to the corresponding channel. Note: the
406           functionality of key 'blue' (Switch/Info/Search) depends on this
407           setting.
408
409       - Red key:
410           Select if you like to have Standard ('Record') or 'Commands' as
411           assignment for key 'red'.
412
413       - Blue key:
414           select if you like to have Standard ('Switch') or 'Search' as
415           assignment for key 'blue'.
416
417       - Show progress in 'Now':
418           In the menu 'what's on now' you can display a progress bar, that
419           displays the progress of the current item.
420
421       - Show channel numbers:
422           Select this if you like to have a leading channel number before
423           each item in the EPG menus.
424
425       - Show channel separators:
426           Display channel group separators between channel in the menus
427           'Overview now',...
428
429       - Show day separators:
430           Display a day separator between events on different days in the
431           schedule menu.
432
433       - Show radio channels:
434           Also list radio channels.
435
436       - Limit channels from 1 to:
437           If you have a large channel set you can speed up things when you
438           limit the displayed channels with this setting. Use '0' to disable
439           the limit. If the current channel is above the limit, the limit is
440           ignored and all channels will be displayed again.
441
442       - 'One press' timer creation:
443           If set to 'yes' a timer is immediately created when pressing
444           'Record', else the timer edit menu is displayed.
445
446       - Show channels without EPG:
447           Display channels without EPG to allow switching or create a timer.
448
449       - Time interval for FR/FF [min]:
450           In the menus 'now', 'next', 'user def 1', ... you can shift the
451           displayed time by pressing FastRew, FastFwd on your remote control.
452           Adjust the amount of minutes to jump here.
453
454       - Toggle Green/Yellow:
455           If you don't have FastRew, FastFwd on your remote control, set this
456           to yes. When pressing '0' in the menus, this toggles the assignment
457           of the color keys and assigns e.g. '<<' and '>>' to 'green' and
458           'yellow'.
459
460       - Show favorites menu:
461           A favorites menu can display a list of your favorite broadcasts.
462           Enable this if you want an additional menu besides 'Now' and
463           'Next'. You can choose between displaying this menu before or after
464           the menus with user-defined times. Any search can be used as a
465           favorite. You only have to set the option 'Use in favorites menu'
466           when editing a search.
467
468       - for the next ... hours:
469           This value lets you adjust the timespan used to display the
470           favorites.
471
472       1.4.3 User-defined EPG times
473
474       - Use user time 1..4:
475           Add up to 4 user-defined times besides 'now' and 'next'.
476
477       - Description:
478           Name of the user-defined time, e.g. 'Afternoon', 'Prime time',
479           'Late night'.
480
481       - Time:
482           The associated time of the user-defined time.
483
484       1.4.4 Timer programming
485
486       - Use VDR's timer edit menu:
487           When programming a standard timer epgsearch uses an extended menu,
488           that also supports a directory item, user defined weekday selection
489           and subtitle completion. If you are using a patched version of VDR,
490           that also has an extended timer edit menu and like to use this menu
491           rather than epgsearch's then set this option to 'Yes'.
492
493       - Default recording directory:
494           This entry will be used in standard timer programming as default
495           directory. You can also use EPG category variables (e.g. 'My
496           Movies~%Category%~%Genre%'). When the timer edit menu is launched
497           epgsearch tries to replace all variables with the values found in
498           the description of the event. If not all variables could be
499           replaced then the directory item is left blank.
500
501       - Add episode to manual timers:
502           When manually adding a timer epgsearch can automatically add the
503           episode name to the timer file resulting in a sub-folder for the
504           later recording, that is named with the episode name. Choose here
505           how this should be done. 'smart' tries to recognize if this makes
506           sense. Therefore it checks the length of the event and skips the
507           subtitle if the event has more than 80min.
508
509       - Default timer check method:
510           Manual timers can be checked for EPG changes. Here you can setup
511           the default check method for each channel. The following methods
512           exist:
513              * no check
514              * by event ID: checks by an event ID supplied by the channel
515           provider.
516              * by channel and time: check by the duration match.
517
518           Not all channels provide a proper event ID, so you can setup the
519           default for each channel here. When programming a manual timer,
520           this default use used in epgsearch's own timer edit menu.
521
522       1.4.5 Search and search timers
523
524       - Use search timers:
525           If yes, the plugin makes a background scan of the EPG and adds
526           timers if it finds matching entries. This applies only to searches
527           that are marked with 'use as search timer'.
528
529           Search timers will always be created local, even if
530           SVDRPDefaulthost is set to a different host.
531
532       - Update interval:
533           The update interval of the background scan for search timers in
534           minutes.
535
536       - SVDRP port:
537           For VDR versions through 1.7.14, the default SVDRP port was 2001.
538           Starting with vdr-1.7.15 it was changed to 6419. If you want to use
539           a port other than the default, set it here to get the search timers
540           working.
541
542       - Delay threads:
543           The start of the Searchtimer-Update Thread and the following
544           Conflict check can be delayed after VDR-Ready between 0 and 300
545           seconds (Default is 10 secs).
546
547       - Default Priority:
548           Default priority of generated timers.
549
550       - Default Lifetime:
551           Default lifetime of generated timers.
552
553       - Margin at start/stop:
554           Default margins of generated timers.
555
556       - Allowed Errors:
557           Allowed errors before a recording is marked as incomplete.  (not
558           available in vdr 2.4)
559
560       - No announcements when replaying:
561           suppress event announcements while any replay is active.
562
563       - Recreate timers after deletion:
564           epgsearch remembers by default which timers where already created
565           by search timers and will not recreate them if they were removed.
566           To disable this behaviour set this to 'Yes'.
567
568       - Check if EPG exists for ... [h]:
569           If you get EPG content from external providers it is possible, that
570           something fails and some recordings are skipped because of the
571           missing EPG. With this function one can check if EPG content exists
572           for the next ... hours. With '0' the check is disabled.
573
574       - "Warn by OSD:"
575           Set this to 'Yes' to get warned via OSD.
576
577       - "Warn by mail:"
578           Set this to 'Yes' to get warned by email. Please configure the
579           email account in 'email notification'
580
581       - "Channel group to check:"
582           select hier the channel group to check. Perhaps you have to create
583           it before in 'channel groups'
584
585       - Ignore Pay-TV channels:
586           Set this to 'Yes' if you don't want to have events from Pay-TV
587           channels when searching for a repeat.
588
589       - Search templates:
590           Here you can manage search templates which can be used when
591           creating a search.
592
593       - Blacklists:
594           Here you can manage blacklists which can be used to suppress
595           unwanted events within a search.  A blacklist can also be marked as
596           global. Since the default setting of a search timer for 'use
597           blacklists' is 'only global', this is a simple way to exclude
598           unwanted events form all search timers, except: If the search timer
599           has the option 'use blacklists: none' no blacklists are taken into
600           account. Also the search for repeats within the OSD ignores any
601           blacklists.
602
603       - Channel groups:
604           Here you can setup channel groups (e.g. Sport channels, Pay-TV
605           channels) that can be used as criterion in  searches. The same can
606           be done in the search edit menu.
607
608       Important: if you get your EPG from external sources make sure that
609       search timer updates are disabled while your EPG is updated. The reason
610       for this is that epgsearch will remove timers without events assigned
611       to them. This situation can exist while the new EPG is feeded to VDR. A
612       simple way to disable search timer updates is to use the SVDRP command
613       SETS in your EPG update script:
614
615       svdrpsend plug epgsearch SETS off
616
617       <your EPG update script>
618
619       svdrpsend plug epgsearch SETS on
620
621       1.4.6 Timer conflict checking
622
623       - Ignore below priority:
624           If a timer will fail with a priority below the given value, you
625           won't get an OSD message about this and the conflict will be
626           classified as 'not relevant' in the conflicts overview.
627
628       - Ignore conflict duration less ... min.:
629           If a conflict will last only the given minutes it will not produce
630           an OSD message and the conflict will be classified as 'not
631           relevant' in the conflicts overview.
632
633       - Only check within next ... days:
634           Here you can specify the day range that should be used for the
635           conflict check.
636
637       - Check also remote conflicts:
638           If SVDRPPeering is active, conflicts for remote timers will be
639           checked, if set to "yes". For this to work epgseach-plugin has to
640           be active on the remote host too. Default is "no".
641
642       - After each timer programming:
643           This performs a conflict check after each manual timer programming
644           and - if the new/modified timer is involved in a conflict - pops up
645           an OSD message about it.
646
647       - "When a recording starts:
648           Set this to 'yes' if the conflict check should be performed when a
649           recording starts.  In the case of a conlfict you get immediately a
650           message that informs you about it.  The message is only displayed
651           if the conflict is within the next 2 hours.
652
653       - After each search timer update:
654           Specify here if you want to have a conflict check after each search
655           timer update. If set to 'No':
656
657       - every ... minutes:
658           performs a conflict check in the background every ... minutes and
659           informs about relevant conflicts via OSD. Set this to '0' to
660           disable this feature.
661
662       - if conflicts within next ... minutes:
663           - every ... minutes:
664               if you like to have a more frequent check and OSD notification
665               when a conflict appears within the given time, use this
666               feature.
667
668       - Avoid notification when replaying:
669           Set this to 'yes' if the don't want to get OSD messages about
670           conflicts if you currently replay something. Nevertheless messages
671           will be displayed if
672            the first upcoming conflict is within the next 2 hours.
673
674       Also have a look at epgsearch(4), section 'Working with the timer
675       conflict menu'.
676
677       1.4.7 Email notification
678
679       Please make sure, that 'sendEmail.pl' is in the path of your
680       executables and that the 'epgsearchupdmail.templ' and
681       'epgsearchconflmail.templ' exists in epgsearch's configurations
682       directory!
683
684       - Search timer notification:
685           Enable this, if you want to get an email notification, when the
686           search timer background thread has
687
688             - created a new timer
689             - modified an existing timer
690             - deleted a timer, that was void because of EPG changes or other user
691               actions.
692
693           (Also requires 'Use search timers' in the search timer setup to be
694           activated.)
695
696       - Time between mails [h]:
697           For search timer notifications one can set the minimum distance in
698           hours between the mails.  As soon as this time has elapsed a new
699           mail is sent after the next search timer update.  A value of '0'
700           means no delay and will cause immediate mail delivery.
701
702       - Timer conflict notification:
703           Enable this, if you want to get an email notification about timer
704           conflicts. The notification will only include 'relevant' conflicts
705           as specified in the timer conflict setup. epgsearch will always
706           send a new notification if there is any change in the current
707           conflicts.
708
709           (Also requires 'After each search timer update' or 'every ...
710           minutes' in the conflict check setup to be activated.)
711
712       - Send to:
713           The mail address of the recipient. Note: Some providers (like
714           Arcor) don't allow the same address for sender and recipient.
715
716       - Mail method:
717           You can choose between:
718
719             - sendEmail.pl: this is a simply script shipped with epgsearch, that allows
720               mail delivery also on systems without a configured mail server. Please
721               copy it to your $PATH
722             - sendmail: requires a properly configured mail system
723
724       - Email address:
725           Your full(!) email account address to be used for sending the mail.
726
727       - SMTP server:
728           The name of your SMTP server to be used for sending the mails.
729
730       - Use SMTP authentication:
731           Select 'yes' if your account needs authentication to send mails.
732
733       - AUTH user:
734           Specify the accounts username if your account needs authentication.
735
736       - AUTH password:
737           Specify the accounts password if your account needs authentication.
738           Note: The password is saved as plain text. You have to make sure on
739           your own that your system is safe and no VDR configurations files
740           are visible to non authorized persons.
741
742       After the account setup, check if it works with 'Test'. If you are
743       using 'sendEmail.pl' for mail delivery, there should be something like
744       'Email sent successfully' at the end of the test output. The test
745       function is not available for method 'sendmail'.
746
747       Also have a look at epgsearch(4), section 'Email notifications'.
748

2. Search timers

750       This is quite the same as VDRAdmin's auto-timers, but needs no external
751       software. When you create a search, you can give it an option to use it
752       as search timer. Now the plugin scans EPG entries in certain update
753       intervals (->setup) in the background and creates timers if there are
754       matching entries. If you don't like to get a new timer, but only want
755       to be informed about the event set 'Announce only (no timer)' to yes.
756       Since these search timers are quite useful for serials, you can set the
757       option 'serial recording' in a search, which creates timers whose
758       recordings are stored in a folder with the serials name and whose
759       entries are named with the episode name. If there is no episode name,
760       the plugin names the recording with a date/time string.
761
762       To use search timers, you also have to activate them in the plugins
763       setup.  Also edit the SVDRP port, if you are not using the default
764       2001.
765
766       If you want to trigger a background scan manually simply
767
768       touch /etc/vdr/plugins/epgsearch/.epgsearchupdate
769
770       This can also be part of your shutdown script. (Add here a sleep
771       afterwards to give the plugin the time to finish the scan.)
772
773       For more info about searchtimers please refer to epgsearch(4),
774       'Description of the search process' and 'How do Search Timers work?'
775
776   2.1 'Avoid repeats' - internals
777       This section explains the feature 'Avoid repeats' for a search timer.
778       Sometimes one cannot avoid double recordings of an event only by
779       setting the corresponding search criterions.
780
781       Therefore the feature 'avoid repeats' tries to check before creating a
782       timer, if the same event was already recorded in the past or if there
783       is a timer that records the same event. If so, there will be no new
784       timer for the event.
785
786   2.2 How do we compare two events?
787       To check if two events are the same there are many possible settings
788       for a search timer. You can choose the title, subtitle, description or
789       extended EPG categories within the description of an event to be
790       compared with the elements of another event.
791
792       This comparison is always done case-sensitive and for the whole term.
793       But the description of an event makes an exception of this.  First all
794       text within the description will be truncated that looks like an
795       extended category entry, e.g. 'Rating: tip'. An extended category entry
796       is a line of text beginning with max. 40 signs, followed by ':' and
797       ending with max. 60 further signs.  The reason for this cutting is that
798       some categories like the rating of an event are not part of the
799       description of the repeat of the same event.
800
801       The remaining text will now be compared by length. If the difference is
802       bigger then 90%, then we rate the description of the two events as
803       different. If not, we apply the Levinsthein-Distance-Algorithm (LD),
804       which makes a fuzzy text comparison. We accept the description of the
805       events as equal, if LD returns a match of more then 90%.  Since LD is
806       quite runtime intensive (O(mn)), you should not choose 'compare
807       description' as the only comparison criterion, but combine it always
808       with other criterions.
809
810   2.3 How and when do we compare?
811       As already mentioned each search timer update checks search timers with
812       this feature for recordings in the past or an already existing timer
813       for the same event.
814
815       To remember past recordings epgsearch stores their info in the file
816       epgsearchdone.data. You can have a look at the contents of this file
817       calling 'show recordings done' in the 'actions' of the searches menu.
818       This file only stores info about recordings that are complete, i.e.
819       that started and stopped just in time. So a broken recording will not
820       be stored in this file and epgsearch will automatically try to record
821       the next repeat, if there is any. Starting with vdr 2.5.x also
822       recordings with errors are not stored. If you would like to allow a
823       certain amount of errors, you can raise the value of "Allowd Errors".
824
825       How to use it?
826
827       As you see, the whole feature depends on the quality of the EPG.  After
828       creating such a search timer, you should first check if it does what is
829       intended. Therefore the menu of search results has an additional mode
830       for the key 'blue' named 'Timer preview'. Here you can see, what timers
831       the next update would create. Existing timers are labeled with 'T',
832       future timers with 'P'.
833
834       Hint: If the programming results in a conflict simply disable the
835       conflicting timer in the timers menu. The next search timer update,
836       will try to program a different timer for the same event, if it exists.
837
838       When it works not correctly :-)
839
840       To get a better control of the programming or not-programming of the
841       timers when using this feature a log file was introduced. When starting
842       epgsearch with the command line option '-v n' where n is the log level
843       than you get additional info in the file epgsearch.log. Available log
844       levels are 0 (no logging) to 3 (extended logging). See also the manual
845       for the command line options.
846

3. Usage from other plugins or scripts

848       See epgsearch(4).
849

4. Using extended EPG info

851       Some EPG providers deliver additional EPG information like the type of
852       event, the video and audio format, cast,... in the content summary.
853
854       Note: This is different from the content descriptors introduced in
855       vdr-1.7.11, that are delivered as extra data with a common standard.
856       Unfortunately not all providers deliver this data, or the set wrong
857       descriptors. So you can use the approach of 'extended EPG info' here,
858       which is a way to extract that info from the content summary.
859
860       Using tvm2vdr or epg4vdr you can import this into vdr.  To use this
861       information with search timers one has to configure it with the file
862       epgsearchcats.conf in the epgsearch config directory. The format of the
863       file is as follows:
864
865        ID|category name|name in menu|values separated by ','(option)|search mode(option)
866
867        - 'ID' should be a unique positive integer
868           (changing the id later on will force you to re-edit your search timers!)
869        - 'category name' is the name as delivered by the EPG provider, e.g. 'Genre'
870        - 'name in menu' is the name displayed in epgsearch.
871        - 'values' is an optional list of possible values
872        - 'search mode' specifies the search mode:
873          text comparison:
874          0 - the whole term must appear as substring
875          1 - all single terms (delimiters are ',', ';', '|' or '~')
876              must exist as substrings. This is the default search mode.
877          2 - at least one term (delimiters are ',', ';', '|' or '~')
878              must exist as substring.
879          3 - matches exactly
880          4 - regular expression
881          numerical comparison:
882          10 - less
883          11 - less or equal
884          12 - greater
885          13 - greater or equal
886          14 - equal
887          15 - not equal
888
889       Sample files for epgsearchcats.conf are delivered with the plugin in
890       the directory 'conf'.
891
892       Simply copy the one that fits for you to the epgsearch configuration
893       directory filename epgsearchcats.conf and then have a look to the
894       search timers edit menu (after a restart of VDR).
895
896       Since setting up a new epgsearchcats.conf is a lot of work, I've added
897       a small tool 'createcats', that makes the biggest part of the job. It
898       should have been compiled with the plugin and exists in the sources
899       directory.
900
901       See createcats(1) for information about how to use it.
902
903       Internals: epgsearch scans the summary of an event for the category
904       name followed by ': ' for all categories that have a corresponding
905       value set in the search timer. The search is case sensitive regarding
906       the category name as also the value.
907

5. Replacing the standard schedule menu

909       To use this plugin as a replacement for the default green key, simply
910       put the line
911
912        Green   @epgsearch
913
914       in your keymacros.conf. If you don't like to get another plugin entry
915       in your main menu, first hide it by setup. Then you could use my
916       launcher-plugin and put the line
917
918        Green @launcher x
919
920       in your keymacros.conf, where x is the position of the Epgsearch plugin
921       within launchers menu listing.
922
923       Another approach is using a patch to VDR that replaces vdr's standard
924       schedule menu with epgsearch (vdr-replace-schedulemenu.diff.gz in the
925       patches subdir, thanks to the author Uwe/egal@vdrportal). When using
926       this patch the entry should look like
927
928        Green Schedule
929
930       This patch is already included in some patch collections, like the
931       Bigpatch.
932

6. Add-ons

934       epgsearch delivers 2 'mini'-plugins. Both require an installed
935       epgsearch (but epgsearch can be hided in the main menu):
936
937       - epgsearchonly:
938           For those who only want to use the search feature and/or search
939           timers or simply want to have a separate main menu entry for the
940           search feature. This plugin creates a main menu entry 'Search'
941           which calls epgsearch search menu.  Activation in VDR start script
942           with "-Pepgsearchonly".
943
944       - conflictcheckonly:
945           The timer conflict check can also have its own main menu entry
946           which displays epgsearch conflict overview menu. It has a setup
947           option to display an information about the last check directly in
948           its main menu entry.  Activation in VDR start script with
949           "-Pconflictcheckonly".
950
951       Have fun!
952
953       Christian Wieninger
954

Advanced description

956       See epgsearch(4) or read online
957
958       <http://winni.vdr-developer.org/epgsearch/README.DE>
959
960       <http://winni.vdr-developer.org/epgsearch/README>
961
962       <http://winni.vdr-developer.org/epgsearch/MANUAL>
963

SEE ALSO

965       "epgsearch.conf(5)", "epgsearchcats.conf(5)", "epgsearchcmds.conf(5)",
966       "epgsearchdirs.conf(5)", "epgsearchmenu.conf(5)",
967       "epgsearchuservars.conf(5)", "epgsearchdone.data(5)",
968       "epgsearchswitchtimer.conf(5)", "epgsearchblacklists.conf(5)",
969       "epgsearchchangrps.conf(5)"
970

FILES

972       epgsearch.conf
973
974       Searchtimers. See "epgsearch.conf(5)".
975
976       epgsearchcats.conf
977
978       Categories, advanced epg. See "epgsearchcats.conf(5)".
979
980       epgsearchcmds.conf
981
982       EPG-commands, like the commands in commands.conf. See
983       "epgsearchcmds.conf(5)".
984
985       epgsearchdirs.conf
986
987       Pre-defined patches which can be selected while editing an searchtimer.
988       See "epgsearchdirs.conf(5)".
989
990       epgsearchmenu.conf
991
992       Configuration of the OSD menu layout. See "epgsearchmenu.conf(5)".
993
994       epgsearchuservars.conf
995
996       User defined variables. See "epgsearchuservars.conf(5)".
997
998       epgsearchdone.data
999
1000       The done-data. See "epgsearchdone.data(5)".
1001
1002       epgsearchswitchtimers.conf
1003
1004       The switchtimers. See "epgsearchswitchtimer.conf(5)".
1005
1006       epgsearchblacklists.conf
1007
1008       The blacklist. See "epgsearchblacklists.conf(5)".
1009
1010       epgsearchchangrps.conf
1011
1012       The channelgroups. See "epgsearchchangrps.conf(5)".
1013
1014       epgsearchtemplates.conf
1015
1016       Templates for searchtimers. See "epgsearchtemplates.conf(5)".
1017

AUTHOR (man pages)

1019       Mike Constabel <epgsearch (at) constabel (dot) net>
1020

REPORT BUGS

1022       Bugreports (german):
1023
1024       <http://projects.vdr-developer.org/projects/plg-epgsearch>
1025
1026       Mailinglist:
1027
1028       <http://www.vdr-developer.org/mailman/listinfo/epgsearch>
1029
1031       Copyright (C) 2004-2010 Christian Wieninger
1032
1033       This program is free software; you can redistribute it and/or modify it
1034       under the terms of the GNU General Public License as published by the
1035       Free Software Foundation; either version 2 of the License, or (at your
1036       option) any later version.
1037
1038       This program is distributed in the hope that it will be useful, but
1039       WITHOUT ANY WARRANTY; without even the implied warranty of
1040       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1041       General Public License for more details.
1042
1043       You should have received a copy of the GNU General Public License along
1044       with this program; if not, write to the Free Software Foundation, Inc.,
1045       51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Or, point
1046       your browser to http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
1047
1048       The author can be reached at cwieninger@gmx.de
1049
1050       The project's page is at http://winni.vdr-developer.org/epgsearch
1051
1052       The MD5 code is derived from the RSA Data Security, Inc. MD5 Message-
1053       Digest Algorithm.
1054
1055
1056
1057perl v5.36.0                      2022-08-04                      epgsearch(1)
Impressum