Kodi Community Forum
Notify - iPhone Notification App for XBMC (send push notifications to XBMC) - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Supplementary Tools for Kodi (https://forum.kodi.tv/forumdisplay.php?fid=116)
+--- Thread: Notify - iPhone Notification App for XBMC (send push notifications to XBMC) (/showthread.php?tid=64545)



- johoja - 2010-01-25

Fofer Wrote:Hello! I'd previously been tinkering with the similar ICallAccess, and was very intrigued by the implications. Unfortunately the client was written in Java, and I'd always held onto hope that one day something Growl-compatible would come out to replace it.

I actually saw that App before I started work on mine...and was pretty dissapointed by it. I really just wanted something that would Notify XBMC for me since I was missing a lot of txts and calls, once I had the framework for that done. Adding Growl support was easy.



Quote:1- When testing, I'm noticing a consistent issue which seems to be a deal-breaker. If the iPhone is sitting idle, as in I haven't touched it in a few minutes, and the screen is blank, and a call comes in to the iPhone... no Growl alert appears on my laptop. If I make a 2nd call, though, shortly thereafter, a Growl alert appears properly. The only way I am able to get it to work consistently is by making two calls (as described) or by turning the iPhone's screen on first. I'm not sure what's required here to make it work consistently, but if the phone needs to "on and awake all the time" for this to work, then it's not really an ideal solution.

What is probably is happning is that..the default behaviour of an iPhone is that if the screen is locked wifi turns off to save battery. There's a few ways around this

1). Use your external ip address when setting up Notify Pro, this will make use of your data plan given you have one..requires you forward your ports etc on your router.

2). I've been toying with the idea to add an option to wake up the WiFi then send a notification...Would that be something you want?

3). If you have your phone plugged in...the wifi is always on, as in it never sleeps so thats one way around it temporarily.

Quote:2- When I tap the "Help" button in Notify Global Settings, the app crashes to the Springboard.

Known issue, been reported a few times. I'll fix it.

Quote:3- What do the "Wifi Only" and "Anyonymize" buttons actually do?

WiFi only - Will only attempt to send a notification if you are connected to a WiFi network.

Anyonymize - requested by a dodgy member on this forum (jk). It will not display the caller's name or number, or the txters name/number or the text body on the alerts. Instead it will just say... "Incoming Call - Private", etc.

It does not Anonymize emails, or push notifications though.

Quote:4- I'll agree that putting this functionality in iPhone Settings would be nicer than a standalone
app, since the preferences are "set it and forget it."

That is somethign I will look into...but..its not really high on my list...sure making it look pretty is nice...but I would much rather add the ability to reply to an SMS etc, first. I would hope most people would agree with that descision....unless there's a high urgent demand to put this in to the Settings app right away..this is something I will be looking into..but not until I finish the current to do list.

Currently I'm trying to implement some sort of license checks which is wasting my time as I'm having to research encryption techniques, etc which I'm not to familiar with...but oh well...gotta do what you gotta do...just trying to protect my IP. I would much rather be implementing the reply to SMS.

Quote:5- I would very much LOVE to see the contact's photo appear, that would be super slick. I'm using Growl on a Mac. I know this works with Image, so perhaps the source there can be examined to see what parameters need to be sent so that the same can work for incoming calls/texts/etc.

Check the current To do list on the fist page...should be on there Smile
Quote:Thanks for any response or feedback! Loving this utility so far!

Appreciate it !!! Hope my answers were sufficient, and your friends like it too Smile.


- Fofer - 2010-01-25

chris3g Wrote:i can help you with 1. when your phone is sleeping, it turns off the wifi radio to save battery power. When the phone wakes up, it takes a second or two to reconnect to the wifi network. If you receive a call while the phone is asleep, notify sends the growl notification immediately, before your phone has had an opportunity to reconnect. The phone is trying to communicate with your PC using a local network address, but it is not actually connected to the local network yet. The reason the 2nd call works for you is because the phone is now connected to your local wifi network.

so to work around this, you need to set up notify to send your notifications to your public ip address, this way it will work correctly from both wifi and the 3G connection. you will most likely have to set up port forwards in your firewall/router to accomplish this, but once you have it set up correctly you will then receive notifications even when your phone is asleep.

Maybe another alternative for a future update could be to delay sending the notification for a set period of time, so as to allow the phone enough time to reconnect to the wifi before attempting to send.

Ah, got it, chris3g, thanks so much for your patient write-up. I read through this whole thread just now, and pretty much came to the same conclusion. When the iPhone is in standby mode... the WiFi is disabled... and therefore these Growl notifications can't get sent out in time. Makes sense.

