HDMI CEC - send multiple commands with precision delay #21247
jpmorrison
started this conversation in
Ideas
Replies: 2 comments 27 replies
-
This is not the right approach. Using delay() blocks the entire Tasmota and prevents any other function to work. I know it's much harder but such approach should be done in an asynchronous way, checking every_50ms if there is something more to be done. If your device is based on ESP32, it would be much easier to use Berry scripts |
Beta Was this translation helpful? Give feedback.
24 replies
-
Why would you need to spoof the address in your context? Asking out of curiosity |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I'm playing with HDMI CEC remote control/UI commands.
To send a remote control, you send the UI command for button down, then send a command for button released.
When I try this with HDMISendRaw, it works but the the timing is a bit tricky. Sending volume up might increase it by 2,3 or whatever.
I thought it would be handy to add this.
Another timing issue it might help with: HDMISendRaw doesn't seem to work with Backlog - if the TV wakes up the receiver doesn't wake up. It needs some delay before I can power on the receiver.
I took a shot at adding the command. I don't know the correct way to do they delay part yet. BTW the Gitpod instructions helped me get started, I've been putting this off for too long.
I added a command HDMISendRawN for testing. It simply extends HDMISendRaw.
Debugs show the parsing but it only sends the first. Maybe the delay will help.
For testing I tried:
HdmiSendRawN 4004,1000,45446D
4004 TV image view on - should wake up
1000 ms delay, placeholder for now
45446D - send power on remote control button to receiver.
Debugging:
Beta Was this translation helpful? Give feedback.
All reactions