GithubHelp home page GithubHelp logo

smokku / pebble Goto Github PK

View Code? Open in Web Editor NEW
70.0 20.0 17.0 1.06 MB

Unofficial Pebble watch support for SailfishOS/Jolla

License: GNU General Public License v3.0

C++ 62.08% QML 6.63% JavaScript 5.11% CMake 0.11% C 25.25% QMake 0.79% Batchfile 0.02%
pebble sailfishos jolla watch daemon

pebble's Introduction

pebbled

![Gitter](https://badges.gitter.im/Join Chat.svg) Flattr this

Unofficial Pebble watch support for SailfishOS/Jolla

More information about Pebble: http://getpebble.com

Features

  • Voice Calls notification and control
  • Conversations notifications forwarding
  • Missed calls notifications
  • New email notifications
  • Twitter and Mitakuuluu notifications
  • MPRIS compatible media player support
  • Set "silent" profile when watch is connected
  • Phone to Watch time synchronization
  • Transliterate strings to plain ASCII
  • daemon management app
  • "org.pebbled" DBus interface
  • PebbleKit JS application partial support (including Pebble object, XMLHTTPRequest, localStorage, geolocation)
  • Pebble AppStore preliminary support
  • Firmware check and upgrade

Building

You need SailfishOS development environment: https://sailfishos.org/develop.html

Open the project and build RPM.

Running

Deploy as a RPM package to the device.

You need to pair your Pebble in Settings -> System settings -> Bluetooth

Application will try to connect to any paired device which name starts with "Pebble"

References

pebble's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pebble's Issues

Firmware upgrade stuck at 0%

Started firmware update from the "pebble" app, after receiving unlock code.

The watch started the update process but is stuck (60 min now) at: "Updating ... 0%". Unresponsible then, only a 10 sec key-press makes the watch restart. Everything is fine after reboot, but firmware version is the same as before update.

The watch is brand-new, runs firmware v1.5.4, bootloader from 17.01.2013. Tried to update to firmware v2.9.1 on a Jolla with 1.1.2.16 (Yliaavanlampi) and "pebble" app v.1.0-1.

Watchface not updating

I'm using the MyStyle watchface, and I've noticed since 1.1.6 that the date and weather aren't updating. When the daemon starts up, I notice this error:

pebbled[11746]: [W] JSKitPebble::invokeCallbacks:164 - error while invoking callback "ready" "function() { [code] }" : ":265: ReferenceError: setInterval is not defined"

Is this the cause?

GPS read

I have two apps that require a GPS location and neither work.

  1. Get back. It reads in an initial GPS location and allows you to track back to it.
  2. PTV. This is a transport timetable app. Reads in a location and fetches local timetables around where you are. Though this one also needs data access.

Pebbled constantly spamming logs

Hi,

I installed pebbled and since then my journalctl is unreadable because the logs get constantly spammed with:
Jul 18 15:23:38 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::error(QString)
Jul 18 15:23:38 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::voiceCallsChanged()
Jul 18 15:23:38 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::providersChanged()
Jul 18 15:23:38 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::activeVoiceCallChanged()
Jul 18 15:23:38 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::audioModeChanged()
Jul 18 15:23:38 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::audioRoutedChanged()
Jul 18 15:23:38 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::microphoneMutedChanged()
Jul 18 15:23:38 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::speakerMutedChanged()
Jul 18 15:23:40 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::error(QString)
Jul 18 15:23:40 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::voiceCallsChanged()
Jul 18 15:23:40 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::providersChanged()
Jul 18 15:23:40 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::activeVoiceCallChanged()
Jul 18 15:23:40 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::audioModeChanged()
Jul 18 15:23:40 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::audioRoutedChanged()
Jul 18 15:23:40 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::microphoneMutedChanged()
Jul 18 15:23:40 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::speakerMutedChanged()
Jul 18 15:23:42 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::error(QString)
Jul 18 15:23:42 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::voiceCallsChanged()
Jul 18 15:23:42 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::providersChanged()
Jul 18 15:23:42 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::activeVoiceCallChanged()
Jul 18 15:23:42 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::audioModeChanged()
Jul 18 15:23:42 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::audioRoutedChanged()
Jul 18 15:23:42 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::microphoneMutedChanged()
Jul 18 15:23:42 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::speakerMutedChanged()
Jul 18 15:23:44 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::error(QString)
Jul 18 15:23:44 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::voiceCallsChanged()
Jul 18 15:23:44 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::providersChanged()
Jul 18 15:23:44 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::activeVoiceCallChanged()
Jul 18 15:23:44 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::audioModeChanged()
Jul 18 15:23:44 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::audioRoutedChanged()
Jul 18 15:23:44 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::microphoneMutedChanged()
Jul 18 15:23:44 jolla pebbled[970]: QObject::connect: No such signal QDBusAbstractInterface::speakerMutedChanged()

Cheers

Add quiet time

It would be very cool to have a setting for quiet time. Eg 22:00 - 8:00.

Configuration pages of apps don't work in pre release or 1.1.4.28 Äijänpäivänjärvi

Hi,

the configuration pages don't work anymore. Get the following errors in journalctl:

Apr 17 10:22:51 Jolla [8477]: [W] PebbledInterface::configureApp:224 - Received error: "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply ti...nection was broken."
Apr 17 10:22:51 Jolla [8477]: [D] configure:106 - received url:
Apr 17 10:22:51 Jolla [8477]: [W] WebKitQmlExperimentalExtensionPlugin::registerTypes:52 -
WARNING: This project is using the experimental QML API extensions for QtWebKit and is therefore tied to a specific QtWebKit release.
WARNING: The experimental API will change from version to version, or even be removed. You have been warned!...
Apr 17 10:22:52 Jolla [8477]: [W] QQmlJavaScriptExpression::evaluate:184 - QQmlExpression: Expression file:///usr/lib/qt5/qml/Sailfish/Silica/SilicaWebView.qml:128:16 depends on non-NOTIFYable properties:
Apr 17 10:22:52 Jolla [8477]: [W] QQmlJavaScriptExpression::evaluate:184 - QQuickWebViewExperimental::transparentBackground

Note this is SailfishOS version: 1.1.4.28 Äijänpäivänjärvi

Cheers

Pebbled stopped working on new Jollaversion

Hi,

I just installed the new Jolla update with plenty of features. But now pebbled is unable to start because of the following error:
writev(2, [{"pebbled", 7}, {": ", 2}, {"symbol lookup error", 19}, {": ", 2}, {"pebbled", 7}, {": ", 2}, {"undefined symbol: _ZN11QtBluetoo"..., 71}, {"", 0}, {"", 0}, {"\n", 1}], 10pebbled: symbol lookup error: pebbled: undefined symbol: _ZN11QtBluetooth16QBluetoothSocket16staticMetaObjectE
) = 111

Cheers

Too many notifications with SailfishOS 1.1.6

I upgraded to the early release version of SailfishOS 1.1.6 yesterday and since then I can't control which notifications are sent to the phone. They are all sent :-(

I tried to enable and disable certain notifications, but that didn't help (e.g. I have email notifications turned off). Turning off all notifications still sends them to my Pebble.

I checked the changelog for this release and there are many notification changes, but I can imagine the following change related to notifications could be relevant:

nemo-qml-plugin-notifications-qt5

  • [nemo-qml-plugin-notifications] Separate appName from notification ownership
  • [nemo-qml-plugin-notifications] Add property for notification urgency
  • [nemo-qml-plugin-notifications] Add utility function to construct action variant
  • [nemo-qml-plugin-notifications] Prefer application name to filename
  • [nemo-qml-plugin-notifications] Fix broken encoding when no action name is specified

Cannot connect to Pebble

I have two Pebble watches laying around, a Steel ID 4xxx and a plastic one with ID 6xxx. My Jolla is only paired with the 4xxx, but Pebbled's homescreen widget always says "Pebble 6xxx disconnected".

Even if the 6xxx Pebble is shutdown and I rebooted the phone, Pebbled somehow tries to find the 6xxx. Re-paring or reinstalling Pebbled also does not solve this problem. Only occasionally Pebbled connects to the paired 4xxx. If so, it seems to last until next reboot and then the lottery is back on.

The 6xxx was never paired to this phone.

no reconnection if Bluetooth has been turned off

I've set up situations to turn off Bluetooth and enable the general profile when I'm at home as i take off my pebble. When I leave again, it reverts to a pebble profile and turns Bluetooth back on. Problem is that the pebble will only reconnect after I tap "connection" from within the app.

If I lose Bluetooth connection, drops out from leaving phone behind, it will reconnect automatically when within distance again.

Some watchapps doesn't work.

Some apps can't detect internet connection.
Like for instance: "Tweakers.net" watchapp (found on the Pebble Store).
It's a rss like app for the website Tweakers.net

It shows "Configure..." (See attached picture) but when trying to access it, it will freeze for a couple seconds, then it shows "No configuration settings available". (See attached picture)

On the watch itself, it gives the error:
"Disconnected
Run the Pebble Phone App"
20150115163222
20150115163213
20150115_001

version 0.16-1: "Your firmware is too old.." though Settings/About/Firmware says v2.9

The application view says "Your firmware is too old to support SDKv2 applications" though when I check the firmware on the Pebble itself under Settings/About/Firmware there is v2.9 which I understand is the most recent firmware available.

If I press Info on pebbled it just says "Address Serial Number BootLoader Firmware Recovery" and no additional information, but perhaps this part isn't implemented yet.

My Sailfish version is 1.1.2.16.

Add calendar reminders

Add calendar reminders to pebbled. The calendar uses it's own dbus interface for reminders.

Example:

method call sender=:1.6 -> dest=com.nokia.voland serial=15 path=/com/nokia/voland; interface=com.nokia.voland; member=open
   array [
      variant          struct {
            uint32 2
            uint32 0
            array [
               dict entry(
                  string "APPLICATION"
                  string "libextendedkcal"
               )
               dict entry(
                  string "COOKIE"
                  string "2"
               )
               dict entry(
                  string "PLUGIN"
                  string "libCalendarReminder"
               )  
               dict entry(
                  string "STATE"
                  string "DLG_CNTR"
               )
               dict entry(
                  string "TITLE"
                  string "<Calendar Eventtitle>"
               )
               dict entry(
                  string "alarmtime"
                  string "2014-08-16T12:36:00+02:00"
               )
               dict entry(
                  string "endDate"
                  string "2014-08-16T13:36:00+02:00"
               )
               dict entry(
                  string "maximalTimeoutSnoozeCounter"
                  string "2"
               )
               dict entry(
                  string "notebook"
                  string "<calendar per id>"
               )
               dict entry(
                  string "startDate"
                  string "2014-08-16T12:36:00+02:00"
               )
               dict entry(
                  string "time"
                  string "2014-08-16T12:36:00+02:00"
               )
               dict entry(
                  string "timeoutSnoozeCounter"
                  string "0"
               )
              dict entry(
                  string "type"
                  string "event"
               )
               dict entry(
                  string "uid"
                  string "<uid>"
               )
            ]   
            array [
            ]   
         }
   ]

https://github.com/nemomobile/timed/blob/master/tests/ta_voland_service/com.nokia.voland.conf

cant install apps

im have downloaded aps, put them into directory, then open slot and install. circles are roling into infiniti, but aps dont mov to pebble. any idea why?

pebble-worker.bin bundle type is not supported

I was able to install

  • Modern Watchface (file size 52415 bytes)
  • Pedometer for Pebble (file size 71515 bytes) but after a long wait (possibly 10 minutes?). Pedometer crashes upon execution, but I cannot tell if this is expected :).
  • Alfex (21530)
  • pack (7827)
  • ModernExtra20_QuickTapPlus (27054) after a long wait (maybe a couple minutes)

