direction_arrow_task: type: task debug: false definitions: loc script: - if !<[loc].exists>: - stop - define unicodes - define pl - define angle <[pl].face[<[loc]>].yaw.sub[<[pl].yaw>]> - if <[angle]> < 0: - define angle:+:360 #-North 0 degrees - if <[angle]> >= 0 && <[angle]> < 15: - define unicode <[unicodes].get[u0]> # 15 degrees - else if <[angle]> >= 15 && <[angle]> < 30: - define unicode <[unicodes].get[u15]> # 30 degrees - else if <[angle]> >= 30 && <[angle]> < 45: - define unicode <[unicodes].get[u30]> # 45 degrees - else if <[angle]> >= 45 && <[angle]> < 60: - define unicode <[unicodes].get[u45]> # 60 degrees - else if <[angle]> >= 60 && <[angle]> < 75: - define unicode <[unicodes].get[u60]> #-East 90 degrees - else if <[angle]> >= 75 && <[angle]> < 90: - define unicode <[unicodes].get[u90]> #-East 90 degrees - else if <[angle]> >= 90 && <[angle]> < 105: - define unicode <[unicodes].get[u90]> # 105 degrees - else if <[angle]> >= 105 && <[angle]> < 120: - define unicode <[unicodes].get[u105]> # 120 degrees - else if <[angle]> >= 120 && <[angle]> < 135: - define unicode <[unicodes].get[u120]> # 135 degrees - else if <[angle]> >= 135 && <[angle]> < 150: - define unicode <[unicodes].get[u135]> # 150 degrees - else if <[angle]> >= 150 && <[angle]> < 165: - define unicode <[unicodes].get[u150]> #-South 180 degrees - else if <[angle]> >= 165 && <[angle]> < 180: - define unicode <[unicodes].get[u180]> #-South 180 degrees - else if <[angle]> >= 180 && <[angle]> < 195: - define unicode <[unicodes].get[u180]> # 195 degrees - else if <[angle]> >= 195 && <[angle]> < 210: - define unicode <[unicodes].get[u195]> # 210 degrees - else if <[angle]> >= 210 && <[angle]> < 225: - define unicode <[unicodes].get[u210]> # 225 degrees - else if <[angle]> >= 225 && <[angle]> < 240: - define unicode <[unicodes].get[u225]> # 240 degrees - else if <[angle]> >= 240 && <[angle]> < 255: - define unicode <[unicodes].get[u240]> #-West 270 degrees - else if <[angle]> >= 255 && <[angle]> < 270: - define unicode <[unicodes].get[u270]> #-West 270 degrees - else if <[angle]> >= 270 && <[angle]> < 285: - define unicode <[unicodes].get[u270]> # 285 degrees - else if <[angle]> >= 285 && <[angle]> < 300: - define unicode <[unicodes].get[u285]> # 300 degrees - else if <[angle]> >= 300 && <[angle]> < 315: - define unicode <[unicodes].get[u300]> # 315 degrees - else if <[angle]> >= 315 && <[angle]> < 330: - define unicode <[unicodes].get[u315]> # 330 degrees - else if <[angle]> >= 330 && <[angle]> < 345: - define unicode <[unicodes].get[u330]> #-North 360 degrees - else if <[angle]> >= 345 && <[angle]> < 360: - define unicode <[unicodes].get[u0]> - flag direction_arrow.unicode:<[unicode].if_null[]> # In degrees direction_arrow_unicodes: type: data images: u0:  u15:  u30:  u45:  u60:  u90:  u105:  u120:  u135:  u150:  u180:  u195:  u210:  u225:  u240:  u270:  u285:  u300:  u315:  u330: 