I've now learned that keeping my iPhone docked will allow it to charge (obviously) but also keep the WiFi going. So that would work to keep notifications arriving from Notify Pro too. Not sure how feasible that always is for me, however, sometimes my iPhone's just sitting on the den's coffee table, away from it's dock, and I am in the other room with my laptop.

Another option is an SBsettings toggle I have installed called "KeepAwake." That keeps WiFi going, even when in standby. I use that from time to time with the DVR Remote application, since watching TV and only occasionally hitting the buttons to Pause, FF... this handy little toggle leaves WiFi the whole time. Without it, the WiFi toggles off when the iPhone falls into standby, and then it takes a few more seconds every time you wake it up, so it can re-establish it's wifi connection. (FWIW, there is a similar app out there called "Insomnia," but I haven't played with it. KeepAwake has always worked fine for me.) These hacks can obviously can result in quite a bit of battery suckage if you're not paying attention and forget to turn them off, though.


I will probably go your suggested route of using my public IP address instead with Notify Pro, forwarding the appropriate port, etc. Seems to be the best solution without too much compromise. Thank you!


- Fofer - 2010-01-25

chris3g Wrote:Maybe another alternative for a future update could be to delay sending the notification for a set period of time, so as to allow the phone enough time to reconnect to the wifi before attempting to send.

This is actually a great idea. The call itself wakes up the phone. Within 2-3 seconds the wifi connection's gotta be re-established, I imagine, and then NotifyPro can send out it's alert. Sounds good in theory, to me at least.

In the meantime I will now try the "public IP" workaround, so it'll work over 3G and not WiFi.

johoja Wrote:I actually saw that App before I started work on mine...and was pretty dissapointed by it.

Yea, me too. Unattractive interface. And it felt weird leaving a Java applet running all the time on my Mac when the Growl framework was already running for precisely purposes like this. ICallAccess is also a little more than $5... yours is much more elegant, and appropriately priced. THANK YOU for that!

johoja Wrote:2). I've been toying with the idea to add an option to wake up the WiFi then send a notification...Would that be something you want?
Yes, absolutely, that would be great. For all intents and purposes, this app will only work when I'm at my home office (which is fine for my needs) -- simply because of how it routes through the Public IP (or wifi to my internal IP, which wouldn't be the same when I'm traveling at a clients.) That said, it seems a bit awkward to use the external IP option, and open a port on my router, just to get this going consistently. I do understand why the workaround is needed, just thinking out loud about implementation. If you could come up with a more elegant way of getting WiFi working consistently (even when the iPhone is coming out of standby) that'd be great.

johoja Wrote:WiFi only - Will only attempt to send a notification if you are connected to a WiFi network.
Gotcha. I guess it's kinda like, "don't bother to even try sending a notification, if I'm not on WiFi, since it won't work anyway." Seems like this is affected by the standby issue, though. IE: I did have WiFi on, and this toggle set (to send a notification when I was connected to WiFi,) with Notify Pro configured to send it via Public IP. But the iPhone went into standby, which disables the WiFi... so it doesn't get sent. Even though my settings are configured for it to be sent via the 3G cell network.

I was hoping it'd be more like "at the time it went into standby, it was connected to a wifi network, so it's safe to send out a notification." It would make sense for me to enable that check, even when using the Public IP address, since when I'm at the home office I'm connected to a WiFi network and there's no reason for Notify Pro to send out notifications when I'm NOT at the home office. I guess this would be something to think about for future updates. Consider making it Location Aware - only enabled when within 1000 feet of my house. Via GPS coordinates, or when connected to my wireless SSID, or whatever. Of course, time-based scheduling would be cool too.

johoja Wrote:Anyonymize - requested by a dodgy member on this forum (jk). It will not display the caller's name or number, or the txters name/number or the text body on the alerts. Instead it will just say... "Incoming Call - Private", etc.

It does not Anonymize emails, or push notifications though.

Got it. Interesting feature. Thanks for that. Cool

johoja Wrote:That is somethign I will look into...but..its not really high on my list...sure making it look pretty is nice...but I would much rather add the ability to reply to an SMS etc, first. I would hope most people would agree with that descision....unless there's a high urgent demand to put this in to the Settings app right away..this is something I will be looking into..but not until I finish the current to do list.

Totally agree... I would much rather see SMS reply, and other interactive features. Putting this into a Settings app should be the lowest priority. I already have 11 pages of apps, what's one more icon, right? Heheh...