Some of those I tried a few times and restarted the Sailfish Pebble application in-between. Sometimes I had also restarted the Pebble and reconnected to it.

But I was unable to install (the wait symbol spins seemingly forever):

  • Morpheuz (52069)

If I exit the installation view (with "Installed applications") to the main view and then come back, the wait symbol has disappeared. But if I restart the application, such slots now appear as "(slot in use by unknown app)". Sometimes (perhaps always?) the pedometer does indeed appear in the Pebble's menu, but crashes immediately upon starting. If I use 'ping' while the wait symbol is spinning, the notify arrives ok on the Pebble.

Pebble firmware version: 2.8.1
Sailfish Pebble version: 0.15
Sailfish version: 1.1.1.26 (Vaarainjärvi)

Duplicate notifications with SailfishOS 1.1.6

After upgrading to Sailfish 1.1.6.27 I get duplicate notifications on my Pebble.
Sms and Android notifications are displayed twice, and are also occuring as double entries in the Notification history.
Emails seems to show only once.
I don't use Twitter nor Whatsup, so I don't know how these messages are handled.

Sailfish 1.1.6.27
Pebbled 1.2
Pebble FW 2.91

"Logout" in app store is very easy to trigger accidentally

When swiping up on the appstore it's easy to accidentally trigger the Logout pulley option, which then immediately logs me out and forces to re-login, which is annoying as @#%$. Perhaps a remorse timer could be of use here?

It's especially problematic because of how fragile the scrolling in app store is, and the only reliable way to actually scroll up instead of triggering a pulley menu is to scroll down a little and then start going up.

Lost call notification / broken connection in deep sleep

On a few occasions my Pebble didn't notify me of an incoming call, although the Pebble claimed it was connected. I did notice the message "Pebble connected" (bluetooth) after the call was ended, as if really wasn't connected before. The phone was (probably) in deep sleep when it received the calls; I had no internet-connected apps are running, and the phone was on battery.

Probably related, I noticed a broken connection due to out-of-range isn't re-established automatically when the phone is in deep sleep. As soon as I wake the phone, even if only triggering the proximity sensor (I've LPS enabled), the Pebble reconnects.

STR:

  • Connect Pebble.
  • Leave the phone be for a while, so it enters power save mode; I've WLAN disabled, if that matters.
  • Walk out of range; Pebble disconnects.
  • Wait a bit.
  • Walk back in range. Notice that connection remains broken.
  • Wake phone, by tapping/power button/proximity sensor.
  • Pebble reconnects.

However, I've had no issues receiving notifications of e-mail. It might be that the device is active a bit longer (busy fetching the mail etc) before actually generating the notification, allowing the BT-connection to re-establish.

Perhaps this thread on the mailinglist might be of help?

Auto detecting downloaded apps from official Pebble store (Add directory check for official Pebble app)

I've managed to get the official Pebble Store partially to work on my Jolla. It can download the apps from the store now.
Will there be a support for auto detecting downloaded apps? Maybe a simple 'check' in the folder of /data/data/com.getpebble.android/app_jskit_installed_apps/

Here is how I got the Pebble app to work:
I installed the app on a real Android device, then connected my Pebble with the Android phone. After that, I copied /data/data/com.getpebble.android to my Jolla phone (same dir).
But be sure to exclude /data/data/com/getpebble.android/database

After that, I could just use the app without needing to connect pebble watch. I can browse and download any watchface/watchapp.

Unable to connect to Pebble

Pebble firmware: 2.9.1
Sailfish OS: 1.1.2.16

My Pebble and Jolla phone are properly paired and Bluetooth is enabled on both devices.
However, Pebble Manager is unable to connect to the watch.
When I press 'Active', the screen flashes a few times with a message 'Waiting for watch..' and then immediately returns to the initial screen in 'Dead' state. Pressing 'Connection' has no effect.

What can I do to (help you to) debug this?

Is there a docu how to use? no possible to install apps or to configure...

Hi there,

I have the following problems:

How to install apps?
How to configure them?
watchfaces like 'timely' and 'YWeather' are not able to pull weather data... what am I doing wrong?

I installed the apps via an android phone. I see them but only 'option' is to uninstall them. I am not able to see the 'Install App' screen or the 'Appstore' screen, but from the screenshots on the openrepos site I know they should be there...

Furthermore, from openrepos I was only able to install verion 0.4-1 from warehouse, to install 0.15-1 I had to manually download and install the rpm.

Thanks a lot for your help!

"Update firmware" option is underdocumented

The changelog for 1.0 says it's now possible to update firmware, but there does not seem to be any way to do it from the app. A thread on talk.maemo.org seems to indicate that the feature is hidden behind a paywall; can you clarify?

Phone calls aren't forwarded sometimes

It happened a few times already, my phone would ring, but no call would be forwarded to the watch. It's especially annoying when combined with #59, since I'd have no indication whatsoever that a call is being made. Seems to happen usually after a pebble disconnects (ie I walked out of range) and reconnects. The pings sent would still get through after that, but phone calls sometimes do not.

Bug with call notification and the other person hanging up.

To Reproduce:

  • Call your phone
  • Wait until pebble and phone rings
  • Hang up on the phone you're calling from
  • Phone detects that the caller has hung up and notifies you about a missed call
  • Pebble continues ringing.

Error from log:

22.07.2014 23:31[0x006d8240] DEBUG Manager - Manager::onActiveVoiceCallChanged() 
22.07.2014 23:31[0x006d8240] ERROR Manager - Error:  "Telepathy Handler Invalidated: org.freedesktop.Telepathy.Error.Terminated - Release By User" 

Swedish characters not shown in sms

I can read the sms text in Pebble. However, the Swedish characters å, ä and ö are shown as a and o. Fully understandable, but annoying, especially since some words change meaning when replace eg å with a.

Pebble firmware version: 2.8.1
Sailfish Pebble version: 0.15
Sailfish version: 1.1.1.27 (Vaarainjärvi)

Make call notification optional

As the title already suggests, Make the call notification optional.

Mainly but not only because we need such an option if we want to support PebbleDialer

Also it seams the offical pebble app supports such an option as-well.

Add Pebble Time App store

When a Pebble Time (Steel) is detected, it should open up the Pebble Time app store, instead of the older Pebble app store.
Pebble Time app store has exclusive apps for the Time version

Firmware upgrade

78d1697 implements UploadFirmware D-Bus interface.

Unfortunately it fails CRC checks for binary or resource bundle for reason unknown to me.
This is repetable for different firmwares and always computes the same checksum that is incorrect, so I'm thinking there's something wrong with our crc32 implementation :/

Call notification does not show contact name

The call notification does show the phone number, but not the contact name.
The contact name is however shown in sms notifications.

Pebble firmware version: 2.8.1
Sailfish Pebble version: 0.15
Sailfish version: 1.1.1.27 (Vaarainjärvi)

Automatic time synchronization is missing

Related to #10.

There is no automatic time synchronization. It'd be nice to have the watch always be on exact time (ie. less than 0.2s difference from the phone); I usually don't remember to do it (ever) and then wonder why the watch is off by the minute digit ;).

Once a day sync sounds OK to me if hourly sync eats too much battery. Preferably it would take DST transitions and time zone changes into account. So the logic could be: if localtime differs from the previous poll a different amount than the polling interval would suggest, or if there's been long enough since last resync, do the resync.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.