> ## Documentation Index
> Fetch the complete documentation index at: https://docs.myzendo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Protect Settings with an admin code

> Require a code to change settings on a wall panel or tablet.

export const MenuButton = ({badged = false}) => <div className="bg-[#a8c8b9] w-[36px] h-[36px] rounded-[10px] p-[6px] justify-center items-center aspect-square inline-flex relative">
    {badged && <div className="absolute top-[-3px] right-[-3px] w-[12px] h-[12px] rounded-[12px] bg-[#417777]"></div>}
      <svg width="22px" height="22px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
      <g fill="#417777"><path d="M12 0a12 12 0 1 0 12 12A12 12 0 0 0 12 0m0 22a10 10 0 1 1 10-10 10 10 0 0 1-10 10"></path><path d="M10 12a2 2 0 1 0 4 0 2 2 0 1 0-4 0m5.5 0a2 2 0 1 0 4 0 2 2 0 1 0-4 0m-11 0a2 2 0 1 0 4 0 2 2 0 1 0-4 0"></path></g>
      </svg>
  </div>;

## Intro

Anyone near a wall panel or tablet with [Always-On Display](/permanent-devices/configure-zendo) on can open Settings. To stop people from changing settings, you can set up an **admin code**.

<Info>
  The admin code makes a device harder to change, but it isn't a complete lock. For a device in a shared or public space, like a reception, a holiday rental or a home with guests, also:

  * **Set it up as a control panel**, so it can't change the accessories or open the property's admin settings. See [Control Panels and Device Groups](/permanent-devices/device-groups).
  * **Lock the tablet to Zendo**, so nobody can open other apps or the tablet's own settings. On an iPad or iPhone, use [Guided Access](/permanent-devices/configure-zendo#enable-guided-access-ios-only).
  * **Keep it on its own network**, for example a separate VLAN, so no other devices can reach it.
</Info>

***

## Set, change or remove it

1. Tap <MenuButton />
2. Tap "Settings"
3. Tap "Device Settings"
4. Tap "Admin Code"
5. Tap "Set Code", choose 4, 6 or 8 digits, then enter the code twice.

To change or remove it, do the same and tap "Change Code" or "Remove Code". You'll need the code to open Settings first.

You can also set it from your hub. See [Set or remove a code from your hub](#set-or-remove-a-code-from-your-hub).

***

## Good to know

* **Wrong codes:** after a few wrong tries, the keypad waits a little before the next one, up to a minute.
* **One property only:** a device with an admin code can't join another property.
* **Always-On Display** can't be turned off while a code is set.
* **Not the screen lock:** the [screen lock](/permanent-devices/automations#lock-a-device) PIN covers the whole screen. The admin code only covers Settings.
* **See which devices have one:** if an installer set up Zendo at your property, "Control Panels" shows whether each device has an admin code, even while the device is offline. See [Check a device's details](/permanent-devices/device-groups#check-a-devices-details).

***

## Forgot the admin code?

Your hub keeps a copy of the code to help you regain access to a device, even while the device is offline.

<AccordionGroup>
  <Accordion title="Home Assistant">
    1. Sign in to Home Assistant as an administrator.
    2. Go to **Developer Tools > Actions**.
    3. Run `zendo.managed_device_admin_code_get`.
    4. The code is `admin_code` in the response.

    If `status` is `unknown`, Home Assistant doesn't have the code.
  </Accordion>

  <Accordion title="Homey">
    1. Create an **Advanced Flow**.
    2. Add **Get admin code of Zendo device** and pick the device.
    3. Log the code from the card tag (e.g. by creating a timeline event).
    4. Start the flow.
  </Accordion>
</AccordionGroup>

If your hub doesn't have the code and your device is online, you can [set a new code from your hub](#set-or-remove-a-code-from-your-hub). If your wall panel is offline, please contact your installer to reset the code.

For phones and tablets, please reinstall Zendo.

***

## Set or remove a code from your hub

You can set a code from your hub for all the devices that are online. Setting a code replaces the old one.

<AccordionGroup>
  <Accordion title="Home Assistant">
    As an administrator, run `zendo.managed_device_admin_code_configure`. Put the code in quotes:

    ```yaml theme={null}
    action: zendo.managed_device_admin_code_configure
    data:
      device:
        - ENTRANCE_PANEL_ID
      code: "482913"
    ```

    To remove the code, use `remove: true` instead of `code`:

    ```yaml theme={null}
    action: zendo.managed_device_admin_code_configure
    data:
      device:
        - ENTRANCE_PANEL_ID
      remove: true
    ```
  </Accordion>

  <Accordion title="Homey">
    Use **Set admin code for Zendo device** or **Remove admin code from Zendo device** in a flow. Pick one device, a [device group](/permanent-devices/device-groups), or **All devices**.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.