diff options
Diffstat (limited to 'meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/toggle_identify_led.sh')
-rw-r--r-- | meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/toggle_identify_led.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/toggle_identify_led.sh b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/toggle_identify_led.sh new file mode 100644 index 000000000..cd44c4b6b --- /dev/null +++ b/meta-ibm/meta-witherspoon/recipes-phosphor/gpio/id-button/toggle_identify_led.sh @@ -0,0 +1,27 @@ +#!/bin/sh +# Toggle the state of identify LED Group + +SERVICE="xyz.openbmc_project.LED.GroupManager" +INTERFACE="xyz.openbmc_project.Led.Group" +PROPERTY="Asserted" + +# Get current state +object=$(busctl tree $SERVICE --list | grep identify) +led=$(cat /sys/devices/platform/leds/leds/rear-id/brightness) +if [ "$led" == "0" ]; then + busctl set-property $SERVICE $object $INTERFACE $PROPERTY b false +else + busctl set-property $SERVICE $object $INTERFACE $PROPERTY b true +fi + +state=$(busctl get-property $SERVICE $object $INTERFACE $PROPERTY \ + | awk '{print $NF;}') + +if [ "$state" == "false" ]; then + target='true' +else + target='false' +fi + +# Set target state +busctl set-property $SERVICE $object $INTERFACE $PROPERTY b $target |