13.09.2017, 14:59
(11.09.2017, 21:02)Bart Wrote:(19.04.2017, 12:04)baggins Wrote: Hi,
My "solution" is even more basic.
I installed an USB IR Flirc receiver on my Kodi box and programmed it with a Samsung remote control. I then use a Global Caché IR transmitter that is controlled through simple TCP commands.
In my visualisation I have programmed a "universal" remote control with which I can control my cable decoder, AVR, Kodi and TV.
Hi Baggins,
Since I see the "Telenet" symbol on your visualisation I assume we live in the same country.
To avoid re-inventing hot water, here Could you share some tcp commands you use to control your cable decoder + give some insight on how you built the visualisation shown in the screenshot of your post?
kr,
B.
Hi,
As I've stated, I use a Global Caché (it actually is the Basalte version) transmitter attached to the Telenet Digicorder.
Here is the script I use to control the Digicorder:
Code:
--[[
Command: Command for execution by controller of Global Cache. To transmit IR command Command=sendir. See full list in GLobal Cache manual.
Modul: The module containing the appropriate IR port (e.g. for iTach=1
NumDev: Number of port in the module starting with 1.
Id: Id number of the command in range 0 – 65535
Freq: IR channel frequency in Hz, from 20000 – 500000
Repeat: on 0 – repeat the command up to 65535 times or while the command transmit is terminated
Offset: Time period to repeat the telegram in the next transmissions (Repeat<>1), 1 – 255
P0,…,Pn: String sequence defining impulse sequence in IR telegram
^: Symbol defining the end of command string, OD (Hex)
--]]
local socket = require("socket")
function send_Digicorder(command)
log('send_Digicorder called; command ' .. command)
tcp = assert(socket.tcp())
tcp:settimeout(0.5)
Device = '192.168.0.26'
Header = "sendir,1:2,1,38000,1,1,"
connected, err = tcp:connect(Device, '4998')
--print (connected)
--print (err)
Digicorder = {}
Digicorder["BACK"] = "11,12,12,24,12,12,23,24,12,12,23,24,23,25,11,12,23,12,12,12,11,13,11,24,23,3362\r"
Digicorder["CHANNEL DOWN"] = "11,12,11,25,11,13,23,25,11,13,23,25,22,25,11,13,23,25,23,12,11,25,23,3359\r"
Digicorder["CHANNEL UP"] = "11,12,11,25,11,13,22,25,11,13,23,25,23,25,11,13,22,25,23,25,23,25,11,3348\r"
Digicorder["CLEAR"] = "11,13,11,25,11,13,23,25,11,13,23,25,23,25,11,13,23,13,11,13,11,25,11,13,23,3364\r"
Digicorder["COMMUNICATION"] = "12,12,11,25,11,13,22,25,11,12,23,25,23,24,12,13,11,12,23,13,11,12,12,24,23,3362\r"
Digicorder["CURSOR DOWN"] = "11,13,11,25,11,12,23,25,12,12,23,25,23,25,11,13,23,13,11,24,23,25,23,3360\r"
Digicorder["CURSOR ENTER"] = "11,12,11,25,11,13,22,25,11,13,23,25,23,25,11,13,22,13,11,25,23,13,11,25,11,3348\r"
Digicorder["CURSOR LEFT"] = "11,13,11,25,11,12,23,25,11,12,23,25,23,25,11,13,23,13,11,25,11,12,11,13,23,3360\r"
Digicorder["CURSOR RIGHT"] = "11,13,11,25,11,12,23,25,11,12,23,25,23,25,11,13,23,13,11,25,11,12,23,25,11,3351\r"
Digicorder["CURSOR UP"] = "11,13,11,25,11,13,23,25,11,13,23,24,23,25,11,12,23,25,22,13,11,13,11,25,11,3349\r"
Digicorder["DIGIT 0"] = "11,13,11,25,11,12,23,25,11,12,23,25,23,25,11,13,11,12,23,25,23,25,23,3365\r"
Digicorder["DIGIT 1"] = "11,13,11,25,11,13,23,25,11,13,23,25,22,25,11,13,11,12,12,13,11,13,11,12,23,25,11,3347\r"
Digicorder["DIGIT 2"] = "11,13,11,25,11,13,23,25,11,13,23,25,22,25,11,13,11,12,11,13,11,13,23,25,23,3360\r"
Digicorder["DIGIT 3"] = "11,13,11,25,11,13,23,25,11,13,22,25,23,25,11,13,11,13,11,13,11,13,22,13,11,25,11,3348\r"
Digicorder["DIGIT 4"] = "11,13,11,25,11,13,23,25,11,13,22,25,23,25,11,13,11,13,11,12,23,25,11,12,23,3360\r"
Digicorder["DIGIT 5"] = "11,12,11,25,11,13,22,25,11,12,23,25,23,24,11,13,11,13,11,12,23,24,23,25,11,3327\r"
Digicorder["DIGIT 6"] = "11,13,11,25,11,13,23,25,11,13,23,25,22,25,11,13,11,13,11,12,23,12,11,25,23,3362\r"
Digicorder["DIGIT 7"] = "11,13,11,25,11,13,23,25,11,13,23,25,22,25,11,13,11,13,11,12,23,12,11,13,11,25,11,3353\r"
Digicorder["DIGIT 8"] = "11,13,11,25,11,13,23,25,11,13,23,25,22,25,11,13,11,13,23,25,11,13,11,12,23,3359\r"
Digicorder["DIGIT 9"] = "11,12,11,25,11,13,23,25,11,13,23,25,23,24,11,13,11,13,23,25,11,13,23,25,11,3345\r"
Digicorder["ENTER"] = "11,25,11,13,23,25,11,13,11,13,22,25,22,25,11,13,23,25,11,13,22,25,23,3363\r"
Digicorder["EXIT"] = "11,12,11,25,11,13,23,25,11,13,23,25,23,25,11,13,23,12,11,13,11,25,23,25,11,3350\r"
Digicorder["EXTRA"] = "12,13,11,25,11,12,23,25,11,12,23,25,22,25,11,13,11,12,23,12,12,12,11,13,11,24,12,3351\r"
Digicorder["FORWARD"] = "11,13,11,25,11,13,23,25,11,13,23,25,23,25,23,25,11,13,11,13,11,13,11,13,23,3360\r"
Digicorder["FUNCTION BLUE"] = "11,12,12,24,12,12,23,24,12,13,23,24,23,24,23,25,23,24,11,13,23,24,11,3351\r"
Digicorder["FUNCTION GREEN"] = "12,12,11,25,11,12,23,25,11,12,23,25,23,25,23,24,12,12,23,12,11,13,11,25,11,3350\r"
Digicorder["FUNCTION RED"] = "11,13,11,24,12,12,23,24,12,12,23,24,23,25,23,24,12,13,23,12,11,25,23,3358\r"
Digicorder["FUNCTION YELLOW"] = "12,12,12,25,11,13,22,25,11,13,22,25,23,24,23,25,22,25,11,12,12,12,23,3364\r"
Digicorder["GUIDE"] = "11,13,11,25,11,12,23,25,11,12,23,25,23,25,11,13,11,13,23,12,11,25,23,24,12,3356\r"
Digicorder["HELP"] = "11,13,11,24,12,12,23,24,12,12,23,24,23,25,11,12,23,25,11,12,23,25,23,3359\r"
Digicorder["MENU MAIN"] = "11,12,12,25,11,13,22,25,11,13,23,25,23,25,11,12,23,25,12,12,11,13,11,13,23,3362\r"
Digicorder["MUTE TOGGLE"] = "11,13,11,25,11,12,23,25,11,12,23,25,22,25,11,13,23,25,11,13,11,13,23,25,11,3347\r"
Digicorder["PAUSE"] = "11,13,11,25,11,12,23,25,11,12,23,25,23,25,23,25,11,13,11,13,11,13,23,24,12,3345\r"
Digicorder["PLAY"] = "11,13,11,25,11,12,23,25,11,12,23,25,23,25,23,25,11,13,23,25,11,13,23,3363\r"
Digicorder["POWER TOGGLE"] = "11,12,12,24,12,12,23,24,12,12,23,24,23,24,12,12,12,12,23,24,23,12,12,24,12,3349\r"
Digicorder["PREVIOUS CHANNEL"] = "11,13,11,25,11,12,23,25,11,12,23,25,23,25,11,13,23,13,11,12,11,13,11,25,22,3361\r"
Digicorder["RECORD"] = "11,13,11,24,12,13,23,24,11,13,23,24,23,25,23,25,11,13,11,12,23,25,23,3363\r"
Digicorder["REVERSE"] = "11,13,11,25,11,13,23,25,11,13,23,25,22,25,11,13,23,13,11,13,12,12,11,13,11,25,11,3352\r"
Digicorder["STOP"] = "11,12,11,24,11,12,23,24,11,12,23,24,22,25,22,24,11,12,11,12,22,12,11,24,12,3297\r"
Digicorder["TELETEXT"] = "11,12,12,24,12,12,23,24,12,12,23,24,23,24,23,25,11,12,23,25,23,24,11,3346\r"
Digicorder["VOLUME DOWN"] = "11,13,11,24,12,13,23,24,11,13,23,24,23,25,11,12,23,25,23,25,11,13,22,3362\r"
Digicorder["VOLUME UP"] = "11,13,12,24,11,13,23,24,11,13,23,25,23,25,11,12,23,25,11,12,23,12,11,25,11,3345\r"
if command == 'OK' then
command = 'CURSOR ENTER'
end
result = tcp:send(Header .. Digicorder[command])
--log('Result: ' .. result)
rec = tcp:receive()
--log(rec)
tcp:close()
end
As far as the visualisation is concerned: Inkscape and GIMP are your friends...