Open Source • Background Tasks: Itoo 🚀

Oh cool! Finally everything worked!
Thank you very much!!!

1 Like

Hello everyone!
I bring to your attention a working project for periodically listening to temperature measured remotely. And most importantly, the application has been tested and works in the BACKGROUND!!!
We receive the temperature from a command sent via BLE.
In this project, the polling frequency is set to 1 minute - 60000 ms.
command sent from the application to the receiving side: "i". You can ask yours! Please also figure out where to enter the Bluetooth ID.
A text-to-speech module is also connected. In the language of default.
God's help!
BLE_WEATHER_ground.aia (261.5 KB)

2 Likes

I tried logging.
log.txt (202.7 KB)

There is an issue in the notification style extension

I looked again at your blocks from here Open Source • Background Tasks: Itoo - #403 by Jimis

The argument x in your NotificationACK procedure should be renamed to nameAction

Also in the background there is no user interface and therefore also no notifier... replace the notifier in the NotificationACK procedure by a notification from the notification style extension

And wait for a new version from @Kumaraswamy as mentioned earlier

Taifun

Hello!
Improved application stability and commented out some blocks.
And, most importantly, after requesting and receiving data via BLE, we turn it off. And before receiving a new timer, turn it on again! That is, BLE does not waste energy, which corresponds to its purpose! I saw threads where someone wanted to do this!
The polling frequency in the application is set to 30 seconds. You can change it as you wish. :wave:
BLE_WEATHER_V1.2.aia (268.0 KB)

2 Likes

Itoo 4

  • Bug fixes and improvements

  • Broadcasting from App to Background service and vice-versa is now possible

    component_event

    • Any message sent from the background service will be received by this event
  • StoreProperty now uses object serialization like TinyDB — making it possible to store any kind of App Inventor data type

  • Breaking change — adds valueIfTagNotThere socket to set the default return value

    component_method

  • Fixes service conflicts, earlier when you tried to run two Itoo services, only one of them would run, this is now fixed.

  • Fixes permission requesting problem — now the framework ignores any permission requests made in the background

  • Fix starting an activity from background, like (Taifun Alarm's Set Alarm block), while there are still certain limits — extension returns default result okay code.

Download: xyz.kumaraswamy.itoo.aix (66.8 KB)

6 Likes

Itoo extension is now open-source under GPL V3 License

4 Likes

im using Itoo extension that can make background process.
but i can't figure out where i have to attach it

Hi you need to use CreateProcess and not CreateTask to create a process.
And you can ignore the result of CreateProcess

2 Likes

thank you. it solved my problem

1 Like

Excellent update, and that too for free ! You're a charm for the community.

1 Like

Alguien por favor me dice
Porque mi extension no tiene el bloque CreateWithTrigger?

Maybe you have not updated the extension

Hello,
i have a problem with start the process in background.
If call the web1.get from button its works ( i see the get request on the server)
but in the process background the requast not run
where am I wrong?
i would like to run the request every minute and update the label with response content

Sorry for my English and thanks forward

There is no condition attached to the if block, so the actions inside of it (the Itoo.CreateProcess block) will not be run. Also, the block to call the send_get procedure should be in the Clock1.Timer event.

1 Like

sorry, is a misprint.
But the result does not change if the block to call the "send_get" is in the "Clock1.Timer" event.
is correct?

Hi, please ask it in the Kodular community. Create a new topic there. I'll answer you there.

2 Likes

Thanks, i have Awaiting Approval in the community from greater then 24 ore .

I'll wait

you have to Register the Clock1.Timer event inside the get_notis procedure
Unbenannt

there is no such event as notis, the clock does only have a Timer event...

also you should register the Web1.GotText event and define a corresponding procedure to receive the response

Taifun

2 Likes

hi, i have tested with MIT, but i get the same result. i tested with your information but the request not run.
I haven't added any more code blocks for now.
I see the backend server logs to understand if the request was sent.
Obviously with the button1 the request arrives on the server