1. Create device pibeacon output display device , use that ID
2. put this into an action, replace the device ids etc with yours
- Code: Select all
plug = indigo.server.getPlugin("com.karlwachs.piBeacon")
if not plug.isEnabled(): return
plug.executeAction("Display" , props ={
"outputDev":"1196962895" # <---put your output device ID here
,"device":"OUTPUT-Display"
,"restoreAfterBoot":"False"
,"intensity":""
,"repeat":"9999999"
,"resetInitial":""
,"scrollxy":""
,"showDateTime":"0"
,"startAtDateTime":"0"
,"scrollPages":""
,"scrollDelay":""
,"scrollDelayBetweenPages":""
,"command":'['+
'{"type":"rectangle", "position":[720, 0, 1280, 300], "width":300, "fill":[0, 70, 0], "offONTime":[0, 999999999, 0], "display":"wait", "reset":[50, 50, 50]}'+
',{"type":"rectangle", "position":[720, 400, 1280, 700], "width":300, "fill":[70, 0, 0], "offONTime":[0, 999999999, 0], "display":"wait"}'+
',{"type":"text", "position":[730, 10], "width":140, "fill":[0, 255, 0], "font":"Arial.ttf", "text":"%%d:1336842918:Temperature%%[ºF]", "offONTime":[0, 2, 6], "display":"wait"}'+
',{"type":"text", "position":[730, 410], "width":140, "fill":[255, 0, 0], "font":"Arial.ttf", "text":"%%d:1062219179:Temperature%%[ºF]", "offONTime":[0, 2, 6], "display":"wait"}'+
',{"type":"text", "position":[730, 10], "width":140, "fill":[0, 255, 0], "font":"Arial.ttf", "text":"%%d:1336842918:Humidity%%[%H]", "offONTime":[2, 2, 4], "display":"wait"}'+
',{"type":"text", "position":[730, 410], "width":140, "fill":[255, 0, 0], "font":"Arial.ttf", "text":"%%d:1062219179:Humidity%%[%H]", "offONTime":[2, 2, 4], "display":"wait"}'+
',{"type":"text", "position":[730, 10], "width":140, "fill":[0, 255, 0], "font":"Arial.ttf", "text":"%%d:864053974:illuminance%% ", "offONTime":[4, 2, 2], "display":"wait"}'+
',{"type":"text", "position":[750, 200], "width":90, "fill":[0, 255, 0], "font":"Arial.ttf", "text":"[Lux]", "offONTime":[4, 2, 2], "display":"wait"}'+
',{"type":"text", "position":[730, 410], "width":140, "fill":[255, 0, 0], "font":"Arial.ttf", "text":"%%d:1062219179:Pressure%%", "offONTime":[4, 2, 2], "display":"wait"}'+
',{"type":"text", "position":[750, 595], "width":90, "fill":[255, 0, 0], "font":"Arial.ttf", "text":"[mBar]", "offONTime":[4, 2, 2], "display":"wait"}'+
',{"type":"text", "position":[730, 10], "width":130, "fill":[0, 255, 0], "font":"Arial.ttf", "text":"%%d:375541516:directionText%% at", "offONTime":[6, 2, 0], "display":"wait"}'+
',{"type":"text", "position":[730, 150], "width":130, "fill":[0, 255, 0], "font":"Arial.ttf", "text":"%%d:375541516:avgSpeed%%[mph]", "offONTime":[6, 2, 0], "display":"wait"}'+
',{"type":"text", "position":[730, 410], "width":100, "fill":[255, 0, 0], "font":"Arial.ttf", "text":"AirQ:%%d:1062219179:AirQuality%%[%]", "offONTime":[6, 2, 0], "display":"wait"}'+
',{"type":"text", "position":[730, 595], "width":100, "fill":[255, 0, 0], "font":"Arial.ttf", "text":"pm2.5: %%d:91799756:pm25_standard%%", "offONTime":[6, 2, 0], "display":"wait"}'+
',{"type":"dateString", "position":[10, 700], "width":95, "fill":[255, 255, 255], "font":"Arial.ttf", "text":"%a, %b %d, %Y", "offONTime":[0, 999999999, 0], "display":"wait"}'+
',{"type":"analogClock", "position":[355, 350], "width":64, "font":"Arial.ttf", "offONTime":[0, 999999999, 0], "display":"immediate", "box":{"on": "circle", "width": "30", "fill": [100, 100, 100]}, "mm":{"fill": [0, 255, 0]}, "ticks":{"fill": [150, 150, 150]}, "ss":{"fill": [0, 0, 255]}, "hh":{"fill": [255, 0, 22]}, "radius":[340, 340], "mode":"lineRound,,TicksNumbers"}]'
})
instead of "%%d:375541516:directionText%% ... you could use also %%v:variableID or names work to. and you can add text before or after the dev/state info : %%d:1336842918:Humidity%%[%H]", shows 55[%] if it is 55% ret humidity
All this can also be down in a menu or a regular indigo action .
this will show an analog clock on the left,
date at the bottom
and 2 blocks of sensor data on the right hand side, those will switch every 2 seconds ( "offONTime":[2, 2, 4], == 2 sec off, 2 sec on, 4 sec off)
Karl