[Unit] Description=System Suspend [Service] Type=oneshot ExecStart=/bin/sh -c "\ systemctl mask suspend.target; \ \ # Disable anything that might wake from suspend early \ # echo disabled > /sys/devices/platform/bt-dev/power/wakeup \ # echo disabled > /sys/devices/platform/ff80023c.aocec/power/wakeup \ echo disabled > /sys/devices/platform/rtc/power/wakeup; \ echo disabled > /sys/devices/platform/rtc/input/input1/power/wakeup; \ echo disabled > /sys/devices/platform/ff3f0000.ethernet/power/wakeup; \ \ # Turn off TV \ printf '\x20\x36' > /dev/aocec; \ \ # Pause Kodi \ pkill -STOP kodi.bin; \ \ # Suspend-to-idle \ echo freeze > /sys/power/state; \ \ # Wakeup \ # Turn on TV \ printf '\x20\x04' > /dev/aocec & \ \ # Reset meson_remote \ modprobe -r meson_remote && modprobe meson_remote; \ remotecfg /storage/.config/remote.conf; \ \ # Unpause Kodi \ pkill -CONT kodi.bin; \ \ systemctl unmask suspend.target; \ "