[APP][Pro] Better Logic Library - Just some better logic, variable and library management

I’m literally saying that the app lifecycle for Homey apps is different from “normal” apps. Parts of a Homey app aren’t explicitly executed by the developer’s code (like with “normal” apps) but by the SDK and the app runner. Some parts are subject to time constraints, also unlike “normal” apps.

It’s not difficult to deal with, provided that you a) know how a Homey app runs and b) you have structured your app to fit that specific app lifecycle.

Or c) you’re a performance developer like me and hate inefficiency…

You’ve structured your apps in such a way that you’re now running into issues dealing with what really are very minor changes. I’ll stop offering my advice since clearly you know better :+1:t2:

Just to send and receive messages back to be honest, from what I can see and do in Postman, I connect to the web socket on a WSS://IP:Port and then I’m able to send messages in a similar way to GET/POST and receive a response.

The message includes a token which allows access.

Seems some API’s are switching to this process or at least certainly the one I’m using is!

1 Like

Hey @Sharkys and @spkesDE ,

Since it turnes out it was not ment to make the apps specificly not-function, but appareantly by some fluk, it just worked correctly on my own HP2023, there should be a way to solve it.
Technicly, “everything” is possible, when allowed or supported and when not restricted by external situations, you will hardly every hear me say “not possbile”.

And while i definitly do not like the idea of leaving apps running that are not really functional, the simple fact remains that, for the end users, the best User Experience will always be when apps comply to the structure Athom sees and/or builds.
“Working together” or in other words, building it the way Athom intends it to be build or work, is the best way to achive good supportable, well functioning apps.

However, i did spend a lott of times updating apps before the HP2023 came and have been add it since.
I actually have taken to much time, and right now, for me, i have to put my full focus on work and real life again, for the moment. It’s been another period of 6 months about 10 headackes a day/night, ripping through oxigen cilinders (“medication”/oxigen).
Now my headackes are finally over again (or at least almost) so i can put my full energie into work and providing for my family again.

Also, since developing apps actually cost money. Donations are by far not even close to paying for the gas and eletricity for my office when developing apps, let alone the donations i made myself before.
I mostly do this for fun and because i can develop some very unique posibilities, which is indeed fun to make!

But life is not just about fun, certainly not when providing for a family, so back to RL.

Status and planning

Currently, a few apps “act weird” on the HP2023 after a Homey Restart.
Google Services and i guess Telegram might(!) not work correct on the HP2023 right now, but only if BLL is installed.
The FTP Client and the Test-version of Simple Log will crash on Homey restart on the HP2023 with or without the Better Logic Library.
On the HP2019- however, currently, all live versions of the app should work as always.

Plan

I’ll update the BLL npm package so it will not put apps “on hold” during init, but, as requested, will resolve the initialisation asap and make sure no timers are used to manage holdings.
This will mean, when updated, the Google Services, (BLL itself) and telegram (both apps using the BLL optionally) will once again function properly on all the HP’s (as in, not crash on startup).
I’ll make sure to update this before any updates with the timers is rolled out to the HP2019-.

Then there must come an update for apps using functionalities from BLL, like FTP Client and (the new) Simple Log. And this will take some more time, simply because i have not designed it like that.
Before, i could put an app on hold for many minutes, at least 15, making sure BLL is started.
However, since this will no longer be the case, like said, the actual “waiting” (and i guess some initialisation) will be done when a flowcard is activated for instance.
Now, because a flowcard execution has a) a shorter execution timeout and b) multiple entries (before, every app had one potential startup place for this init) it will require a littlebit of rebuilding, putting nice error handlings in it and extensive testing on the hp2019 and hp2023.

Now, while this might only take a day (remember, to develop and test this correctly, the old and new homey needs to restart multiple times just for a simple test), i currently just don’t have that time left anymore.

Fortuantly, i have not migrated to the hp2023 yet and unfortuanly i don’t have the time anymore to do that: Thus developing will be easy, since the HP2023 is way more of a developing beast then the White Balls and for the forseeable future, ill keep it solly for developing.

Short plan

So, in short: ill fix the issues for GS, BLL (and Telegram) before it become’s an issue on the WhiteBall.
With that fix, it will also work correctly on the HP2023.
With that fix, the current live version of Simple Log will also work correctly on both devices.

However FTP Client and the current Test version of Simple (Sys) Log will still not work correctly on the HP2023 (or my own 2019 anymore, not sure why yet) and i don’t have a real planning on when i will put my time in resolving those apps.
But right now i am thinking: The next 40 holidaydays i take, those i probably spend on my family. :wink:

6 Likes

Thank you for all what you are doing and very extensive update, I hope there will be no non relevant comments on your update. You need to re-energize so definitively take rest - but, would you really ? :wink: But family first, you know that very well.

On the donations, it’s always a pain, it’s a pity others (except of some exceptions) nor Athom are not thinking on that to make it more substantial. Already commented that elsewhere… few people will not change it unfortunately by donating few bucks.

2 Likes

Well, personally i don’t do it for the money.
But like any “hobby”: you need to make money to invest in a hobby :wink:
And, every hobby has it’s limits, it’s not the main focus of live (at least not for me).
So, time to get my prioritisch straight for the time being.

