maemo.org - Talk

maemo.org - Talk (https://talk.maemo.org/index.php)
-   Applications (https://talk.maemo.org/forumdisplay.php?f=41)
-   -   [SFOS] [Announce] Rockpool - Pebble daemon for Sailfish (https://talk.maemo.org/showthread.php?t=96490)

ruff 2016-03-13 10:46

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Hi guys,

I'm currently using smoku's pebled on the phone and even started porting appstore to the api2 and now stumbled upon this project (where new store is already on board).

I'm planning to pick up the QML stuff (started already cleaning up the code).

Have one question tho - while building the project it complains about missing quazip. I can add it of course from smoku's tree, just wonder is it only me or why is it missing - so that I won't screw it up by adding again.

Regards,
ruff

abranson 2016-03-13 11:20

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by ruff (Post 1501247)
I'm planning to pick up the QML stuff (started already cleaning up the code).

That's great. I was going to get around to that, but I have zero experience in QML so was sort of hoping someone might come along :)

Ubuntu Touch seems to support a lot more of QtQuick than SF does and that seems to have made the QML quite busy, especially the layouts. I thought something a bit simpler would be best for Sailfish, we especially don't need the jumps to the settings app. Though of course with that nice looking store client. I'll leave it completely up to you though. Do you need a list of the DBus methods?

Quote:

Originally Posted by ruff (Post 1501247)
Have one question tho - while building the project it complains about missing quazip. I can add it of course from smoku's tree, just wonder is it only me or why is it missing - so that I won't screw it up by adding again.

It's not needed - you can install the quazip devel package in the VM. Not sure why it was static in pebbled, I assumed it wasn't available then or just didn't work.

ruff 2016-03-13 11:29

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by abranson (Post 1501250)
Do you need a list of the DBus methods?

Ehm, yes, if there's xml or just bullet-point call/descr. to avoid reverse-engineering it.

Quote:

Originally Posted by abranson (Post 1501250)
It's not needed - you can install the quazip devel package in the VM. Not sure why it was static in pebbled, I assumed it wasn't available then or just didn't work.

I can of course, to VM, and even to the phone, but how would it work when generating harbour RPM - will it pull the dependency from some (hidden) repo? If not - should be statically linked (as smoku did).

abranson 2016-03-13 11:47

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by ruff (Post 1501251)
Ehm, yes, if there's xml or just bullet-point call/descr. to avoid reverse-engineering it.

In org.rockwork, there's a core object registered then one for each pebble. The core one is /org/rockwork/Manager:
  • signal void org.rockwork.Manager.PebblesChanged()
  • method QList<QDBusObjectPath> org.rockwork.Manager.ListWatches()
  • method QString org.rockwork.Manager.Version()

then each watch by bluetooth address: e.g. for my watch /org/rockwork/B0_B4_48_80_B9_87

I've grouped these by function and importance

Connection management & discovery
  • signal void org.rockwork.Pebble.Connected()
  • signal void org.rockwork.Pebble.Disconnected()
  • method QString org.rockwork.Pebble.Address()
  • method QString org.rockwork.Pebble.HardwarePlatform()
  • method bool org.rockwork.Pebble.IsConnected()
  • method int org.rockwork.Pebble.Model()
  • method QString org.rockwork.Pebble.Name()
  • method QString org.rockwork.Pebble.SerialNumber()
  • method QString org.rockwork.Pebble.SoftwareVersion()


Watch app management
  • signal void org.rockwork.Pebble.InstalledAppsChanged()
  • method void org.rockwork.Pebble.ConfigurationClosed(QString uuid, QString result)
  • method void org.rockwork.Pebble.ConfigurationURL(QString uuid)
  • method void org.rockwork.Pebble.InstallApp(QString id)
  • method QStringList org.rockwork.Pebble.InstalledAppIds()
  • method QVariantList org.rockwork.Pebble.InstalledApps()
  • method void org.rockwork.Pebble.RemoveApp(QString id)
  • method void org.rockwork.Pebble.SetAppOrder(QStringList newList)
  • method void org.rockwork.Pebble.SideloadApp(QString packageFile)

Firmware upgrades
  • signal void org.rockwork.Pebble.FirmwareUpgradeAvailableChange d()
  • signal void org.rockwork.Pebble.UpgradingFirmwareChanged()
  • method QString org.rockwork.Pebble.CandidateFirmwareVersion()
  • method QString org.rockwork.Pebble.FirmwareReleaseNotes()
  • method bool org.rockwork.Pebble.FirmwareUpgradeAvailable()
  • method void org.rockwork.Pebble.PerformFirmwareUpgrade()
  • method bool org.rockwork.Pebble.Recovery()
  • method bool org.rockwork.Pebble.UpgradingFirmware()

Notification filtering
  • signal void org.rockwork.Pebble.NotificationFilterChanged(QStr ing sourceId, bool enabled)
  • method QVariantMap org.rockwork.Pebble.NotificationsFilter()
  • method void org.rockwork.Pebble.SetNotificationFilter(QString sourceId, bool enabled)

Screenshot management (who knew this was a thing...?)
  • signal void org.rockwork.Pebble.ScreenshotAdded(QString filename)
  • signal void org.rockwork.Pebble.ScreenshotRemoved(QString filename)
  • method void org.rockwork.Pebble.RemoveScreenshot(QString filename)
  • method void org.rockwork.Pebble.RequestScreenshot()
  • method QStringList org.rockwork.Pebble.Screenshots()

Misc config
  • signal void org.rockwork.Pebble.CalendarSyncEnabledChanged()
  • signal void org.rockwork.Pebble.HealthParamsChanged()
  • signal void org.rockwork.Pebble.ImperialUnitsChanged()
  • signal void org.rockwork.Pebble.LogsDumped(bool success)
  • signal void org.rockwork.Pebble.OpenURL(QString uuid, QString url) - I'm not sure this one is useful now, as RockWork used to launch a webbrowser for app config and associate itself with the pebblejs URL scheme to capture the return. I think this has been removed now.
  • method bool org.rockwork.Pebble.CalendarSyncEnabled()
  • method void org.rockwork.Pebble.DumpLogs(QString fileName)
  • method QVariantMap org.rockwork.Pebble.HealthParams()
  • method bool org.rockwork.Pebble.ImperialUnits()
  • method void org.rockwork.Pebble.LaunchApp(QString uuid)
  • method void org.rockwork.Pebble.SetCalendarSyncEnabled(bool enabled)
  • method void org.rockwork.Pebble.SetHealthParams(QVariantMap healthParams)
  • method void org.rockwork.Pebble.SetImperialUnits(bool imperialUnits)


Quote:

Originally Posted by ruff (Post 1501251)
I can of course, to VM, and even to the phone, but how would it work when generating harbour RPM - will it pull the dependency from some (hidden) repo? If not - should be statically linked (as smoku did).

Yes, it gets declared as a dependency in the RPM, then the lib just gets installed from the standard Sailfish repo during install, just like other libs. As for the harbour - I think this has about as much chance of getting in the Jolla store as Smoku's did - it just uses too many not-yet-approved APIs.

ruff 2016-03-13 13:43

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by abranson (Post 1501253)
In org.rockwork, there's a core object registered then one for each pebble. The core one is /org/rockwork/Manager:
...

Yes, it gets declared as a dependency in the RPM, then the lib just gets installed from the standard Sailfish repo during install, just like other libs. As for the harbour - I think this has about as much chance of getting in the Jolla store as Smoku's did - it just uses too many not-yet-approved APIs.

Great, thanks! Can you point me to this Sailfish repo with i386/arm7 rpms pre-built for SFOS - I've tried some suse build but that was built against qt4

abranson 2016-03-13 13:50

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Quote:

Originally Posted by ruff (Post 1501259)
Great, thanks! Can you point me to this Sailfish repo with i386/arm7 rpms pre-built for SFOS - I've tried some suse build but that was built against qt4

My phone says it's in the standard jolla package:

$ zypper pa | grep quazip

i | jolla | quazip | 0.5.1-1.1.6 | armv7hl
| jolla | quazip-debuginfo | 0.5.1-1.1.6 | armv7hl
| jolla | quazip-debugsource | 0.5.1-1.1.6 | armv7hl
| jolla | quazip-devel | 0.5.1-1.1.6 | armv7hl

$ ssu

- jolla ... https://releases.jolla.com/releases/...jolla/armv7hl/

Is that what you need? I'm not sure what you're after.

ruff 2016-03-13 14:04

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
whops, indeed, have it there as well. Ok, will dig then why build still fails on it.
--
Got it, it actually was attempting to be built on my host pc, not on SF SDK

Bundyo 2016-03-13 14:42

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
If someone wants to toggle the Health app on, use this Python script, as QVariantMap can't be passed through qdbus (disregard PHP on top :):

PHP Code:

#!/usr/bin/python
# -*- coding: utf-8 -*-

import dbus
from optparse import OptionParser

def main
():
    
dbus DBus()
    
dbus.notify()

class 
DBus():
    
"""Wrapper class for notify daemon dbus interface"""

    
def __init__(self):
        
self.__notify dbus.SessionBus().get_object("org.rockwork""/org/rockwork/B0_B4_48_78_2E_4B")
        
self.__iface dbus.Interface(self.__notify"org.rockwork.Pebble")

    
def notify(self):
        
self.__iface.SetHealthParams({ "enabled"True"age"41"gender""male""height"176"weight"95"sleepMore"True"moreActive"True })

if 
__name__ == "__main__":
    
main(); 


abranson 2016-03-13 18:22

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
Perhaps we need a CLI as well as a GUI...

abranson 2016-03-14 22:51

Re: [Announce] Rockpool - Pebble daemon for Sailfish
 
New version on openrepos with calendar event reminders

Edit: Hold off on that one for a bit - the timeline pins are duplicating...

Edit2: Fixed, and managed to add a check for disabled calendars too.


All times are GMT. The time now is 23:04.

vBulletin® Version 3.8.8