blob: f6eae0e245b3edc75b7f056b2ec61b3dda56bbf3 [file] [log] [blame]
#!/bin/sh
#
# Toggle the state of identify LED Group
SERVICE="xyz.openbmc_project.LED.GroupManager"
INTERFACE="xyz.openbmc_project.Led.Group"
PROPERTY="Asserted"
# Get enclosure_identify state
identify_object=$(busctl tree $SERVICE --list | grep -m 1 identify)
identify_state=$(busctl get-property $SERVICE "$identify_object" $INTERFACE $PROPERTY \
| awk '{print $NF;}')
# Get enclosure_identify_blink state
identify_blink_object=$(busctl tree $SERVICE --list | grep identify_blink)
identify_blink_state=$(busctl get-property $SERVICE "$identify_blink_object" $INTERFACE $PROPERTY \
| awk '{print $NF;}')
# Set state
if [ "$identify_state" = "false" ] && [ "$identify_blink_state" = "false" ]; then
# Turn on the UID LED
busctl set-property $SERVICE "$identify_object" $INTERFACE $PROPERTY b true
elif [ "$identify_state" = "false" ] && [ "$identify_blink_state" = "true" ]; then
# Turn off the UID LED when LED is blinking state
busctl set-property $SERVICE "$identify_blink_object" $INTERFACE $PROPERTY b false
elif [ "$identify_state" = "true" ] && [ "$identify_blink_state" = "false" ]; then
# Turn off the UID LED
busctl set-property $SERVICE "$identify_object" $INTERFACE $PROPERTY b false
else
echo "Invalid case! When identify_blink_state is true, the identify_state will set to false"
fi