And, you’re very welcome m8!

2 Likes

BLL has just been updated to work with the White HPs and the HP2023 again.

6 Likes

Did you see this response @Arie_J_Godschalk
Cheers!

Yeah m8.

Do you mind creating a feature ticket for it at QlusterIT / nl.qluster-it.BetterLogic / issues / new — Bitbucket?

I have some apps to fix and update first, before i can see to new feature’s, but yeah, it would be fun to see if that would be possible.

1 Like

What is this warning supposed to mean?

The app is saying that I need to install… the same app? I don’t get it.

1 Like

Sorry, solving it now…

Update to 2.4.3 and you should never see that message again :slight_smile:

2 Likes

Hi @Arie_J_Godschalk

I have a development suggestion about the “control page” of the better logic app.

In the page all the variables are shown in order of latest update. I have lots of fast updated variables (in seconds or so), this causes that the page is very slow and will sometimes crash the app completely.

I would suggest that put a update button in the control page so that user can update the values when they want.

Last but not least, thanks for all the effort with this and other apps that you are updating. :muscle:

1 Like

Hey Peltsi,

Good idea!
Do you mind creating a feature ticket for it so we can remember and track it?
Thanks!
QlusterIT / nl.qluster-it.BetterLogic / issues — Bitbucket

1 Like

BLL is updated to 2.4.9:

The Settingspage has been improved.
Before, each time a variable was changed, the Settingspage would get an notification.
On that notification, it reloaded all variables from settings (sometimes already to late),and rebuild the screen and request the updated datetime formats.

Now, when a variable is changed, the Settingsscreen gets an notification with the new/edited/removed variable in it + it’s formatted datetime.
This single variable is then updated in the Settingspage.

This is a big improvement when you have lott’s of variables being updated all the time.
This test made homey had a really hard time with the old app, while with the new one, it seems like nothing, the screen is just fastly updated:


TEF:

[tef:FLOWS:"H4sIAAAAAAACA82T32vbMBDH/xWjpw2kIEuyLPlt3R5GCdugewvB6Mc5M3PszHbThuD/fbKTFkJSGlgHfTK67/eOu8/59qhH2R7V0M9K4mE7s9D30FbNqnSTgDJ0M4Wi+RiL5qVtTbtDA0Z1NftT3XdBI2U/u+2a+qupfQXtU+Lt3fdv0VNsCBkGZYs9KoPkuYt9aiRxsdRExN4SzTUnWihnC00THzOEpyo/oC2adm1qB9FP6PoQnlqTcaEZeEZE4SQRqpBEOeeI1jSNHbXWx2L0PaKMSYrRDmWchW8Tav5q1rDLzGaTXZ4cT02+4so66POub8t6lW9NWxpbQcgMQJFxfdnUaJp4j57FkYtZw+lQ40zxmLfbjMqhYHh76FxbbqZCGfrcgukhquEhOjoCz62p7sec/eJLEGd18/Dh43KYUHvHmFPcEUZTQ4SlnhhuBVHK8hgKEM7JIx1xgHOO5sX9nuF5yZkdQOR51TSbPO/h8TDqGaIDlmc8N/N5dGHvp0g+mXptfkM9khjrh9AixgxzLHCCJU6xwhpTfCG2nBgpaT2NgROmgBLhAIgpCksSx5VPHVjLxCkjRv8LpbDQ1QraS5iOUnh14Xiu++kx4qkHkRaUMK+Cl6eaaMo0UZIXzoLTIEZbkuhweS7YpA8A0iRU80YQ462ViZWGgkbLf1jRHVTgepjOf7iyrdOTFeKdnix785O9ahundBL5TunwN6YzDMvhL/uKVOqsBgAA":/tef]

Also an Auto-Update toggle

image

When disabled, the screen will not update on any variable change (which can be annoying when you want to select or edit a specific variable, since the screen then changes).
(When updating, the screen should not scroll anymore like it used to).
When you re-enable Auto-Update, all variables are reloaded at once, and individual updates will take place again.

It’s live now.

2 Likes

Another update

Many parts have been translated into Dutch and thuse been put into translation model.
Time to get this app translated.
Flowcards remain to be improved.

First diner and game night (ticket to ride?) with wive and son :slight_smile:

1 Like

I am currently formatting all flowcards and translating them into Dutch.

Question for Dutch people:
When a flowcard says “is true” and “is false”.
Should the false be translated into “onwaar” or “niet waar”?

image

For me “niet waar” sounds a lot better in Dutch :wink:

5 Likes

BLL 3.0 is in test has just been submitted for review

  • BLL has been fully put into translation, flowcards are redesigned/re-titled and translated.
    English
    Dutch
  • Also a small redesign of the Settingscreen to better fit multiple devices.
  • The File Server is now configurable from the Settings.
  • Formats Z and ZZ have been added: GMT+1 and GMT+01.
  • Settingscreen updates smart, using fever resources as before.

It’s in test.

Who wants to help translate (the remaining parts) into German? @DirkG ?

There is a Repository set ready for translating into German:
QlusterIT / nl.qluster-it.betterlogic / translation-de — Bitbucket

1 Like