SimpleTV Bug Tracker

Просмотр подробностей проблемы перейти к комментариям ] вики ] история изменений ] печать ]
НомерПроектКатегорияВидимостьСозданИзменен
0000984SimpleTVПредложениеобщая2015-11-24 21:382018-09-12 12:50
ИнициаторKvantos 
ОтветственныйSergeyVS 
ПриоритетобычныйСерьезностьнововведениеВоспроизводимостьнеприменимо
СостояниерассмотренРешениеповторно открыт 
Платформаx64Операционная системаWindowsВерсия ОС8.1
Версия продукта0.4.8 b9 
Целевая версия0.4.8 b9Решен в версии0.4.8 b9 
Суть0000984: Добавить события (events) для всех действий из "Настройки-управление"
ПодробностиУстанавливать значение в m_simpleTV.Control.Reason аналогично тикету http://iptv.gen12.net/bugtracker/view.php?id=624 [^]
Шаги по воспроизведениюУ меня есть Симпл, который управляется 3 (тремя!) независимыми источниками событий (пульт, eventghost(телефон, скайп, речь), события ручного управления с помощью мыши).
Необходимо, чтобы eventghost "знал" о режимах работы симпла если он управлялся ранее с помощью мыши (например была установлена пауза).
Это будет необходимо для написания адекватных сценариев (управления симплом) для eventghost в случае например, входящих/исходящих телефонных звонков.
Дополнительные сведенияВ идеале было бы хорошо обрабатывать как события все из http://iptv.gen12.net/bugtracker/view.php?id=487 [^]
МеткиНет прикрепленных меток.
OCWindows 8 64bit
Вложенные файлы

- Связи
связан с 0001425назначенSergeyVS Создание универсального сервера для внешнего (удаленного сетевого) управления и запроса состояний плеера 

-  Комментарии
(0016386)
SergeyVS (администратор)
2015-11-28 14:53

Это неправильный подход, состояние может меняться и без управления(например - пауза на таймшифте, быстрая скорость, конец файла и тп.). Лучше определять состояние в момент посылки команды, например так можно проверить паузу

if m_simpleTV.Control.GetState()==4 then
  PAUSE
end
Здесь описание функций - http://iptv.gen12.net/dokuwiki/doku.php/mantis/simpletv/api/control [^]

Если нужно что то еще - пишите.
(0016417)
Kvantos (участник)
2015-12-01 13:15
изменен: 2015-12-01 13:34

Не до конца понятно, как инициировать с помощью EventGhost скрипт для проверки состояния. Через TCP сервер http://iptv.gen12.net/bugtracker/view.php?id=909 [^]
?
Можно подробнее на python плс, если есть возможность....

(0016418)
SergeyVS (администратор)
2015-12-01 14:06

Со стороны симпла надо запустить такой скрипт (можно из startup)


 function TestTCPServer(Object,Event,Data)
  --debug_in_file("event - " .. Event .. '\n')
  --debug_in_file("data - " .. Data .. '\n\n')
  
  if Event=="Receive" then
     
     Data = string.gsub(Data,'\r\n','')
     if Data=='GetState' then
     
       local state = m_simpleTV.Control.GetState() or 0
       m_simpleTV.TcpServer.Send(Object,'State:' .. state ..'\r\n')
     end
  end
 end


local p={}
 p.address = '127.0.0.1'
 p.service = '1234'
 p.eventfunction = "TestTCPServer"
 local server = m_simpleTV.TcpServer.CreateServer(p)
 if server==nil then
  return
 end


Со стороны EventGhost посоединиться к TCP адресу 127.0.0.1:1234 и послать команду 'GetState\r\n' и ждать ответ.
(0016422)
Kvantos (участник)
2015-12-01 16:06

Спасибо большое за подсказку.
c EventGhost работает, вот скрипт на python, может кому пригодится....

import socket
TCP_IP = '127.0.0.1'
TCP_PORT = 1234
BUFFER_SIZE = 1024
MESSAGE = "GetState\r\n"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((TCP_IP, TCP_PORT))
s.send(MESSAGE)
data = s.recv(BUFFER_SIZE)
s.close()
print "received data:", data

По стейтам понял, что:
0 - нет воспроизведения
3 - play
4 - pause

