Read the statement by Michael Teeuw here.
Phone Notifications
-
@ronny3050 I submitted a pull request. A couple things to note: the notification count no longer works. In order to make it work it would need to increment on a notification being posted and decrement on dismissal. However, the dismissal information does not contain a field that differentiates between 2 notifications from the same application. So that means when a dismissal gets triggered on an app that has 2 or more active notifications it would remove all the notifications from that app making the count a useless number. This also means that when any notification from an app gets dismissed, even if it’s not the most recent, the notification from that app shown on the mirror get dismissed. I’ll look into this a little further but from what I’ve seen so far there doesn’t seem to be a way around it.
The second issue I’ve been running into is that there seems to be a server request error when notifications come in or get dismissed too quickly. It happens quietly in the background but if you find your phone blowing up with notifications, they may stop appearing on the mirror. We may need to incorporate a short waiting period between requests so it doesn’t lock up and miss incoming notifications.
Edit: I did actually figure out how to differentiate between notifications from the same app. I was just not paying close enough attention to the API haha. I guess the question now is whether or not the count is necessary since each notification would presumably have its own unique content. I can think of a way to do it if it’s a feature people want, but for my purposes it seems fine without.
-
@tnorling I believe there is an ID associated with each notification that can help discriminate between two notifications from the same application.
For the second issue, I like the idea of a short waiting period. Another idea might be, albeit more complicated, is to have a
notificationTimePeriod, say 45 seconds. IfNnotifications show up within 45 seconds, we will display the first notification in the notification area in the mirror, and slide subsequent ones with adelayNextNotificationtime period. That is, in the mirror, we will only use one item in the notification list to display allNnotifications within a 45 second time period by sliding each of them with a delay.Please let me know how this sounds. Thanks!
Edit: Sorry! Saw your edit late :b
-
@ronny3050 It seems to be related to requesting the information from Pushbullet rather than displaying it onto the mirror so I’m not sure changing the rate at which we display them will solve the issue. There seem to be some limitations on how often you can use their API with a free account. I also noticed that some notifications, such as incoming phone calls, show up on the JSON stream as repeated pushes instead of just one. This would result in several requests back to back for the same notification and could be contributing to the problem. I’m not sure if this is a solveable problem though as it’s on their end. At first I thought we could check to see if the incoming notification is already on the list and do nothing if it is, but at that point the request has already been made.
After some thought, a wait period might not work either. Say you have a push, push, dismiss, push in quick succession. With a wait period in between requests the mirror may skip the second push if the dismiss happens before the wait period is over and you may see something like push, dismiss, push on the mirror. I’m not too familiar with the way the JSON file comes in. If you get the whole file each time a new event happens, a wait period could work. But if you only get the new event we’ll have some issues.
Of course getting a paid Pushbullet account would probably solve this issue without needing to rework the code, but who wants to pay? :P
Thoughts or other ideas?
-
@tnorling thanks for the information! You’re indeed correct in stating that there is a
ratelimitassociated with requesting pushes. It indeed seems like an unsolvable issue, given that once we request a push, the JSON response is already sent, even if it is streamed. :(The json response comes in whenever a new event occurs, however, we could maintain a stack of current pushes and dismissals. The wait time could then be dynamic shortened if a dismissal is found in the stack.
Will this work?
-
@ronny3050 I’m not sure if I quite understand. It seems to me that any time there is activity on pushbullet we get a ping saying “hey look at me, I have new information for you” and then we check to see what event occurred and act accordingly. And from what I understand any time pushbullet notifies us of activity it counts towards the
ratelimitbecause that’s when the websocket gets opened. So unless it’s dependent on when you read the JSON, the only way I see us limiting the rate at which we make requests is by periodically checking the JSON and parsing the new information rather than listening for new activity. Which kind of defeats the purpose.Of course I could be wrong about all this, I’m not super familiar with websockets or the API. We might be stuck with the way it is, but it works well enough as long as your phone isn’t receiving a ton of notifications at one time.
-
The very first time I set up this module I was getting notifications. After about ten minutes my log started reporting
rateLimiterrors, and notifications stopped coming in.Since then, notifications don’t work at all. I’ve tried resetting all my tokens and starting over, I’ve completely removed/reinstalled the module, still nothing. I even bought a month of pro to see what would happen.
The log isn’t reporting any problems, it’s basically like my mirror doesn’t even know it’s connected to my account. Any ideas to fix it?
-
@malicious_banjo do you use Pushbullet a lot? There’s a limit on how many requests are given out per user.
If you use Pushbullet outside of this module, it is possible that you ran out of requests.
Seems like a good course of action will be to custom create an Android app that will push notifications.
-
@tnorling what do you say we create our own mobile application for both Android and iOS that can push notifications. This way, we won’t have to rely on Pushbullet and can control push limits.
-
@ronny3050 Nope, I made a PushBullet specifically for this module. The error returned after just two notifications on the mirror.
I can get a single notification to appear now, but only from the “Send Test Notification” button from the Mirroring menu on the Pushbullet app. The console will output
nulland then after that, nothing more. -
@malicious_banjo the more I think about it, the more convinced I get that we should have our own application. The issue is I am not very knowledgeable in the workings of Pushbullet which will always limit my abilities to solve issues like this.
Do you think it is reasonable to have a widget installed on your Android phone that pushes notifications instead of relying on PushBullet?
-
@ronny3050 Seems perfectly reasonable to me. Would it abandon the usage of the PushBullet API/Access Token completely?
-
@malicious_banjo Yes, it will. It will be a lot of work, but I think it would work well due to the following advantages -
- Phone call alert with caller ID
- App for both Android and iOS
- No relying on push limits/month
- Issues can be resolved in an easier fashion
-
@ronny3050 Sounds great. I just finished my mirror a few days ago so I’m quite new to this community; have they’re been a fair amount of issues concerning this module? I’m guessing some kind of recent update to PushBullet is throwing everything out of whack?
-
@malicious_banjo said in Phone Notifications:
@ronny3050 Sounds great. I just finished my mirror a few days ago so I’m quite new to this community; have they’re been a fair amount of issues concerning this module? I’m guessing some kind of recent update to PushBullet is throwing everything out of whack?
It’s possible and yes, there are more issues than I would like to have. I’ll get started on this and update you. Please hang tight! :)
-
@malicious_banjo another advantage is pushbullet does not capture all notifications - it depends on the applications sending the notification. This should be resolved by having a custom app as well :)
-
Was looking at this module to display some push notifications. I know that it won’t work with Pushover due to their API, but there is one option that Pushover has that would be really useful which is syncing alert dismissals. This means that you can get the alerts on your phone or mirror, but as soon as you acknowledge it on the phone it is removed from all other devices. This would be good to ensure you see the alert wherever you are, but are able to control when it is removed from the mirror. Just a thought :)
-
Hello
I hope someone could help me.
Iphone 6s with IOS 11
RasperrbyIssue:
I see on the screen no new notifications, I also i added the API Key from Pushbullet on the config but I can’t send message from the Iphone to the MagicMirror. I only see in the Iphone App the Iphone and not the MagicMirror.Thanks for help me or clarified.
-
Same problem as Ogret2 here. I’m also quite not sure, how the pushbullet app is supposed to know about the other notifactions from my iPhone? But not even pushbullet notes arrive. Am I supposed to add the Mirror as an device? That’s what I did with my raspbery projects so far when using pushbullet to notify myself on the phone. But I only see the option for the general auth token.
[edit]
apparently it’s broken due to pushbullet :( maybe add a notice on github or so. -
Hello,
For me everything is working but the Mirror doesn’t show any notification from Snapchat.
Thanks for helping!
-
Ive been trying to add this module but everytime i run cd phone_notification it just says no such file or directory. help please!
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login