prl wrote: ↑Wed Mar 07, 2018 12:58
My guess is that IceTV is sending out the new timer with a different IceTV timer id on it than the original. ...
Yep, I think you're correct in that this is an IceTV server issue.
I've just seen an example of something that may be related.
IceTV changed the program start times for 'Blindspot', from 23:30 to 22:30 and then back to 23:30.
EITs appeared to have changed.
It was in the last change that IceTV appeared to forget about the previous timer and created a new one instead.
Original timer -
Start 23:30, ice_timer_id 16379874719882831239
First change -
Program start now 22:30
Timer changed to 22:30 start ("Updated by Scheduler SERIES")
IceTV plugin on T4:
changes the existing timer -
sends delete to IceTV for timer 16379874719882831239
posts new timer notice to IceTV for start 22:30, Ice responds with new timer id 16380156062520837002
Second change -
Program start now back to 23:30
New timer created for start 23:30, new Ice timer 16380190280525328195 ("Created by Scheduler SERIES" -- note Created by, not Updated by)
Resulting in Ice timer id 16380156062520837002 from first change left on IceTV server and on PVR
In slightly more detail -
(i) Original timer -
Start of 23:30, ice_timer_id 16379874719882831239
(ii) First change (on Sat 09:27) -
EPG change, program start now 22:30, EIT 15510 (unknown if changed)
Timer changed to 22:30 start, EIT 15510 ("Updated by Scheduler SERIES")
Code: Select all
,"timers":[{"id":"16379874719882831239","device_id":"176230","channel_id":"2659","name":"Blindspot","show_id":"137702879","eit_id":"15510","start_time":"2018-03-18T14:30:00+00:00","duration_minutes":"60","action":"record","state":"waiting","message":"Updated by Scheduler SERIES","series_recording_id":"10973946","keyword_id":"0"}]}
IceTV plugin on T4:
changes the existing timer -
Code: Select all
{841}< 1873.089> [RecordTimer] record time changed, start prepare is now: Sun Mar 18 22:19:40 2018
sends delete to IceTV for timer 16379874719882831239
posts new timer notice to IceTV for start 22:30, Ice responds with new timer id 16380156062520837002
EIT value is 15510
Code: Select all
{815}< 1873.377> [IceTV] DELETE http://api.icetv.com.au/shows/timers/16379874719882831239?{snipped}
{815}< 1873.378> [IceTV] headers {snipped}
{815}< 1873.378> [IceTV] {}
{815}< 1873.379> [IceTV] 200 OK
{815}< 1873.380> [IceTV] headers {snipped}
{815}< 1873.381> [IceTV]
{762}< 1873.719> [IceTV] POST http://api.icetv.com.au/shows/timers?{snipped}
{762}< 1873.720> [IceTV] headers {snipped}
{762}< 1873.720> [IceTV] {"name": "Blindspot", "eit_id": 15510, "start_time": "2018-03-18T14:30:00+00:00", "duration_minutes": 60, "channel_id": 2659, "state": "pending", "action": "record", "message": "Created by Beyonwiz T4", "device_id": 176230}
{762}< 1873.721> [IceTV] 201 Created
{762}< 1873.722> [IceTV] headers {snipped}
{762}< 1873.723> [IceTV] {"timers":[{"id":"16380156062520837002","device_id":"176230","channel_id":"2659","name":"Blindspot","show_id":"137702879","eit_id":"15510","start_time":"2018-03-18T14:30:00+00:00","duration_minutes":"60","action":"record","state":"pending","message":"Created by Beyonwiz T4","series_recording_id":"0","keyword_id":"0"}]}
{762}< 1873.723>
(iii) Second change (on Sun 04:57) -
EPG change, program start now back to 23:30, EIT has changed to 16761
New timer created for start 23:30, EIT 16761, new Ice timer 16380190280525328195 ("Created by Scheduler SERIES" -- note Created by, not Updated by)
Code: Select all
,"timers":[{"id":"16380190280525328195","device_id":"176230","channel_id":"2659","name":"Blindspot","show_id":"137728788","eit_id":"16761","start_time":"2018-03-18T15:30:00+00:00","duration_minutes":"60","action":"record","state":"waiting","message":"Created by Scheduler SERIES","series_recording_id":"10973946","keyword_id":"0"}]}
IceTV plugin on T4:
creates the new timer 16380190280525328195 as requested, and informs Ice it's done -
Code: Select all
{762}< 72072.946> [RecordTimer] Record RecordTimerEntry(name=Blindspot, begin=Sun Mar 18 23:20:00 2018, end=Mon Mar 19 00:55:00 2018, serviceref=1:0:19:564:506:1013:EEEE0000:0:0:0:, justplay=False, isAutoTimer=False, ice_timer_id=16380190280525328195)
{841}< 72073.280> [IceTV] PUT http://api.icetv.com.au/shows/timers/16380190280525328195?{snipped}&application_version=20171208
{841}< 72073.281> [IceTV] headers {'Content-Length': '189', 'Accept-Encoding': 'gzip, deflate', 'Accept': 'application/json', 'User-Agent': 'SystemPlugins.IceTV/20171208 (Beyonwiz; T4)', 'Connection': 'keep-alive', 'Content-Type': 'application/json'}
{841}< 72073.281> [IceTV] {"timers": [{"eit_id": 16761, "start_time": "2018-03-18T15:30:00+00:00", "state": "pending", "duration_minutes": 60, "message": "Will record on Beyonwiz T4", "id": "16380190280525328195"}]}
{841}< 72073.282> [IceTV] 200 OK
{841}< 72073.283> [IceTV] headers {'Content-Length': '332', 'Access-Control-Allow-Headers': 'origin, content-type, accept', 'X-Powered-By': 'CppCMS/1.0.3', 'Set-Cookie': 'AWSELB=FF9FA59B0AA9FAB4E737D9FE7A7C22F11253580EC0D24ADC55CEE08267D3C43F5DA893040553F9688133D842341C470880B88B6909104AFA162DF6462193C0491CE12D1991;PATH=/;MAX-AGE=3600', 'Access-Control-Allow-Credentials': 'true', 'Server': 'nginx/1.10.2', 'Connection': 'keep-alive', 'Cache-control': 'no-cache="set-cookie"', 'Date': 'Sat, 17 Mar 2018 20:57:29 GMT', 'Access-Control-Allow-Origin': '*', 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE', 'Content-Type': 'application/json; charset=utf-8'}
{841}< 72073.283> [IceTV] {"timers":[{"id":"16380190280525328195","device_id":"176230","channel_id":"2659","name":"Blindspot","show_id":"137728788","eit_id":"16761","start_time":"2018-03-18T15:30:00+00:00","duration_minutes":"60","action":"record","state":"pending","message":"Will record on Beyonwiz T4","series_recording_id":"10973946","keyword_id":"0"}]}
{841}< 72073.283>
It appears the IceTV server did nothing with ICE timer ID 16380156062520837002 from the first change.
This timer is left both on the PVR (named as 'Blindspot' with episode title 'Steve Jobs' [from replacement event 'Autopsy']), and on the IceTV server (named as 'Autopsy', episode title 'Steve Jobs').
The timers -
Code: Select all
<timer begin="1521382800" end="1521388500" serviceref="1:0:19:564:506:1013:EEEE0000:0:0:0:" repeated="0" rename_repeat="1" name="Blindspot" description="Steve Jobs" afterevent="auto" eit="16760" tags=
"" disabled="0" justplay="0" always_zap="0" descramble="1" record_ecm="0" isAutoTimer="0" ice_timer_id="16380156062520837002">
<log code="15" time="1521250049">record time changed, start prepare is now: Sun Mar 18 22:19:40 2018</log>
</timer>
<timer begin="1521386400" end="1521392100" serviceref="1:0:19:564:506:1013:EEEE0000:0:0:0:" repeated="0" rename_repeat="1" name="Blindspot" description="Upside Down Craft" afterevent="auto" eit="16761
" tags="" disabled="0" justplay="0" always_zap="0" descramble="1" record_ecm="0" isAutoTimer="0" ice_timer_id="16380190280525328195">
</timer>
Cheers,
Geoff