среда, 14 августа 2013 г.

Мониторинг событий XBMC

Я люблю на выходных посмотреть кино с пивом и раками. Кино, как водится, смотрят в темноте. А чтобы пойти и добавить себе пива, хорошо бы видеть дорогу, да еще и кино на паузу поставить.
И меня посетила мысль, ништяк было бы по событию постановки кина на паузу зажигать приглушенный свет в комнате, а при продолжении просмотра - гасить его.

XBMC штука прекрасная, а под Raspberry Pi вообще неописуемо восхитительная. И обновляется само, и пульта от ТВ по HDMI умеет слушаться, и потребляет всего 3.5Вт, и FullHD 35-гиговые тянет.
Сам медиацентр имеет на борту EventServer, под него даже написано немало клиентов, вот некоторые:
http://xbmc.svn.sourceforge.net/viewvc/xbmc/trunk/tools/EventClients/

Но есть непроверенное подозрение, возникшее при поверхностном знакомстве, что этот EventServer не будет уведомлять EventClient-а о каком то событии в XBMC, вызванном со стороны (например постановка на паузу с клавы или пульта телевизора).

Ну и раз PHP-клиент-демон нам не светит, значит будем писать плагин, плюющийся событиями в веб-дырку умного дома.
Быстрый старт по написанию плагинов есть на хабре
http://habrahabr.ru/post/166097/

Немного порыскав  поисках чего-то готового, нашел аддон, который уже умеет все что надо:  ISY Event Handler. Он был взят за основу, из него были выпилены модули log, event_actions и isy*, а вместо них написан свой event listener в виде простой функции отправки пост-запросом типа события по заданному в настройках урлу.

На иллюстрации показан момент старта XBMC и логи nginx+php тестовой страницы, куда постятся данные. Виден код события onStart и POST запрос.




Что в итоге

Плагин с минимумом настроек, а именно УРЛ, куда постятся коды событий, юзер и пароль для Basic-авторизации.
Поддерживаются события:
 - старт и выход из XBMC
 - запуск, пауза, продолжение, остановка видео
 - то же для аудио
Скачать плагин ZIP с Google.Disk


ну а управление светом это уже этап пройденный, из веб сразу отправляется команда нужному выключателю на включение или выключение. примерно так

SOLVED

UPD: а вот как это выглядит в натуре

1 комментарий:

  1. But it will make it very simple for a player to determine the price he’s paying. There is a cumulative nature to a slot machine’s maintain, according to creator Natasha Dow Schüll. A 90% payback percentage doesn’t imply a player will only lose $10 in the event that they} wager $100. It means they'll lose 10% every wager and progressively lose it all. Choose among 바카라사이트 40 exciting table video games, with friendly dealers and an environment of unparalleled comfort. Try your hand at favorites such as Blackjack or Roulette, or take a shot at Craps, Head’s Up Hold’em, and Flop Poker.

    ОтветитьУдалить