Replies: 7 comments 55 replies
-
I fully support this idea. Lots of use-cases. I will be on the sidelines cheering on the coders doing the real work. |
Beta Was this translation helpful? Give feedback.
-
Wow. I love it. I'm just concerned by the physical aspect. HDMI connectors are so tiny. Is there a way to nicely isolate the CEC pin on an hdmi connector? |
Beta Was this translation helpful? Give feedback.
-
One note for whoever implements this: The code from the above link has a logic to force the "SENDER" device's logical address to yourself. I.e. You cannot pretend to be another sender connected to another HDMI port. (Use Transmit function vs TransmitFrame) Others, add more of such caveats to this thread as they are found. |
Beta Was this translation helpful? Give feedback.
-
I just tried connecting an ESP8266 to HDMI CEC, and it works. Good news is that you can directly connect a GPIO to HDMI CEC, no need for any transistor. Voltage is correct. Now the bad news is that the library is half baked. Like many Arduino libs, it expects to be called continuously at least every millisecond, and was not designed to coexist with anything else. So currently, the only way to make it work is to use Example:
|
Beta Was this translation helpful? Give feedback.
-
I took a deeper look. Actually the code is already asynchronous for Tx/Rx. So I'm optimistic that it should be easy to turn it into interrupt/timer driven while keeping most of the state machine code. I'm still new in HDMI CEC, but I understand that Physical Address discovery requires also access to EDID, which means configuring I2C and reading device address 0x50. Do you know to what extent the discovery of physical address is important? I plugged my ESP8266 on the same HDMI as Apple TV. Is it possible to have 2 physical addresses on the same HDMI port? |
Beta Was this translation helpful? Give feedback.
-
Hi, I have now a version that is interrupt-ready. It uses a small ring buffer to pass messages from the Interrupt Driver to the Tasmota code. Let me now try with Timer interrupts. |
Beta Was this translation helpful? Give feedback.
-
HDMI CEC is not available in the Documentation: https://tasmota.github.io/docs/HDMI_CEC/ |
Beta Was this translation helpful? Give feedback.
-
I recently came across a great library at https://github.com/s-moch/CEC/.
With a simple connection (connect ESP-01 GPIO3 pin to pin 13 of the HDMI connector and ground to ground), I could send and receive the CEC messages over HDMI CEC.
Using this, we can control HDMI-enabled devices over the network. I was able to control my TV, raspberrypi and a firestick from the same esp01-based device over the network.
Tasmota already has a great support for IR tx/rx using ESP8266IR library.
We can use the IR+CEC combination as IR-blaster extension.
What can CEC do that IR TX cannot do:
The proposal from the new addition POV:
Of course, the MQTT and rules support is only for automation purposes.
Note: the code from the link works as-is. I only added the network connectivity to the code from the above link.
Beta Was this translation helpful? Give feedback.
All reactions