[mythtv-users] v0.28 and SystemEvents

Stephen Worthington stephen_agent at jsw.gen.nz
Fri Mar 16 04:43:17 UTC 2018


On Thu, 15 Mar 2018 22:31:45 -0500, you wrote:

>On Thu, Mar 15, 2018 at 3:32 PM, Greg Oliver <oliver.greg at gmail.com> wrote:
>
>> On Thu, Mar 15, 2018 at 5:22 AM, Stephen Worthington <
>> stephen_agent at jsw.gen.nz> wrote:
>>
>>> On Thu, 15 Mar 2018 00:28:49 -0500, you wrote:
>>>
>>> >Long ago (a couple years back anyway :)
>>> >
>>> >I used to use System Events (playback{start,stop,pause} to pop the
>>> >mythfrontend process into elevated cgroups while playing recordings.
>>> >
>>> >With systemd, I just assign it and leave it nowadays.
>>> >
>>> >I just tried to setup an event for RecordingFinished :
>>> >
>>> >| EventCmdRecFinished  | /12TB/mythtv/mythlink.sh "%CHANID%"
>>> "%STARTTIME%"
>>> >| backend-0 |
>>> >
>>> >I restarted the backend (and frontend since I provisioned it from there),
>>> >and it is not taking effect.
>>> >
>>> >Before I deleted the playback events I used, my logs were full of the
>>> >events with no extra logging turned on.  I have not used them since 0.27
>>> >probably, but this is driving me nuts.
>>> >
>>> >Anyone use these that could tell me I am doing something stupid
>>> somewhere?
>>> >I do not remember a tick box anywhere to turn them on or off (nor can I
>>> >find one)..  There is nothing logged at all post recording.
>>> >
>>> >Thanks
>>> >
>>> >-Greg
>>>
>>> I am getting EventCmdRecFinished calls to my Python program correctly
>>> in v29:
>>>
>>> MariaDB [mythconverg]> select * from settings where value like
>>> 'EventCmdRecF%';
>>> +---------------------+-------------------------------------
>>> -----+----------+
>>> | value               | data                                     |
>>> hostname |
>>> +---------------------+-------------------------------------
>>> -----+----------+
>>> | EventCmdRecFinished | /usr/local/bin/mythsgu event RecFinished | mypvr
>>>   |
>>> +---------------------+-------------------------------------
>>> -----+----------+
>>> 1 row in set (0.00 sec)
>>>
>>> Mar 15 22:39:00 mypvr mythbackend: mythbackend[31016]: I CoreContext
>>> mythsystemevent.cpp:308 (customEvent) MythSystemEventHandler: Starting
>>> thread for command '/usr/local/bin/mythsgu event RecFinished'
>>> Mar 15 22:39:00 mypvr mythbackend: mythbackend[31016]: W SystemEvent
>>> mythsystemevent.cpp:55 (run) MythSystemEventHandler: Finished
>>> '/usr/local/bin/mythsgu event RecFinished' result 126
>>>
>>> Are the permissions right on /12TB/mythtv/mythlink.sh?
>>>
>>
>> ?Yep:
>>
>> -rwxrwxr-x  1 greg greg     195 Mar 14 23:12 mythlink.sh
>>
>> (mythbackend runs as greg)
>>
>> greg     14657  0.7  1.6 6556176 202248 ?      Ssl  00:04   7:03
>> /usr/bin/mythbackend --logpath /var/log/mythtv --verbose commflag
>>
>> Like I said, I have used this in the past without issues, but it is not
>> playing nice now for some reason.  The logs show nothing when a recording
>> finishes where they used to in 0.25 -> 0.27 when I imagine I used it last.
>>
>> I'll upgrade tonight to 0.29 and see if it clears up - I have been meaning
>> to anyhow.
>>
>> Thanks for confirming yours works.??
>>
>
>?Well, upgraded earlier to 0.29 and it still does not work..  This is
>getting frustrating at this point - I will be gone all next week and need
>to link to plex to watch remotely..  I guess I'll have to look at the code
>to see if I missed a setting it is chekcing for somewhere..  I never
>remember having to set anything to run SystemEvent jobs though..
>
>Not to mention 0.29 has some weird issues that I do not have time to
>troubleshoot (like watching a recoding and having it blink in block with a
>live tv channel I am not even watching - best I can describe it) - weird
>thing is I can screenshot it from the API and it only shows the
>recording..  I hgave no idea how I have a live basketball (HDHR - CBS) game
>blinking in and out (which no one absolutely tuned) of a recording that was
>on an HDPVR (whose lineup does not even include ATSC US channels...?).
>What is really strange is that I just did a packet capture and the stream
>is not even going to mythtv.  Of course, I just stopped and restarted
>watching the recording and it is gone.  This is all for another topic
>though :)
>
>I might just roll back since 0.29 did not fix my immediate issue.

How about testing using a simpler setup - put a very simple script
file in /usr/local/bin, so that it is accessible from any normal user,
and get it to log to a file.  This is the script I use for testing
things like this (event_test.sh):

#!/bin/bash

me=$(/usr/bin/basename "${0}")
log=/var/log/mythtv/event_test.log

echo `date` "$me $@" >>$log
exit 0

# Use this as a template for inserting into the MythTV settings:
#/usr/local/bin/event_test.sh %SENDER% %HOSTNAME% %CARDID% %CHANID%
%DIR% %FILE% %PROGSTARTISOUTC% %PROGENDISOUTC% %STARTTIMEISOUTC%
%ENDTIMEISOUTC% %SECS% %REACTIVATE% %RECGROUP%


You also need to manually create the /var/log/mythtv/event_test.log
file:

sudo touch /var/log/mythtv/event_test.log
sudo chown greg:greg /var/log/mythtv/event_test.log
sudo chmod a=rw /var/log/mythtv/event_test.log

And here it is in use on my mother's MythTV box:

MariaDB [mythconverg]> select * from settings where value like
'EventCmdAll';
+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+
| value       | data                                                                                                                                                                                   | hostname |
+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+
| EventCmdAll | /usr/local/bin/event_test.sh Any %SENDER% %HOSTNAME% %CARDID% %CHANID% %DIR% %FILE% %PROGSTARTISOUTC% %PROGENDISOUTC% %STARTTIMEISOUTC% %ENDTIMEISOUTC% %SECS% %REACTIVATE% %RECGROUP% | crw-pvr  |
+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------+
1 row in set (0.00 sec)

Mar 12 15:26:01 crw-pvr mythbackend: mythbackend[5145]: I SystemEvent
mythsystemevent.cpp:55 (run) MythSystemEventHandler: Finished
'/usr/local/bin/event_test.sh Any crw-pvr  1 1012 .
2018-03-12T01:30:00Z 2018-03-12T02:30:00Z 2018-03-12T01:30:00Z
2018-03-12T02:30:00Z 120 %REACTIVATE% Default' result 0

If you are not getting the above type of messages in mythbackend.log,
then somehow the events are not working.  I do not think there is any
setting that will stop events from working - the way you stop events
is to remove the setting from the database for the event you want to
stop.  Note that events are per host - if you run slave backends, you
have separate events for each backend, but I am not sure how to
configure that.  But the hostname field matters.  The log messages
should show up with the default logging level.


More information about the mythtv-users mailing list