# Pairing screen shows garbled text

**URL:** <https://community.homey.app/t/pairing-screen-shows-garbled-text/141928>\
**Category:** Apps\
**Created:** [August 20, 2025, 3:28am UTC](https://community.homey.app/t/pairing-screen-shows-garbled-text/141928 "2025-08-20T03:28:58Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![ji\_aji](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ji_aji/32/121525_2.png) [@ji\_aji](https://community.homey.app/u/ji_aji)\
**Post date:** [August 20, 2025, 3:28am UTC](https://community.homey.app/t/pairing-screen-shows-garbled-text/141928/1 "2025-08-20T03:28:58Z")

</div>

I’m pretty new to Homey app development and ran into a weird issue. I’m building a driver for a WiFi smart bulb, and in the pairing flow I’m only using fields — no custom template. The pairing screen does show up in the Homey mobile app, but the text looks totally garbled or unreadable. I double-checked my JSON structure and everything seems fine. Anyone know what might be causing this? Could it be encoding or something else? Appreciate any tips!

```html
<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>Enter WiFi Bulb Info</title>
  <script src="/homey.js" data-origin="settings"></script>
</head>

<body>
  <h1>Enter WiFi Bulb Information</h1>

  <homey-text id="bulb_ip" label="Bulb IP" placeholder="192.168.1.100"></homey-text>
  <homey-number id="bulb_port" label="Port" value="80"></homey-number>

  <button id="save">Save</button>

  <script>
    document.getElementById('save').addEventListener('click', () => {
      Homey.emit('save', {
        bulb_ip: Homey.getValue('bulb_ip'),
        bulb_port: Homey.getValue('bulb_port')
      }).then(() => Homey.done());
    });
  </script>
</body>

</html>

```

```json
{
  "id": "wifi-light-v2",
  "name": {
    "en": "WiFi Smart Bulb v2"
  },
  "class": "light",
  "capabilities": [
    "dim",
    "onoff"
  ],
  "platforms": [
    "local"
  ],
  "connectivity": [
    "lan"
  ],
  "pair": [
    {
      "id": "enter-credentials",
      "name": {
        "en": "Enter Info"
      },
      "description": {
        "en": "Please enter IP and Port"
      },
      "fields": [
        {
          "id": "bulb_ip",
          "type": "text",
          "required": true
        },
        {
          "id": "bulb_port",
          "type": "number",
          "required": true,
          "default": 80
        }
      ]
    }
  ]
}

```

 ![企业微信截图_17556602287756](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/a/5a2263301e1524fa24c0a806997c0898ac8de190.png)

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [August 20, 2025, 4:26am UTC](https://community.homey.app/t/pairing-screen-shows-garbled-text/141928/2 "2025-08-20T04:26:33Z")

</div>

Does this happen on an actual mobile device, or are you running it inside an emulator? Seems like a local issue to me.

---

<div class="post-metadata">

**Author:** ![ji\_aji](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ji_aji/32/121525_2.png) [@ji\_aji](https://community.homey.app/u/ji_aji)\
**Post date:** [August 20, 2025, 5:40am UTC](https://community.homey.app/t/pairing-screen-shows-garbled-text/141928/3 "2025-08-20T05:40:44Z")

</div>

I’ve tested it both on a real mobile device and inside an emulator — the issue appears in both environments.

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [August 20, 2025, 5:54am UTC](https://community.homey.app/t/pairing-screen-shows-garbled-text/141928/4 "2025-08-20T05:54:58Z")

</div>

Are you using something like AdGuard or PiHole in your network?

---

<div class="post-metadata">

**Author:** ![ji\_aji](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ji_aji/32/121525_2.png) [@ji\_aji](https://community.homey.app/u/ji_aji)\
**Post date:** [August 20, 2025, 6:21am UTC](https://community.homey.app/t/pairing-screen-shows-garbled-text/141928/5 "2025-08-20T06:21:59Z")

</div>

I’m not using AdGuard or Pi-hole in my network, at least not intentionally.  
However, I noticed that some files appear with a lock icon, which makes me suspect there might be encryption or access control involved.  
Could this be affecting the pairing process?

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [August 20, 2025, 7:06am UTC](https://community.homey.app/t/pairing-screen-shows-garbled-text/141928/6 "2025-08-20T07:06:39Z")

</div>

It could, but I have no idea how that could happen.

---

<div class="post-metadata">

**Author:** ![ji\_aji](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/ji_aji/32/121525_2.png) [@ji\_aji](https://community.homey.app/u/ji_aji)\
**Post date:** [August 20, 2025, 8:00am UTC](https://community.homey.app/t/pairing-screen-shows-garbled-text/141928/7 "2025-08-20T08:00:52Z")

</div>

Thanks for the help! I figured out the issue — it was related to Windows file encryption.  
Some files had a lock icon and were likely being encrypted or restricted by the system.  
I solved it by pushing the code to Git and pulling it into Ubuntu via WSL, which bypassed the encryption.  
Still learning, but this was a good lesson!
