From 9c885079f087bf3555e4d46bb9b015e533960582 Mon Sep 17 00:00:00 2001 From: Stephan Hadinger Date: Wed, 25 Sep 2019 18:14:58 +0200 Subject: [PATCH] Allow Hue emulation friendly names to go beyond 13 --- sonoff/xdrv_20_hue.ino | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/sonoff/xdrv_20_hue.ino b/sonoff/xdrv_20_hue.ino index 7d7146272..2b40b2eea 100644 --- a/sonoff/xdrv_20_hue.ino +++ b/sonoff/xdrv_20_hue.ino @@ -364,12 +364,15 @@ void HueLightStatus2(uint8_t device, String *response) char fname[33]; strcpy(fname, Settings.friendlyname[MAX_FRIENDLYNAMES-1]); uint32_t fname_len = strlen(fname); - if (fname_len >= 33-3) { - fname[33-3] = 0x00; - fname_len = 33-3; - } + if (fname_len > 30) { fname_len = 30; } fname[fname_len++] = '-'; - fname[fname_len++] = '0' + device - MAX_FRIENDLYNAMES; + if (device - MAX_FRIENDLYNAMES < 10) { + fname[fname_len++] = '0' + device - MAX_FRIENDLYNAMES; + } else { + fname[fname_len++] = 'A' + device - MAX_FRIENDLYNAMES - 10; + } + fname[fname_len] = 0x00; + response->replace("{j1", fname); } response->replace("{j2", GetHueDeviceId(device));