From bd1a6459b213867d870e2d76cffea494c748f8e5 Mon Sep 17 00:00:00 2001 From: David Peer Date: Fri, 24 Jun 2022 09:29:49 +0200 Subject: [PATCH] Support display name and icons. --- apps/ha/README.md | 12 +++++++++++- apps/ha/ha.app.js | 35 ++++++++++++++++++++++++++++++----- apps/ha/metadata.json | 4 +++- apps/ha/screenshot.png | Bin 2677 -> 2402 bytes apps/ha/screenshot_2.png | Bin 0 -> 2695 bytes apps/ha/screenshot_3.png | Bin 0 -> 2679 bytes apps/ha/trigger.html | 12 +++++++++--- 7 files changed, 53 insertions(+), 10 deletions(-) create mode 100644 apps/ha/screenshot_2.png create mode 100644 apps/ha/screenshot_3.png diff --git a/apps/ha/README.md b/apps/ha/README.md index 35a90ea88..c51da967a 100644 --- a/apps/ha/README.md +++ b/apps/ha/README.md @@ -23,7 +23,14 @@ This setup must be done only once -- now you are ready to configure your BangleJ control some devices or entities in your HomeAssistant :) # Setup Trigger -1.) Upload the app and all corresponding triggers through the AppStore UI. For example I entered "DOOR,LIGHT,OVEN". The list will be shown in your BangleJs in the corresponding order so enter more important triggers first. +1.) Upload the app and all corresponding triggers through the AppStore UI. You must specify +the display name, the trigger as well as an icon. +The following icons are currently supported: +- ha (default) +- light +- door +- fire + 2.) Create an "automation" in the HomeAssistant WebUI for each trigger that you created on your BangleJs in order to tell HomeAssistant what you want to control. A sample configuration is shown in the image below -- I use this trigger to open the door: @@ -40,5 +47,8 @@ add an action also for that.* While playing and testing a bit I found that it is very important that you allow the android HomeAssistant app, as well as BangleJs Gadgetbridge app to (1) run in background and (2), disable energy optimizations for both apps. Otherwise, Android could stop one of both apps and the trigger will never be sent to HomeAssistant... +## Thanks to +Icons created by Flaticon + ## Creator - [David Peer](https://github.com/peerdavid). diff --git a/apps/ha/ha.app.js b/apps/ha/ha.app.js index 4b85fbf56..ee30a66e9 100644 --- a/apps/ha/ha.app.js +++ b/apps/ha/ha.app.js @@ -3,15 +3,39 @@ var W = g.getWidth(), H = g.getHeight(); var position=0; -var icon = { - width : 48, height : 48, bpp : 1, - transparent : 0, - buffer : require("heatshrink").decompress(atob("AD8BwAFDg/gAocP+AFDj4FEn/8Aod//wFD/1+FAf4j+8AoMD+EPDAUH+OPAoUP+fPAoUfBYk/C4l/EYIwC//8n//FwIFEgYFD4EH+E8nkP8BdBAonjjk44/wj/nzk58/4gAFDF4PgCIMHAoPwhkwh4FB/EEkEfIIWAHwIFC4A+BAoXgg4FDL4IFDL4IFDLIYFkAEQA==")) +// Note: All icons should have 48x48 pixels +function getIcon(icon){ + if(icon == "light"){ + return { + width : 48, height : 48, bpp : 1, + transparent : 0, + buffer : require("heatshrink").decompress(atob("AAMBwAFE4AFDgYFJjgFBnAFBjwXBvAFBh4jBuAFCAQPwAQMHAQPgEQQCBEgcf/AvDn/8Aof//5GDAoJOBh+BAoOB+EP8YFB4fwgfnAoPnGANHAoPjHYQFBHYQFd44pDg47C4/gh/DIIZNFLIplGgF//wFIgZ9BRIUHRII7Ch4FBUIUOAoKzCjwFEhgCBmDpIVooFFh4oCAA4LFC5b7BAob1BAYI=")) + }; + } else if(icon == "door"){ + return { + width : 48, height : 48, bpp : 1, + transparent : 0, + buffer : require("heatshrink").decompress(atob("AAM4Aok/4AED///Aov4Aon8DgQGBAv4FpnIFKJv4FweAQFFAgQFB8AFDnADC")) + }; + } else if (icon == "fire"){ + return { + width : 48, height : 48, bpp : 1, + transparent : 0, + buffer : require("heatshrink").decompress(atob("ABsDAokBwAFE4AFE8AFE+AFE/AFJgf8Aon+AocHAokP/8QAokYAoUfAok//88ApF//4kDAo//AgMQAgIFCjgFEjwFCOYIFFHQIFDn/+AoJ/BAoIqBAoN//xCBAoI5BDIPAgP//gFB8AFChYFBgf//EJAogOBAoSgBAoMHAQIFEFgXAAoJEBv4FCNoQFGVYd/wAFEYYIFIvwCBDoV8UwQCBcgUPwDwDfQMBaIYADA")) + }; + } + + // Default is always the HA icon + return { + width : 48, height : 48, bpp : 1, + transparent : 0, + buffer : require("heatshrink").decompress(atob("AD8BwAFDg/gAocP+AFDj4FEn/8Aod//wFD/1+FAf4j+8AoMD+EPDAUH+OPAoUP+fPAoUfBYk/C4l/EYIwC//8n//FwIFEgYFD4EH+E8nkP8BdBAonjjk44/wj/nzk58/4gAFDF4PgCIMHAoPwhkwh4FB/EEkEfIIWAHwIFC4A+BAoXgg4FDL4IFDL4IFDLIYFkAEQA==")) + }; }; // Try to read custom actions, otherwise use default var triggers = [ - {display: "Not found.", trigger: "NOP", icon: null}, + {display: "Not found.", trigger: "NOP", icon: "ha"}, ]; try{ @@ -31,6 +55,7 @@ function draw() { var w = g.stringWidth(trigger.display); g.setFontAlign(-1,-1); + var icon = getIcon(trigger.icon); g.setColor(g.theme.fg).drawImage(icon, 12, H/5-2); g.drawString("Home", icon.width + 20, H/5); g.drawString("Assistant", icon.width + 18, H/5+24); diff --git a/apps/ha/metadata.json b/apps/ha/metadata.json index eea1b6905..c7ba2f46b 100644 --- a/apps/ha/metadata.json +++ b/apps/ha/metadata.json @@ -11,8 +11,10 @@ "custom": "trigger.html", "screenshots": [ {"url":"screenshot.png"}], + {"url":"screenshot_2.png"}], + {"url":"screenshot_3.png"}], "data": [ - {"name":"ha.trigger.txt" } + {"name":"ha.trigger.json" } ], "storage": [ {"name":"ha.app.js","url":"ha.app.js"}, diff --git a/apps/ha/screenshot.png b/apps/ha/screenshot.png index ea5a41ed912c3f98ca7beb880c7ff8b00f6c2ab8..dc059e2de43b614bdab4a70e86d6cf8edf4203ac 100644 GIT binary patch literal 2402 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 diff --git a/apps/ha/screenshot_2.png b/apps/ha/screenshot_2.png new file mode 100644 index 0000000000000000000000000000000000000000..55019c3b1d54754ce027f6a390d8085881bde42c GIT binary patch literal 2695 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 b)l6)+-*~{493hDFSpsIJ)+Q7q&-i}<6_ws= literal 0 HcmV?d00001 diff --git a/apps/ha/screenshot_3.png b/apps/ha/screenshot_3.png new file mode 100644 index 0000000000000000000000000000000000000000..b9eae0b74de95ce232a67b1e6e898928ce6b7a10 GIT binary patch literal 2679 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 WeFV>U7j26_Nnmg5Xv46^J@^-jYWLj$ literal 0 HcmV?d00001 diff --git a/apps/ha/trigger.html b/apps/ha/trigger.html index bcb3c72b7..60fedda7a 100644 --- a/apps/ha/trigger.html +++ b/apps/ha/trigger.html @@ -3,9 +3,15 @@ - triggers -

Json file [{display: "Text", trigger: "TRIGGER_1", icon: null}, ...]

-

+

Upload Tiggers

+

You must upload a list of json objects -- an example is given below

+