Kwikwai Bridges HDMI-CEC to Ethernet USB and Serial

Kwikwai Bridges HDMI-CEC to Ethernet USB and Serial

http://www.automatedhome.co.uk/New-Products/Kwikwai-Bridges-HDMI-CEC-to-Ethernet-USB-and-Serial.html
http://www.kwikwai.com/

About £230 / $365, but it’s a debugging/tinkering tool as well…

I have one… its pretty cool!

and for the tinkerer, there is also www.cec-o-matic.com, our free online CEC frames encoding/decoding tool.
Enjoy !

Philippe

Welcome Philippe!

Regarding the message example that was in the blog entry http://blog.kwikwai.com/?p=273 , any idea if most TV’s support a free form OSG message such as the “Hello World”?

I was thinking this would be a cool feature if it could be implemented in the plugin so that it could alert events on a TV such as having somebody ringing a door bell or some other type of sensor etc being tripped if the relevant data was passed to the API?

@strangely, that’s definitely one of the challenges we’re going to face. HDMI-CEC has a wide array of control options in the specification, but not all Vendors support all the options (resulting in Feature Abort responses)

I hunted around to find a matrix of which devices/manufacturers supported which feature sets of HDMI-CEC, along with a lot of trial-and-error (Set OSD Name, and Set OSD String aren’t supported by my '08 Panny) but wasn’t able to find anything. Core functions (Power management) work on everything I have, but others (User Control Pressed/Released) work well on my Onkyo (Receiver) but not my Panasonic (TV)… so I can control Volume and a whole bunch of stuff, but Channel changing is trickier.

Still trying to wrap my head about the Media/Stream path functions, the ones needed to set inputs on anything with “Switching” functions.

The Kwikwai device is incredible at letting users “see” what’s going on between the various devices. Again, just gotta wrap my head around how to expose this so that we get not only “power on/off” but also input selection, and a bag of “scene” triggering events so that lights can be turned on (etc) when the AV gear is worked.

BTW, the CEC-O-Matic is brilliant for folks wanting to learn and/or decode message strings :wink:

Sounds like you need a Matrix switch for your inputs. I know of a good switch and plugin! :wink:

It would be interesting to see the differences in the generations of our TV’s… between your PZ850 (2008), my V10 (2009) and the GT25 (2010).

I think my Pioneer receiver seems to have a well rounded CEC implementation and luckily for channel changing purposes, the DirecTV IP plugin makes up for the lack of CEC control for channel changing.

BTW, the HDMI 1.3a specification is available at http://www.hdmi.org/manufacturer/specification.aspx.
Supplement 1 contains the CEC specification.

The OSD string is limited to 13 characters (too short to display a caller ID from abroad …) and there seems to be no way to overlay an image …

No Ethernet, but USB and RS-232:
http://rainshadowtech.com/default_files/HDMICECUSB.htm

Arduino library:
http://code.google.com/p/cec-arduino/
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1261237176/0

CEC (in-)compatibility list:
http://code.google.com/p/cec-arduino/wiki/VendorCapabilityList

Thank you for your positive messages about kwikwai.

You need a database of devices with their CEC behavior, so do we !
Typically, we noticed that the OSD display message is not that often supported. And sometimes you don’t even get the expected “feature abort” message in return.

In order to help the collection effort, we’re working on some scripts to have a unified report from devices capabilities.
The idea was to group the devices by categories : TV, tuner, recording device, … to simplify the effort and focus on their specific messages.
Once it will be done we’ll make them available to everybody and hopefully we’ll be able to all contribute to a centralized knowledge base.
As for cec-o-matic, the idea is to make it available freely to everybody.

Obviously we had the idea of building such a thing from the beginning, now it’s a matter of time and effort.
We started an amazing and extensive database of devices : http://wiki.kwikwai.com/index.php?title=Device_profiles ;D
Not so exciting, but it exists.

Now we wonder which is the best way to proceed.
To be continued …

Philippe

[quote=“Kwikwai Phil, post:8, topic:167459”]Thank you for your positive messages about kwikwai.

You need a database of devices with their CEC behavior, so do we !
Typically, we noticed that the OSD display message is not that often supported. And sometimes you don’t even get the expected “feature abort” message in return.

In order to help the collection effort, we’re working on some scripts to have a unified report from devices capabilities.
The idea was to group the devices by categories : TV, tuner, recording device, … to simplify the effort and focus on their specific messages.
Once it will be done we’ll make them available to everybody and hopefully we’ll be able to all contribute to a centralized knowledge base.
As for cec-o-matic, the idea is to make it available freely to everybody.

Obviously we had the idea of building such a thing from the beginning, now it’s a matter of time and effort.
We started an amazing and extensive database of devices : Device profiles - wikwikwai ;D
Not so exciting, but it exists.

Now we wonder which is the best way to proceed.
To be continued …

Philippe[/quote]
I was wondering if you could put something together that could be “built in” to the Kwikwai device that would “upload” a capabilities based upon what it sees on a Customer’s network, in order to build out that knowledgebase.

My TV, and my Amp for that matter, both “scan” the 16 CEC nodes at startup to find out what’s out there. I’d imagine something similar where a “scan” could be initiated by a Customer to find general capabilities, and then upload to some centralized repository.

Obviously you cannot scan everything, since some actions are destructive but things like OSD could be checked, along with Vendor Make/Model information (… all as an “opt in” option, in case folks are worried about privacy)

A good knowledge of what’s possible with the Make/Models will help folks on where to focus to ‘integrate’ these.

eg. Don’t bother with OSD as most dont support it (or whatever)

[quote=“Ap15e, post:7, topic:167459”]BTW, the HDMI 1.3a specification is available at http://www.hdmi.org/manufacturer/specification.aspx.
Supplement 1 contains the CEC specification.

The OSD string is limited to 13 characters (too short to display a caller ID from abroad …) and there seems to be no way to overlay an image …[/quote]
Yeap, the spec is more “interesting” than anything, since the vendors have different implementations. The Kwikwai device (and more recently CEC-O-Matic) is a handy way to learn the stuff as a real-world compliment.

No Ethernet, but USB and RS-232: http://rainshadowtech.com/default_files/HDMICECUSB.htm
Yes, I have one of those also, attached via a WIZnet and a bunch of custom cables. It's what I started with, before I switched over to the Kwikwai (due to all it's diagnostic capabilities)
Arduino library: http://code.google.com/p/cec-arduino/ http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1261237176/0