johoja Wrote:Currently I'm trying to implement some sort of license checks which is wasting my time as I'm having to research encryption techniques, etc which I'm not to familiar with...but oh well...gotta do what you gotta do...just trying to protect my IP. I would much rather be implementing the reply to SMS.
Yeah, I hear ya. If it encourages you any, I will say that $1.50 is more than reasonable and I am going to evangelize your app to every iPhone/Mac user I know (and I know quite a few, on various tech forums and professional organizations.) You deserve lots of kudos and compensation for your fine work.

johoja Wrote:Appreciate it !!! Hope my answers were sufficient, and your friends like it too Smile.

Most definitely, thanks again.


- johoja - 2010-01-25

Fofer Wrote:Yes, absolutely, that would be great. For all intents and purposes, this app will only work when I'm at my home office (which is fine for my needs) -- simply because of how it routes through the Public IP (or wifi to my internal IP, which wouldn't be the same when I'm traveling at a clients.) That said, it seems a bit awkward to use the external IP option, and open a port on my router, just to get this going consistently. I do understand why the workaround is needed, just thinking out loud about implementation. If you could come up with a more elegant way of getting WiFi working consistently (even when the iPhone is coming out of standby) that'd be great.

Yeah, I'll add some intelligence to it, try and figure out when it should send the notification.




Quote:Gotcha. I guess it's kinda like, "don't bother to even try sending a notification, if I'm not on WiFi, since it won't work anyway." Seems like this is affected by the standby issue, though. IE: I did have WiFi on, and this toggle set (to send a notification when I was connected to WiFi,) with Notify Pro configured to send it via Public IP. But the iPhone went into standby, which disables the WiFi... so it doesn't get sent. Even though my settings are configured for it to be sent via the 3G cell network.

You should disable WiFi only if you want it to use the 3G network. That way it will use whatever the pre-dominant connection is. In your situation since your phone is alseep and WiFi gets turned off....you get a notification ...notify pro sees...that you are on 3G sends out the notification...if your settings are set to your public ip ....it should suceed..given your ports are forwarded etc.....notify pro sends out the notification before the phone has time to establish a connection.

If you have Wifi only enabled....your notification would probably not have been sent out..becasue when your phone woke up, and notify pro was called..you were only on 3G at the time...it wasnt until after notify pro was called that your wifi connection was established.

Quote:I was hoping it'd be more like "at the time it went into standby, it was connected to a wifi network, so it's safe to send out a notification." It would make sense for me to enable that check, even when using the Public IP address, since when I'm at the home office I'm connected to a WiFi network and there's no reason for Notify Pro to send out notifications when I'm NOT at the home office. I guess this would be something to think about for future updates. Consider making it Location Aware - only enabled when within 1000 feet of my house. Via GPS coordinates, or when connected to my wireless SSID, or whatever. Of course, time-based scheduling would be cool too.

I actually had that idea already, to have notify zones/groups, or something...i.e) if near these coordinates.....send to these hosts....and if near these coordinates send to these hosts.

Really depends on how many ppl want it, because I would probably not use it. What I am interested in finding out though is if there are types of things I could send notifications too...Right now I just have XBMC, and Growl support....I don't know what other devices, etc I could send to, to broaden the scope of users.

Quote:Yeah, I hear ya. If it encourages you any, I will say that $1.50 is more than reasonable and I am going to evangelize your app to every iPhone/Mac user I know (and I know quite a few, on various tech forums and professional organizations.) You deserve lots of kudos and compensation for your fine work.

Thanks, I tried to price is reasonably. Most Cydia apps are overpriced..probably because the devs feel that there's a smaller market so they have to price higher to make up for that.

I was hoping that if I priced it lower, people wouldn't bother trying to pirate it...If you can afford an iPhone, and its service charges...I would hope you could afford $1.50 .... Smile Especially for us in Canada those montly plans don't come cheap Smile


- tdotcspot - 2010-01-25

stoli Wrote:Working great - how about the ability to adjust the display time for the notifications?

Also, for those using a flavor of Aeon that doesn't display the caller picture, add the following to DialogKaiToast.xml:

Code:
<control type="image" id="400">
    <description>avatar</description>
    <posx>9</posx>
    <posy>9</posy>
    <width>73</width>
    <height>73</height>
    <aspectratio>keep</aspectratio>
    <texture>DefaultFile.png</texture>
</control>
This can go right at the end, before the last two </control> tags.

Thanks for this. Mediastream has this commented out.

