Корзина  (пустая) 0 руб.
Корзина  (пустая) 0 руб.
Корзина  (пустая) 0 руб.
Корзина  (пустая) 0 руб.

+7 495 204-27-80

Добро пожаловать, Гость
Логин: Пароль: Запомнить меня

ТЕМА: IP управление ТВ Samsung - работает!

IP управление ТВ Samsung - работает! 19 Дек 2013 21:17 #4945

  • Alex57
  • Alex57 аватар
  • Вне сайта
  • Живу я здесь
  • Сообщений: 475
  • Спасибо получено: 53
  • Репутация: 13
Предлагаю переименовать данный формум из "ИК преобразователи" в "ИК преобразователи и IP управление", поскольку темы очень близкие.
---
Итак, я добился управления своим любимым ТВ Samsung 2011 года (серия D) через IP через Fibaro HC2.

Работает:
  • Выключить
  • Mute
  • Громкость +, -
  • Каналы +, -
  • Источник (эмуляция кнопки Source)
  • ENTER.


Возможно что работают и другие кнопки, но мне и этого хватает.

Чтение для самостоятельного повторения моего пути:
forum.fibaro.com/viewtopic.php?t=1528
и
deneb.homedns.org/things/?p=232 (по правильным кодам кнопок)

Примерные шаги
1) Создаем в HC2 новое "виртуальное устройство". IP порт не заполняем.
В нем
2) основной цикл НЕ трогаем.
3) Рисуем сколько угодно и каких угодно кнопок.
4) в каждой кнопке говорим, что мы не шлем строки, а пишем LUA код (ниже приведен)
5) в каждой кнопке меняем на свой IP, и имя кнопки, которую эмулируем.
6) и наслаждаемся...

Тестировать код в HC2 можно прямо сразу (написал код - нажал кнопку, получил результат).
а в приложениях для Android - не забываем "обновить конфигурацию".

-- <configuration> -- 
tvIpAddress = "192.168.0.103" 
tvPort = 55000 
keycodestring = "KEY_PAUSE" 
 
tvAuthString = string.char(0x00,0x14,0x00,0x69,0x70,0x68,0x6f,0x6e,0x65,0x2e,0x2e,0x69,0x61,0x70,0x70,0x2e,0x73,0x61,0x6d,0x73,0x75,0x6e,0x67,0x38,0x00,0x64,0x00,0x14,0x00,0x4d,0x54,0x6b,0x79,0x4c,0x6a,0x45,0x32,0x4f,0x43,0x34,0x77,0x4c,0x6a,0x45,0x78,0x4d,0x41,0x3d,0x3d,0x18,0x00,0x4e,0x45,0x4d,0x74,0x4e,0x7a,0x49,0x74,0x51,0x6a,0x6b,0x74,0x4e,0x44,0x4d,0x74,0x4d,0x6a,0x51,0x74,0x4f,0x45,0x49,0x3d,0x04,0x00,0x54,0x51,0x3d,0x3d)
-- </configuration> -- 
 
-- character table string 
local b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' 
 
