Automagic Automation on Sailfish

Why not just include PositionSource qml in Automagic?

Sorry, but I have no idea how I could access this from within a background process that uses neither Qt nor QML.

Sorry, I meant that the app has a declarative section which then will pick up if Location service is running. Your daemon does what you’re doing now. The qml part is just there to keep the location service active if it’s enabled.

Wonderful app! I want to receive alarms via MQTT. This is the very first useful app that might make it possible to avoid email or SMS!

Unfortunatelly it seems that there is no SSL option for MQTT. My MQTT broker sits on a virtual server in the internet, so secured connection is mandatory.

Could you please check if version 1.0.16 fixes this issue when you use a tls:// prefix in front of the address?
I currently don’t have a broker set up for tls so can’t test it.

3 Likes

Wow! I wouldn’t have thought, you’d immediatelly put efforts into that! :slight_smile:

Stupid me - just found the armv7 image, will test right now!

And it works! Thank you so much, Sir!

3 Likes

Sorry, my fault, I should have linked both packages.

Perfect, then I can upload it to OpenRepos.

3 Likes

You coud use gpscon (small binary) for this.

3 Likes

Thank you for the tip.
I’ve been able to reverse-engineer what gpscon is doing and implement it directly in the daemon.
It still needs a bit of tweaking, but if all goes well, I might release an update tomorrow.

6 Likes

Version 1.0.17 adds GPS location as source or trigger:

8 Likes

Pushed to github. Not sure if anyone is using it that way :slight_smile:

2 Likes

Version 1.0.19 adds various string functions to flows and transformations:

Templates can now also manipulate strings:
{{var}} - Returns the full string.
{{var:2}} - Returns the string starting from index 2 to the end.
{{var:-2}} - Returns the last 2 characters of the string.
{{var:0:3}} - Returns the first 3 characters of the string.
{{var:2:-1}} - Skips the first 2 characters, and drops the last 1 character.
{{var:0:-5}} - Removes last 5 characters, and returns the rest of the string.

8 Likes

Version 1.0.20 adds more http/https options:

I’ve set up a Gotify server, played around a bit and added it to Automagic.
You can find an example Notify Gotify on the Library page.

3 Likes

Cool! I’ll push the updates to github tomorrow.

4 Likes

Version 1.0.21 adds more advanced timer controls:

3 Likes

And it’s up on github.

3 Likes

Version 1.0.22 adds optional parameters to http/https sources:

2 Likes

Does that work with Nephros (Do Not Disturb - Active Hours) as well?

Or from cli, script, cron job, systemd timer etc:

dconf write '/lipstick/do_not_disturb' 'true'
dconf write '/lipstick/do_not_disturb' 'false'

Example usage for systemd timer:

Create these files:

.config/systemd/user/dnd-activate.service

[Unit]
Description=Do-not-Disturb mode toggle

[Service]
Type=oneshot
ExecStart=/usr/bin/dconf write '/lipstick/do_not_disturb' 'true'

.config/systemd/user/dnd-activate.timer

[Unit]
Description=Do-not-Disturb mode Activation

[Timer]
OnCalendar=Mon..Fri 19:00
OnCalendar=Sat,Sun 23:30
Persistent=true

[Install]
WantedBy=timers.target

.config/systemd/user/dnd-deactivate.service

[Unit]
Description=Do-not-Disturb mode toggle

[Service]
Type=oneshot
RemainAfterExit=no
ExecStart=/usr/bin/dconf write '/lipstick/do_not_disturb' 'false'

.config/systemd/user/dnd-dectivate.timer

[Unit]
Description=Do-not-Disturb mode Deactivation

[Timer]
OnCalendar=Mon..Fri 07:00
OnCalendar=Sat,Sun 09:00
Persistent=true

[Install]
WantedBy=timers.target

Then enable and start them:

systemctl --user enable dnd-activate.timer
systemctl --user start dnd-activate.timer
systemctl --user enable dnd-deactivate.timer
systemctl --user start dnd-deactivate.timer
2 Likes

Great Linux solution. But that purpose is way easier with native Situation app.

You can set a timer and execute shell commands in Automagic, so don’t see why it should not work.