CEC (in-)compatibility list:
Google Code Archive - Long-term storage for Google Code Project Hosting.


and been following that project also. Their compat list, and some of the original excel’s they list, are what I used to source info when I was using the Rainshadow device.

Going off topic a bit, I did some testing last night with both my TV’s and an AV receiver hooked up through my HDMI Matrix switch, and it looks like multiple TV’s are not possible :frowning:

If I turn on the second TV, there are a bunch of message exchanged but it seems the original TV is still the dominant one with TV address.

Phillipe, If the Kwikwai source and sink were connected inline with one of the TV’s, could you get it to translate a TV’s address so that its representative of something else to get around this?

There is only one logical address for TV sets (0, see CEC specification, Table 5), so the second TV set must/should take the unregistered address (15) …

Yeah but I don’t think it does though. I have to do some more testing though as there are some other side effects where the upstairs TV will turn off the AV receiver downstairs, which then takes the other TV off the bus despite it’s still being switched on. The receiver is in the middle and when switched off, it doesn’t pass through the HDMI.

It appears that my upstairs TV turns off the receiver because the audio output is set to output locally and not via the receiver; this appears to be a Panasonic power saving feature which I think there is some settings for.

It’s difficult to test against though when your wife is not happy because she’s watching TV and it keeps switching off :slight_smile:

Hi,

Currently kiwkwai does not interrupt the CEC bus, so in its current implementation it would not help.
But that’s definitely an idea for v2 :wink:

Philippe

So I thought I would update the this thread since I’ve been having some issue with my SQ blaster recently dropping its WiFi (likely due to one of my WAPs), and so I thought I would dust of the Kwikwai in order to help coordinate the switching of my AV receiver (no RS232 or Ethernet control) to the correct local source, and my HDMI matrix switch (RS232 controlled) with its remote AV sources also.

Anyway to cut a long story short, if anyone is interested in doing this, with a bit of playing around, its possible to pretty much control any HDMI-CEC controlled device with just a scene and a bit of a code snippet.

Here are some examples:

Broadcast power off

local socket = require("socket") host = "Kwikwai_IP" c = assert(socket.connect(host, 9090)) c:send("cec:send A FF:36\r") c:close()

Power on

local socket = require("socket") host = "Kwikwai_IP" c = assert(socket.connect(host, 9090)) c:send("cec:send A 50:04\r") c:close()

Switch HDMI input

local socket = require("socket") host = "Kwikwai_IP" c = assert(socket.connect(host, 9090)) c:send("cec:send A 0f:86:13:00\r") c:close()

Some of the above takes a bit of investigation with a combination of monitoring the bus with the Kwikai tool whilst also using their CEC-O-Matic tool http://www.cec-o-matic.com/ but I’m very pleased with the way its working.

The above snippets assume that the default password for the Kwikwai is blanked out to remove its requirement, and simplify things!

For anyone that has a Kwikwai, I rolled some of the commands into a quick and dirty plugin (based on the Panasonic one that @guessed originally wrote) that will at least be able to control a TV for power on or off, volume, mute toggle and a basic set of HDMI input addresses.

It works for me anyway on my Panasonic TV (and should with most other brands with some form of HDMI-CEC control), and if I get some more time then I will try to work out how to perhaps get menu control working.

If anyone is interested then I can post it here!?

[quote=“strangely, post:16, topic:167459”]For anyone that has a Kwikwai, I rolled some of the commands into a quick and dirty plugin (based on the Panasonic one that @guessed originally wrote) that will at least be able to control a TV for power on or off, volume, mute toggle and a basic set of HDMI input addresses.

It works for me anyway on my Panasonic TV (and should with most other brands with some form of HDMI-CEC control), and if I get some more time then I will try to work out how to perhaps get menu control working.

If anyone is interested then I can post it here!?[/quote]

Hi @strangely

I’m looking for code to control an HDMi switcher (using RAW commands)
Is the “quick and dirty” plugin you refer to available and customisable to RAW for use with a simple 4x2 matrix ?