-- encoding to base64 
function enc(data) 
    return ((data:gsub('.', function(x) 
        local r,b='',x:byte() 
        for i=8,1,-1 do r=r..(b%2^i-b%2^(i-1)>0 and '1' or '0') end 
        return r; 
    end)..'0000'):gsub('%d%d%d?%d?%d?%d?', function(x) 
        if (#x < 6) then return '' end 
        local c=0 
        for i=1,6 do c=c+(x:sub(i,i)=='1' and 2^(6-i) or 0) end 
        return b:sub(c+1,c+1) 
    end)..({ '', '==', '=' })[#data%3+1]) 
end 
 
-- helper function 
function num2bytes(num)    
    local retStr="" 
    for i=1,2 do 
        retStr = retStr .. string.char(num%256) 
        num = math.floor(num/256) 
    end 
      return retStr 
end 
 
tcpSocket = Net.FTcpSocket(tvIpAddress, tvPort) 
 
-- say hello to the TV ;) 
bytes, errorCode = tcpSocket:write(tvAuthString) 
 
keycodebase = string.char(0x00,0x13,0x00,0x69,0x70,0x68,0x6f,0x6e,0x65,0x2e,0x69,0x61,0x70,0x70,0x2e,0x73,0x61,0x6d,0x73,0x75,0x6e,0x67) 
 
-- payload 
payloadinit = string.char(0x00,0x00,0x00) 
keycode = enc(keycodestring) 
 
keycodesize = num2bytes(string.len(keycode)) 
 
payloadsize = num2bytes(string.len(payloadinit .. keycode ..keycodesize)) 
 
-- combining the message 
message = keycodebase .. payloadsize .. payloadinit .. keycodesize .. keycode 
 
-- sending keycode 
bytes, errorCode2 = tcpSocket:write(message) 
 
 
if errorCode == 0 and errorCode2 == 0 
then 
  -- printing log under virtual device 
  fibaro:log("transfer OK: " .. keycodestring) 
else 
  fibaro:log("transfer failed") 
end 

и еще большой плюс - нажатия кнопок можно вызывать из других сцен, даже из блоков (!).
fibaro:call(34, "pressButton", "1")
Последнее редактирование: 19 Дек 2013 21:18 от Alex57.
Спасибо сказали: Andrei_Ch

Re: IP управление ТВ Samsung - работает! 22 Дек 2013 21:14 #4977

  • Denverus
  • Denverus аватар
  • Вне сайта
  • Завсегдатай
  • Сообщений: 222
  • Спасибо получено: 9
  • Репутация: 1
z-neco.com/?pid=3&id=243&enam=1 я просто оставлю это тут )

Re: IP управление ТВ Samsung - работает! 23 Дек 2013 06:02 #4979

  • Acute
  • Acute аватар
  • Вне сайта
  • Администратор
  • VeraPlus
  • Сообщений: 2767
  • Спасибо получено: 400
  • Репутация: 61
Alex57 пишет:
Предлагаю переименовать данный форум из "ИК преобразователи" в "ИК преобразователи и IP управление"
Выполнено )
Группа форума в Telegram t-do.ru/zwaveforum
Последнее редактирование: 23 Дек 2013 06:03 от Acute.

Re: IP управление ТВ Samsung - работает! 06 Апр 2014 23:55 #6723

  • L3n1n
  • L3n1n аватар
  • Вне сайта
  • Гуру
  • Сообщений: 141
  • Спасибо получено: 17
  • Репутация: 2
Включать пока никак не реально?

Re: IP управление ТВ Samsung - работает! 07 Апр 2014 10:44 #6727

  • Alex57
  • Alex57 аватар
  • Вне сайта
  • Живу я здесь
  • Сообщений: 475
  • Спасибо получено: 53
  • Репутация: 13
через Ip - никак. Было пара сообщений, что в самых новых и самых топовых из них работает, но авторы тут же "сливались".
Так что включение - через ИК

Re: IP управление ТВ Samsung - работает! 24 Май 2015 14:15 #12407

  • Dominko
  • Dominko аватар
  • Вне сайта
  • Давно я тут
  • Сообщений: 73
  • Спасибо получено: 11
  • Репутация: 0
На HCL возможно это использовать? Или хотя бы http-запрос на выключение телевизора?

Re: IP управление ТВ Samsung - работает! 27 Май 2015 21:50 #12467

  • cok
  • cok аватар
  • Вне сайта
  • Гуру
  • Сообщений: 92
  • Спасибо получено: 3
  • Репутация: 0
Мне тоже интересно как реализовать в HCL
Последнее редактирование: 27 Май 2015 21:51 от cok.

Re: IP управление ТВ Samsung - работает! 14 Фев 2017 11:35 #20807

  • sheralex
  • sheralex аватар
  • Вне сайта
  • Новый участник
  • Сообщений: 3
  • Репутация: 0
Вы как-то реализовали это? Правда у меня H-серия ТВ :(
Время создания страницы: 0.265 секунд