Read the statement by Michael Teeuw here.
MMM-Universal-Pir and cec-client
-
Hi all…
Is anyone using MMM-Universal-Pir with cec-client to control the screen power status ?
I’m using a Samsung LED TV that doesnt cleanly handle wlr-randr calls, but CEC works flawlessly…
I can use cec-client on the cmdline to standby and powerup the screen with no issues…
When I put those cmds into MMM-Universal-Pir it doesn’t call them… So my config looks something like::
onCommand: "echo 'on 0' | cec-client -s -d 1", offCommand: "echo 'standby 0' | cec-client -s -d 1",I see the countdown timer reach 0 but the screen doesnt power off…
Anyone got this working ??
Thanks
-
@MM_Noob I don’t know for his module, but my MMM-SleepWake can do cec, using debug
are there any messages in the log where npm start is done?
if using pm2 to launch, see the output ofpm2 logs --lines=xxx
xxx is the number of most recent log lines, default 15sleep
[2025-07-05 10:14:22.267] [LOG] motion detected from external source [2025-07-05 10:14:22.268] [LOG] !e: motionend [2025-07-05 10:14:22.268] [LOG] idle timer started for 1 minutes [2025-07-05 10:15:16.088] [LOG] sleep-wake helper in socket notification=start_sleep [2025-07-05 10:15:16.089] [LOG] processing start sleep [2025-07-05 10:15:16.089] [LOG] using CEC approach ()='echo standby 0 | cec-client -s' [2025-07-05 10:15:22.270] [LOG] sleep-wake helper in socket notification=start_sleep [2025-07-05 10:15:22.271] [LOG] processing start sleep [2025-07-05 10:15:22.271] [LOG] start sleep, already sleepingwake up
[2025-07-05 10:15:42.503] [LOG] motion detected from external source [2025-07-05 10:15:42.504] [LOG] !s: motionstart [2025-07-05 10:15:42.505] [LOG] sleep-wake helper in socket notification=end_sleep [2025-07-05 10:15:42.506] [LOG] waking up [2025-07-05 10:15:42.506] [LOG] waking up using CEC approach='echo on 0 | cec-client -s' -
I have no hardware to reproduce but maybe this helps for debugging:
Go to an empty dir and execute
npm init -y, then write a fileindex.jswith content:const { exec } = require('node:child_process'); const onCommand = "echo 'on 0' | cec-client -s -d 1 > test.log"; console.dir(onCommand); exec(onCommand, (error, stdout, stderr) => { if (error) { console.error(`exec error: ${error}`); return; } console.log(`stdout: ${stdout}`); console.error(`stderr: ${stderr}`); });Now run
node index.jsand look into presented output and into the filetest.log. You can play with the content ofonCommand, maybe you find what’s going wrong. -
OK - post the update to include the cec-utils in the build I can confirm it now works…
I escaped the special chars initially in the cec-client call- but it works without them being escaped also
I guess this update will be rolled into the latest release at some point ?
Many thanks
-
@MM_Noob said in MMM-Universal-Pir and cec-client:
OK - post the update to include the cec-utils in the build I can confirm it now works…
don’t understand, are you talking about this?
@MM_Noob said in MMM-Universal-Pir and cec-client:
I guess this update will be rolled into the latest release at some point ?
which update, which release?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login