можете привести расширенный список возможный стейтов плс.
(0016429)
SergeyVS (администратор)
2015-12-01 17:03

http://iptv.gen12.net/dokuwiki/doku.php/mantis/simpletv/api/control#number_getstate [^]
(0016431)
Kvantos (участник)
2015-12-01 17:14

спс, не досмотрел, сорри
(0025766)
Kvantos (участник)
2018-07-25 11:33
изменен: 2018-07-25 11:46

Возникла задача в MajorDomo (https://majordomo.smartliving.ru/ [^]) в свойствах обьекта отслеживать состояние воспроизведения симпла: "Play" "Pause" и др.
Управление симплом может прийти не только через MajorDomo, поэтому корректно отследить состояние воспроизведения невозможно (разве что в цикле с небольшим периодом запрашивать у симпла через сервер, но это большая нагрузка прежде всего на симпл)
Получается, что нужно таки делать событие, которое возникает при изменении состояния воспроизведения, или я что-то упустил и можно както по другому сделать, чтобы не опрашивать ежесекундно симпл?

п.с. В идеале хочу реализовать управление симплом с обратной связью (управление с MajorDomo и передача на MajorDomo текущих состояний если управление было внешним) в виде модуля MajorDomo с поддержкой mqtt
т.е. для симпла тоже нужно реализовать внешний модуль управления (все команды как с пульта + состояния) с поддержкой mqtt

(0025799)
SergeyVS (администратор)
2018-07-31 21:18

>>чтобы не опрашивать ежесекундно симпл?
Почему нет? Повести скрипт на таймер (m_simpleTV.Timer.SetTimer), пусть он определяет состояние и посылает что нужно и куда нужно (никакой особой загрузки на цпу при интервале 1-2 сек не будет)
(0025815)
Kvantos (участник)
2018-08-01 00:06

Можно ссылочку где почитать про таймер плс.
(0025816)
wafee (участник)
2018-08-01 00:11

http://iptv.gen12.net/dokuwiki/doku.php/mantis/simpletv/api/timer [^]
(0025817)
Kvantos (участник)
2018-08-01 00:18

благодарю, буду смотреть-думать

- история изменений
Дата изменения Пользователь Поле Изменить
2015-11-24 21:38 Kvantos Новый инцидент
2015-11-24 21:38 Kvantos Состояние новый => назначен
2015-11-24 21:38 Kvantos Ответственный => SergeyVS
2015-11-28 14:53 SergeyVS Комментарий добавлен: 0016386
2015-11-28 14:53 SergeyVS Состояние назначен => подтвержден
2015-12-01 13:15 Kvantos Комментарий добавлен: 0016417
2015-12-01 13:34 Kvantos Комментарий изменен: 0016417 просмотр ревизий
2015-12-01 14:06 SergeyVS Комментарий добавлен: 0016418
2015-12-01 16:06 Kvantos Комментарий добавлен: 0016422
2015-12-01 17:03 SergeyVS Комментарий добавлен: 0016429
2015-12-01 17:14 Kvantos Комментарий добавлен: 0016431
2016-02-26 12:18 SergeyVS Состояние подтвержден => отработан
2016-02-26 12:18 SergeyVS Решен в версии => 0.4.8 b9
2016-02-26 12:18 SergeyVS Решение открыт => решен
2018-07-25 11:33 Kvantos Комментарий добавлен: 0025766
2018-07-25 11:33 Kvantos Состояние отработан => нужен отклик
2018-07-25 11:33 Kvantos Решение решен => повторно открыт
2018-07-25 11:36 Kvantos Комментарий изменен: 0025766 просмотр ревизий
2018-07-25 11:46 Kvantos Комментарий изменен: 0025766 просмотр ревизий
2018-07-31 21:18 SergeyVS Комментарий добавлен: 0025799
2018-07-31 21:19 SergeyVS Состояние нужен отклик => рассмотрен
2018-08-01 00:06 Kvantos Комментарий добавлен: 0025815
2018-08-01 00:11 wafee Комментарий добавлен: 0025816
2018-08-01 00:18 Kvantos Комментарий добавлен: 0025817
2018-09-12 12:50 Kvantos Связь добавлена связан с 0001425


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker