![]() |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Hey there!
At first I want to thank you for the amazing work you did with Rockpool. I really like my Pebble and it's great that it works with my Jolla. I would like to ask if there currently is a way of communicating with a Jolla app. Specifically I think it would be great if we could show direction instructions from apps like Poor Maps. Could we map the API Pebble provides for companion apps to DBus interfaces? Best Max |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Quote:
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
what would be that cloud-based service?
If there's something ready the feed the voice with simple API - we can of course link it as a PoC and then we can formulate what would be the best api for us to implement in saera. As of now the only PoC i can do is to dump voice to /dev/null and send some stub text in response. |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Quote:
There's an effort (currently WiP no ETA) to extend JSKit API by DBus interface, which may allow one to spare some time coding WS - although i don't think it's that complicated, qtwebsocketserver is quite straightforward one. |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Quote:
If you have any more confirmation about that than CEO-speak it would be interesting. In fact bandwidth is the main reason that so far no smartwatch has actually been "BLE-only". I only know of some editions of the Metawatch, and some fitness bands. And I used to connect the BLE Metawatch happily with my Nokia N9, which had a kernel that was even older kernel than the Jolla :) On the N9, the kernel had a limitation regarding BLE Random addresses, but that's no longer present on the Jolla, and random _static_ addresses work fine (right now my Jolla is connected to a Garmin Fenix without problem). If it turns out that the newer Pebbles are BLE only, or that some functionality is only accessible via BLE, as mentioned, you might want to use a "mostly user-space" BLE stack, such as Gato or backport Qt Bluetooth 5.4 (which was partially based in Gato). With both approaches you have the same limitations as described in https://together.jolla.com/question/...th-le-support/ . To summarize: * Scanning for devices is difficult because it requires root access. Maybe a small setuid binary or something like that to trigger the scan. * No "peripheral" role (i.e. Jolla must connect to the watch, not viceversa). * Pairing is possible, but not safe: LTKs are _not_ stored by Bluez, so MITM attacks are possible. However, BT4.0 has confirmed security holes, so MITM attacks are technically possible even if LTKs were stored. (On the Jolla, Bluez4 will not scan for LE devices because it thinks it's not on a BLE device. I've managed to confuse it enough so that it actually scans for BLE devices, but it's ugly. ) Please note that there's not much Jolla can do about this since we're about the only platform (other than ChromeOS) where there's any interest in using Bluez4/5 stack with BLE+GATT. Updating the kernel will not help anything, unless they update it to extremely recent version alongside a extremely recent version of Bluez (which has upstreamed the ChromeOS GATT patches), and then fix QtBluetooth, and then recertify the device, and then... In any case I suggest waiting to see if the newer Pebbles are BLE, and if they are, "how much" BLE they are before any move. |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
I first heard about it from Katharine Berry on the ubuntu pebbler's group, then found the earlier statement from the CEO to back it up. She also said that the Pebble Time Round has been BLE only on iOS since it launched.
Quote:
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Quote:
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Thanks Boke, looks like good way to proof the concept.
Aside from that, I'm switching to gui mode now, and meanwhile posting alpha on beta :) that is 1.0-alpha1timeline2 - with following items: * Added websync to the timeline * Added (rather implemented) timeline API to the JSKit.Pebble - except account token - which is still randomly generated. * Added canned messages for jolla messaging center (telepathy) which allows replying to SMS and IM. All these elements require initialization to start working, which in absense of GUI could be done a always via DBus. Set OAuth token Code:
gdbus call -e -d org.rockwork -o /org/rockwork/XX_XX_XX_XX_XX_XX -m org.rockwork.Pebble.setOAuthToken 'hex string' Code:
gdbus call -e -d org.rockwork -o /org/rockwork/XX_XX_XX_XX_XX_XX -m org.rockwork.Pebble.setCannedResponses "{'x-nemo.messaging.im': <@as ['Aye','Nay','On my way']>, 'x-nemo.messaging.sms': <@as ['Ok','Are you talking to me?']>}" |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Quote:
edit: the reason for using wit.ai is because it has an official Python client, whereas the google voice recognition is a hack that might break at any time. |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Hello,
Now that I've been using this excellent app for a while, I have repeatedly noticed one issue about the connectivity (daemon ?). I tend to turn off the BT from Jolla in the evening and turn it on again in the morning. In my Pebble the BT is on all the time. The phone and the watch get connected perfectly (almost) every time, but the Rockpool app usually says "Disconnected" - and the notifications won't work - until I restart the service from Developer Tools (thank god for that ! :)). |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Quote:
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
I've noticed that behaviour also multiple times, it attempts to reconnect and errs with Socket Error. Bouncing BT (stop/start) or restarting daemon usually helps, didn't try to dig deeper yet. Think could be some stale socket?
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
There's some strangeness with the BT anyway - Rockpool doesn't work at all if BT is disabled on boot then enabled, because the adapter isn't present at all and it only watches for state changes. If it's switched off after boot then it stays around but its state is disabled, which is what Rockpool's expecting.
I think the BT implementation in Sailfish is going to change quite a bit soon, and we'll possibly have completely different bugs after that. So I thought the 'restart service' would be a good temporary fix. |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Quote:
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Hmm, I get this behaviour too but I thought it was a FP2 bug!
I have been ringing voicemail to solve this problem, thinking that it was a driver issue - when you end a call, the watch connects properly within a few seconds. Thinking about it, perhaps it's the segfault on end of phonecall bug that was mentioned earlier in the thread, causing the daemon to be started again, which makes the BT reconnect...lol. |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
yes, end-call segfault is quite frequent :) Definitely more than 50% occurrence.
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
I wonder whether it would be possible to improve email notifications? Like, when an email comes in, it shows the subject line on the Pebble, and if I don't want to read it right away I can dismiss it. But, if another new email comes in, the notification just says "new emails", which is completely useless - I already know there's new emails, because the phone made a noise/the watch buzzed - I'd want to see the subject line of the new email, as on Android. Is this feasible?
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Quote:
Glad that it's come in useful for someone though :D As for the email, I thought it already showed the separate messages instead of the '2 new emails' thing. Android messaging apps still do the group thing, but there's not much we can do about that. |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
yes, it shows new mail below. At least on PTR there appears a black dot at the bottom so i can just press down and read next mail. Need to try again, maybe when multiple mails come simultaneously jolla groups them together...
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Quote:
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Quote:
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
ok, updated Rockpool and rebooted. Now:
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
sounds like insert/remove loop. which one did you install - beta or release?
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Beta version.
Edit: opened the Rockpool app and subsequent emails are showing notifications, but like this again: http://i.imgur.com/4kwA4jt.jpg The only difference being that this is now a grey notification instead of a red one (what do the colors mean? Notification classes?) |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
that's odd, somehow group is not suppressed and it overrides original one. group is always generated after original one.
Can you capture the debug log while notification is delivered - the one which is vibrating and not showing (that will be insert/remove) and the one with subsequent mail? To capture that you can use pebble sdk tool and dev connection (enable dev connection and use pebble logs --phone <phone ip>). If you have no sdk or cannot install it - then old school ssh to phone and run daemon manually will do (need to disable service first). I need logs after firmware update message - a section starting with watchfish:Notification Notification(sender=... up to latest line of doMaintenance: Executing maintenance cycle (with timestamps) - may need to wait till that one for up to one minute (normally) or less (if something is wrong). A color is different for pre-defined groups of messages, and is red for unknown. Previously the same logic was applied - but it was not working properly so everything was falling to default and was red. Code:
{"generic",{"system://images/NOTIFICATION_GENERIC","red"}}, |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
btw - are we speaking about android/dalvik notifications or jolla native notifications also buzzing and not popping up?
I.e. mail is ok, that's native (I hope?) and it seems it's popping up, but what about those which don't? Bcz current implementation has a hook to remove message when notification is closed. So if dalvik emitting notif-n and immediatelly closing it - that will be the behaviour - buzz with no popup. and I don't have dalvik (and not eager to install it) to test |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Ok, seems together with @abranson we nailed it down.
First fact is - when notification is updated (or same notification id delivered twice) while the notification is popped up - popup is suppressed and updated notification just stays in notification history. Then - rockpool's timeline is(was) designed with explicit ability to update not only pins but also notifications. Finally it seems that android notifications are always generated in pairs or twice. So for android notifications are always suppressed in the new timeline engine. Current fix is simply to block update of the notifications. Proper fix would be probably to allow update only after 15min (or whatever time popup is being held active) but that proper one will be implemented only when necessity to update notifications arises. Pushing new beta to openrepo with GUI for timeline management and this fix. GUI with canned messages will follow. |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
I currently have two issues with the daemon, I'm using the latest alpha rockpool-1.0-alpha1timeline4
1. Calendar Sync does not work any more. Events do not show up. They show up on my Phone in the notification screen. 2. The Pebble Login does not work. Once I press "Login" the webview complains that the url scheme (pebble://...) is unknown. Once I go back I do not seem to be logged in, or am I? Best Max PS: I love the SMS/IM quick reply feature! |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
hm, right, i forgot about startupCache, i cleaned it on my phone while debugging login and other stuff but on normal rpm update it's apparently not touched.
Can you remove .cache/rockpool/.mozilla/startupCache/startupCache.4.little and try to re-launch app again to confirm login feature? I'll then think of some hook to invalidate the cache when jsm is updated. As for calendar, I got already another report, planning to dig it tomorrow once I have events in timeline window (my cal is very sparse). |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
I didn't get far with it, but OrganizerAdaptor was being very quiet indeed.
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Ok, got it even without calendar events, simple review revealed one of those stupid mistakes like attempt to pass negative unsigned integer... will post updated version.
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Quote:
Clearing the cache did the trick! Thanks As for the calendar, could I provide any information that would help debugging? |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Quote:
Quote:
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
timeline6 beta pushed to repo, that includes canned responses gui and gecko cache invalidation. Before it's mainlined would need some extensive testing, especially to pay attention to battery drain which I suspect might happen under certain conditions - which so far I'm unable to catch and/or reproduce under control/observation.
Maybe red herring though and drain is caused by something else - but apparently it happens from time to time to me now. |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Just to be clear - drain on the phone, rather than the watch, right?
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Yes, on the phone, the two changes which happened on my phone were - i linked my caldav to the calendar and of course rockpool update. caldav-client I see periodically at tops while rockpoold always dragging at the bottom of the list, with mere ~20m of memory and 0% cpu. So i supect this is rather caldav, but just to be sure need confirmation from others with different environments and usage patterns.
|
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Hi,
No problems with battery drain spotted yet, but I am getting quite a lot of blank notifications. They have the alarm bell icon at the top, but no content. If I hit the centre button, I'm given a menu with three options: [Action] / [Action] / Start Quiet Time. They mostly seem to come instead of notifications for real events (such as an email arriving), but I'm not sure if they all do - some seem like they might have been 'phantom'. I guess I'll try to forget all notification types on Rockpool, and upgrade watch firmware (I'm currently running 3.12), see if that helps. Are there any useful logs I can send you before I do that? |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Is it literally [Action] [Action] or there's some action behind that?
Can you check files at .local/share/rockpoold/<mac>/timeline/<uuid> and try to figure out which of them came as empty? Eg. filter out those which came normally and remaining with alarm bell icon would have system://images/NOTIFICATION_GENERIC as an icon. Also there was a bug where UTF strings are improperly trimmed to fit content limitation and when they overflow you'd get empty message. Clear indication of such message would be body field more than 512 characters and with at least one non-ASCII character (umlaut, háček/čárka, кирилица, €/£, etc). After UTF8 expansion resulting byte sequence will be longer than 512 bytes and would cause overflow. It's fixed in git but last beta doesn't have that fix yet. |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
Hmmm....
Not sure what's going on, but I stopped getting any notifications at all so tried rebooting the phone and now it seems to be working OK. I think most of the blank notifications were from my gmail account, and interestingly there are now two notification classes labelled 'gmail' and two labelled 'SMS' in Rockpool's notifications menu. It literally just said [Action] (once twice, once three times - both times followed by 'Start quiet time'). I selected [Action] once and it said 'Success', but goodness only knows what it did :) I'll have a fiddle with it, see if I can make it do it again, but as I said as of this minute it seems to be behaving correctly. |
Re: [Announce] Rockpool - Pebble daemon for Sailfish
I had a look through the directory, and none of the files seem malformed (to my untrained eye). I grepped for 'NOTIFICATION_GENERIC' and two files have it - one is for a missed call, one for a download, but they both seem to have the correct contents (including named actions and bodies). I grepped for 'Action' just in case, but none have it. I'm guessing those files are transient, and got killed by me rebooting?
None of them are especially private, so I can email them to you if it helps... but fingers crossed, maybe it was just one of those gremlins that goes away when you reboot. |
All times are GMT. The time now is 10:06. |
vBulletin® Version 3.8.8