I'm looking to adjust the width of the message box.. if anyone knows which value needs to be adjusted in this file, it would be appreciated! Smile


- Fofer - 2010-01-25

ICallAccess gives you the option to reject, and to hang up the phone call, from the computer. Could that be a feature consideration for Notify Pro with Growl?


- johoja - 2010-01-25

Fofer Wrote:ICallAccess gives you the option to reject, and to hang up the phone call, from the computer. Could that be a feature consideration for Notify Pro with Growl?

It is possible, but probably only for Windows currently. As the Mac version of Growl does not support GNTP, and I have to fall back using the older UDP method of Notifying Growl, which unfortunately does not support Callbacks. (As far as I can tell...)

Hopefully Growl 1.3 for Mac will come soon...it looks like it does work but someone would have to compile it themselves.


- Cloaky - 2010-01-25

Not sure if this is a Growl or a Notify feature request, but is it possible to show the notification just while the phone is ringing? If u reject or accept the notification just pops out.


- johoja - 2010-01-25

Cloaky Wrote:Not sure if this is a Growl or a Notify feature request, but is it possible to show the notification just while the phone is ringing? If u reject or accept the notification just pops out.



Not sure what you mean by the pop out part?


- Cloaky - 2010-01-25

johoja Wrote:Not sure what you mean by the pop out part?

As far as i manage to find out, u can set for how long you want the notification to show using growl, but i wanted it to show just during when the phone is ringing, got it?


- rickardkk - 2010-01-25

I have one big issue in my home regarding the media and automation setup.

Me and my girlfriend use our iPhones as remotes for both lights, AC and Media (several HTPCs with XBMC).

I use EventGhost for home automation and all my AV electronics is controlled by XBMCs EventServer + the HTTP API.

The issue is that when I receive a phone call while playing music or video I can't pause or dim the audio before answering.

It would be great to have the Notify Pro app integrate with EventGhost. So EventGhost then could tell XBMC to pause or dim the audio volume on my AV Receiver or whatever on incoming calls.


As the WIFI is disconnected during sleep it would be great to use GPS to tell Notify that your ar home (as you would not like an incoming call to interact with media or home automation if your not at home).

I would gladly pay a great premium for this kind of functionallity (especially now after spending days trying to solve this with BT).


- johoja - 2010-01-25

rickardkk Wrote:I use EventGhost for home automation and all my AV electronics is controlled by XBMCs EventServer + the HTTP API.

The issue is that when I receive a phone call while playing music or video I can't pause or dim the audio before answering.

It would be great to have the Notify Pro app integrate with EventGhost. So EventGhost then could tell XBMC to pause or dim the audio volume on my AV Receiver or whatever on incoming calls.

I will have to look into that...is there an API or something similar for EventGhost, that would allow me to send Events easily...? Pherhaps something similar to XBMC's http api. If there is...adding support should not be that hard. I've written Notify Pro in a very modular way.

Quote:As the WIFI is disconnected during sleep it would be great to use GPS to tell Notify that your ar home (as you would not like an incoming call to interact with media or home automation if your not at home).

Yeah, I'm aware that WiFi is disconnected during sleep, In a not yet released version I've changed the behaviour of Notify to check if the address is reachable...if its not it will wait for upto 10 seconds for the reachability state to change, and then continue. (If the state changes sooner then 10 seconds it will also continue). A state change would be...a wifi connection being established...it takes about 3-4 seconds on my iPhone to establish a wifi connection when waking up from sleep.

Quote:I would gladly pay a great premium for this kind of functionallity (especially now after spending days trying to solve this with BT).

There is no premium...as long as you've bought the app, I'm happy to continue adding functionality. It's the people who don't buy it and start demanding things/want support. That I'm not to pleased with.


- rickardkk - 2010-01-25

Great!

You could make use of the EventGhost Webserver.

So there is no need to write a receiver part (server) to be used with Notify. Just to be able to feed EventGhost with events would do it!!


- johoja - 2010-01-25

rickardkk Wrote:Great!

You could make use of the EventGhost Webserver.

So there is no need to write a receiver part (server) to be used with Notify. Just to be able to feed EventGhost with events would do it!!

Awesome....I'll do that....could you also provide me with a list of events you want sent.


- rickardkk - 2010-01-25

Great!!

Maybe the TCP Listener/Receiver should be used instead (easier to pass more data?).

Don't know all data that can be passed. But for starters:

Incoming call
Incoming call picked up
Incoming call ended
Incoming SMS (text)
Phone number/contact