# \[APP\]\[Pro\] Better Logic Library - For Users

**URL:** <https://community.homey.app/t/app-pro-better-logic-library-for-users/71876>\
**Category:** Apps\
**Tags:** app, tools, homey-pro, logic, bll\
**Created:** [November 7, 2022, 10:13pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876 "2022-11-07T22:13:40Z")\
**Posts on this page:** 20\
**Page:** 12

<div class="post-metadata">

**Author:** ![SigurdABj](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sigurdabj/32/121069_2.png) [@SigurdABj](https://community.homey.app/u/SigurdABj)\
**Post date:** [April 1, 2025, 8:16pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/231 "2025-04-01T20:16:24Z")

</div>

Thank you for the suggestion.  
I tried to use the expression but Homey comes up with a red sign claiming date is undefined function.  
The expression is pasted into a «set variable to math.js expression» card in a basic flow

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [April 1, 2025, 8:19pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/232 "2025-04-01T20:19:42Z")

</div>

Use the Set variable to bll expression.

And you can use `date('m')/60`.

---

<div class="post-metadata">

**Author:** ![SunBeech](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sunbeech/32/111391_2.png) [@SunBeech](https://community.homey.app/u/SunBeech)\
**Post date:** [April 1, 2025, 8:20pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/233 "2025-04-01T20:20:21Z")

</div>

As you referred to BLL I assumed you are using a BLL flowcard, in which the formula works. I believe ‘date’ is a build in function of BLL. You can use the ‘set variable or tag to BLL expression’ cards.

---

<div class="post-metadata">

**Author:** ![SigurdABj](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sigurdabj/32/121069_2.png) [@SigurdABj](https://community.homey.app/u/SigurdABj)\
**Post date:** [April 1, 2025, 8:31pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/234 "2025-04-01T20:31:24Z")

</div>

> [@Arie\_J\_Godschalk](#):
>
> `date('m')/60`

Thank you both.  
Changing the card to BLL expression instead of math.js did the trick.

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [June 6, 2025, 5:18pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/235 "2025-06-06T17:18:45Z")

</div>

> [@Rrrr](#):
>
> I am trying to list the status of 10 timers (running or not running) in a log without using a variable and a minimum of cards. I am hoping you have a creative solution with BLL.

A bit late but: if you use the JSON handler app, you can create an array with the 10 timer names in it. Then loop through them, so you only need one flowcard within the loop that uses the value of the array.

But how do you want the results?  
In one string/text?

If i have a better idea how you want it, from beginning till end, i can create an example.

edit: see the example just below here.

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [June 6, 2025, 5:21pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/236 "2025-06-06T17:21:02Z")

</div>

> [@Rrrr](#):
>
> Anybody knows where to find documentation on BLL logic AND/OR and syntax?

You are doing it correctly. The issue is, that yes/no is send as a checkmark or cross, instead of a true or false. This was changed with the hp2023. I still need to create a solution for that in BLL (and other apps).

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [June 6, 2025, 5:55pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/237 "2025-06-06T17:55:14Z")

</div>

> [@Rrrr](#):
>
> I wanted to solve it with BLL, but [here’s the shortest way I managed to do this](https://community.homey.app/t/app-pro-advanced-triggers-trigger-and-action-cards-with-eventname-for-advanced-flows/65651/203).

Ill post this here also for other users:

Here:  
First i create a BLL variable with an empty string in it.  
Then i run a loop.  
Then i write the variable to SSL.

Within the loop, well, you can see it yourself. Please note that after the true and false i have a linebreak (shift enter).

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/5/252bce8f3b448f5c34cffed48056f40fd50e0e31.png)

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/e/c/ecd5e0c03252d531b29e070729b74e096d7170de.png)

This is the shortest way i know. And weither you have 3, 10 or 50 items to check, you dont need anymore flowcards.

---

<div class="post-metadata">

**Author:** ![Rmb](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rmb/32/79135_2.png) [@Rmb](https://community.homey.app/u/Rmb)\
**Post date:** [November 14, 2025, 9:14pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/239 "2025-11-14T21:14:08Z")

</div>

I want to combine two numeric tags into one string in the BLL card “Set text field to BLL expression” such as 48° - 52°.

How do I do that?

---

<div class="post-metadata">

**Author:** ![SunBeech](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sunbeech/32/111391_2.png) [@SunBeech](https://community.homey.app/u/SunBeech)\
**Post date:** [November 14, 2025, 9:37pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/240 "2025-11-14T21:37:28Z")

</div>

![BLL Combine Strings](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/c/5cb0ed1a20f4b2065bc89d604f54cb80dbe15c5c.png)

 ![BLL Combine Strings Result](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/b/9/b953de3262d5f3c07b1368ac6434f693775c74c5.png)

---

<div class="post-metadata">

**Author:** ![Rmb](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rmb/32/79135_2.png) [@Rmb](https://community.homey.app/u/Rmb)\
**Post date:** [November 14, 2025, 10:37pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/241 "2025-11-14T22:37:56Z")

</div>

I was already making it more complexer. Thank you!

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [November 14, 2025, 11:15pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/242 "2025-11-14T23:15:48Z")

</div>

After some experimentation, it appears that this can also be achieved by placing the entire string between backticks, using the “Execute expression” card.

 ![Screenshot_20251115_001421_Firefox](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/c/0c85b18f32343db383c3b7da952e4048e8c3163e.jpeg)

---

<div class="post-metadata">

**Author:** ![Rmb](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rmb/32/79135_2.png) [@Rmb](https://community.homey.app/u/Rmb)\
**Post date:** [November 15, 2025, 7:21am UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/243 "2025-11-15T07:21:44Z")

</div>

Just a question of conscience, should I have been able to find this myself? Is this standard JavaScript o.i.d. ?

---

<div class="post-metadata">

**Author:** ![SunBeech](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sunbeech/32/111391_2.png) [@SunBeech](https://community.homey.app/u/SunBeech)\
**Post date:** [November 15, 2025, 8:08am UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/244 "2025-11-15T08:08:35Z")

</div>

Back to English, as this is the English section 😊.

This is indeed standard JavaScript. I have little knowledge of JavaScript, but have some other programming knowledge.

My big help is Google though: I searched for ‘javascript combine strings’ and [the first hit](https://stackoverflow.com/questions/31845895/how-can-i-build-concatenate-strings-in-javascript) contained some options including using the ‘+’ sign to combine elements. i know that in VBA it’s the ‘&’ character, so I did have a sense of direction.

Often you can achieve the same in multiple ways, like the suggestion of @Peter_Kawa shows.

---

<div class="post-metadata">

**Author:** ![Rmb](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rmb/32/79135_2.png) [@Rmb](https://community.homey.app/u/Rmb)\
**Post date:** [November 15, 2025, 9:14am UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/245 "2025-11-15T09:14:11Z")

</div>

appearantly there is some implicit conversion from number to text. I tryed the BLL expression toText but did not succeeded in that. I presume BLL expressions are also JavaScript with extra libraries.

It sometime feels like I am writing my first “Hello World” program again😉

---

<div class="post-metadata">

**Author:** ![SunBeech](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/sunbeech/32/111391_2.png) [@SunBeech](https://community.homey.app/u/SunBeech)\
**Post date:** [November 15, 2025, 9:19am UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/246 "2025-11-15T09:19:33Z")

</div>

Regarding the quotes used in the expression: did you use straigh ones `(")` instead of angled ones `(“)`? My tablet inserts the angled ones by default, and they don’t work.

Maybe you can share (the part of) your flow that does not work, so we can read along.

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [November 15, 2025, 2:18pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/247 "2025-11-15T14:18:59Z")

</div>

Hey @SunBeech , @Rmb and @Peter_Kawa ,

If you want to have the value available as BLL variable, all these options are great.

But for the purpose that RMB wants, it’s all kinda overkill. Just use a default logic card to return a text-tag or use the BLL card:

![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/2/e/2ec25c90c6eaba295d2475f5c194f7c7fe6024d1.png)

You can just fill it the easy way:

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/6/7694d1c05e9d574a11f0dca27853f7408bc02538.png)

Now you dont need quotes, plusses or anything 😉

---

<div class="post-metadata">

**Author:** ![Rmb](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rmb/32/79135_2.png) [@Rmb](https://community.homey.app/u/Rmb)\
**Post date:** [November 15, 2025, 3:46pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/248 "2025-11-15T15:46:06Z")

</div>

the flow is ok, it was just the expression I needed help.

It works now:

 ![IMG_4062](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/9/09c2c5294f52f9a061ba7a242d16588b0632e512.jpeg)

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [November 15, 2025, 6:26pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/249 "2025-11-15T18:26:27Z")

</div>

Hi Arie, I actually did try without backticks; maybe it fails because of running it on a Pro 2019?

 ![Screenshot_20251115_192248_Firefox](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/7/1/71d32a1e12b2d4b676d27df776d414abe4fffeff.jpeg)

 ![Screenshot_20251115_192226_Firefox](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/0/a/0a9ddc59b769ade7c44ef8aba7374482d612d2b9.jpeg)

Between backticks:

 ![Screenshot_20251115_192345_Firefox](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/5/5/55b8f38d9c01329ec5ff4384ef2d5eff69ec4214.jpeg)

---

<div class="post-metadata">

**Author:** ![Arie\_J\_Godschalk](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/arie_j_godschalk/32/63027_2.png) [@Arie\_J\_Godschalk](https://community.homey.app/u/Arie_J_Godschalk)\
**Post date:** [November 15, 2025, 6:46pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/250 "2025-11-15T18:46:44Z")

</div>

No, you are using the “execute expression as tag" flowcard.

And that is precisely my point: for combining tokens/tags with text, just use the “execute text as tag" flowcard. You can just enter text than and combine it with flowtokens. No need for difficult quotes or plusses or whatever 😉

---

<div class="post-metadata">

**Author:** ![Peter\_Kawa](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/peter_kawa/32/173848_2.png) [@Peter\_Kawa](https://community.homey.app/u/Peter_Kawa)\
**Post date:** [November 15, 2025, 6:50pm UTC](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876/251 "2025-11-15T18:50:23Z")

</div>

> [@Arie\_J\_Godschalk](#):
>
> “execute text as tag" card

Ah, I missed that detail obviously! 😵‍💫🫣🤣  
I think I never understood the functionality of this card, and forgot about it’s existence (sorry for that).

And when using the expression card for whatever reason, it’ll just needs backticks for this to work.

[Previous page](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876.md?page=11)

[Next page](https://community.homey.app/t/app-pro-better-logic-library-for-users/71876.md?page=13)
