И меня посетила мысль, ништяк было бы по событию постановки кина на паузу зажигать приглушенный свет в комнате, а при продолжении просмотра - гасить его.
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: а вот как это выглядит в натуре