From 5abc465c82474dd4cc69248d53a52ae1fec6d97d Mon Sep 17 00:00:00 2001 From: Nathaniel Wesley Filardo Date: Thu, 26 Dec 2019 00:44:52 +0000 Subject: [PATCH] init2: rewrite lamp_announce --- init2.lua | 20 ++++++-------------- 1 file changed, 6 insertions(+), 14 deletions(-) diff --git a/init2.lua b/init2.lua index 7cf3a4e..2a4b330 100644 --- a/init2.lua +++ b/init2.lua @@ -95,21 +95,13 @@ end -- TODO: messages to specific lamps? Multiple brokers? function lamp_announce(fn,colors) - if #colors > 1 then - local broadcaststring - for i=1,#colors do - local r,g,b = transformcolors(colors[i]); - if (i == 1) then - broadcaststring = string.format("draw %s %x %x %x;", fn, r,g,b); - else - broadcaststring = string.format("color %x %x %x %x; ", i, r, g, b) .. broadcaststring - end - end - mqc:publish(mqttBcastPfx,broadcaststring,1,1) - else - local r,g,b = transformcolors(colors[1]) - mqc:publish(mqttBcastPfx,string.format("draw %s %x %x %x;",fn,r,g,b),1,1) + local ct = {} + local i + for i=2,#colors do + ct[#ct+1] = string.format("color %x %x %x %x; ", i, transformcolors(colors[i])) end + ct[#ct+1] = string.format("draw %s %x %x %x;", fn, transformcolors(colors[1])) + mqc:publish(mqttBcastPfx, table.concat(ct),1,1) end -- mqtt setup -- 2.50.1