Announcement

Collapse
No announcement yet.

HS3 Pushover Plugin

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Originally posted by kideon View Post
    I would use this as a way to send pushover messages from IFTTT. It may be a moot point since Homeseer is working on getting IFTTT integration
    right I now understand where this is going, I didn't realise there was a pushover ifttt channel and reading the messages could be an advantage in hs (I was thinking why would you want to know about messages you have already sent it). Working with the hs3 event engine is a nontrivial task for me, I may be able to add a trigger for a new received message but then all I would do is put that message in a device, with the possibilities of the messages being endless then you would then need to potentially use a script to decipher and do something with it. I don't really want to put any great work into it if indeed hs are going to do it anyway, if I get anywhere I will post back here.

    Comment


      That sounds like a plan, if I could make a suggestion I wonder if it is possible to expand the triggers slightly, so that there is on message received, message priority, message (body/title) contains and so on?

      The other suggestion would be that it would be great if there was a script command which just grabbed the latest message (e.g. URL and so on) that way you could just do a &hs.plugin("Pushover",DeviceName) style call which would return an object with the various components e.g. (1) = title, (2) = message, (3) = priority, (4) = url title, (5) = url and so on. I guess the other way would be to put it all into some devices, but it would be nice to be able to see the URL, message title, message body and so on for various scripting.

      I hope I am not pushing the suggestion here, but even with HS integration through IFTTT (which to my knowledge does not have receive support, only push) I think triggers for Pushover would still really add value to the plugin.

      My programming is not 100%, and I am sure you are miles ahead of me but if you need any help please yell out and if there is anything I can do I would be happy to. I was thinking about having a go at something like this and storing the received messages in an structured collection which could be used to see the messages received and be used to process however I don't want to duplicate if not required.

      Many thanks for the plugin as well, it has been running very happily in the background of my system with a grand total of zero issues , I love it when things just work!
      HS3 PRO, Win10, WeatherXML, HSTouch, Pushover, UltraGCIR, Heaps of Jon00 Plugins, Just sold and about to move so very slim system.

      Facebook | Twitter | Flickr | Google+ | Website | YouTube

      Comment


        Originally posted by mrhappy View Post
        I'll take a look at this tomorrow compared with hs2, I didn't think there was any change here with ref to the api key. As I wrote the hs2 one on the hoof so to speak with no real planning I know I ended up confused in places. Unfortunately if this is the case then the more I think about it the more I think I can't really now add an event action to specify an api because people may have hundreds of events already set up to send messages and I run the risk of breaking existing events.

        The best I could suggest would be to perhaps look at a script to send the messages instead of the plugin.
        I remember on HS2 you also had the concern about breaking the existing events for people. To solve it, you made the default API always used, and then the alternate one only used if it was configured. One way you could add it to the current ini file format you use is to add another entry like this:
        [Clients]
        Client1=thedevicekeygoeshere, thealternativeapikeygoeshere

        In this way, you could parse the ini entry, and the first element will always be the device key. If the second element doesn't exist, then the default api key will be used, but if it is defined, then the alternative one will be used.

        I know I could resurrect my old script from HS2, from before using your plugin, but I like the plugin, so hoping you will add this.

        Comment


          Being able to act based on the content of the message would be good. Ittt is handicapped in some ways that homeseer can remedy. For example IDT can only email one registered email address and the same for sms. Ittt could trigger pushover which triggers homeseer which can then do about anything

          Comment


            OK let me take a look into both of these things and see what I think I can do, I can't unfortunately make any promises. I am nowhere near as comfortable with the HS3 SDK as I was the HS2 one.

            Comment


              MrHappy, I replied to your PM, but strangely I see 0 messages in my Sent folder. Please let me know if you do not see my reply.

              Comment


                If you need any help let me know I have not got websockets going but did get a rough proof of concept working with event triggers for priority, title contains and body contains triggers
                HS3 PRO, Win10, WeatherXML, HSTouch, Pushover, UltraGCIR, Heaps of Jon00 Plugins, Just sold and about to move so very slim system.

                Facebook | Twitter | Flickr | Google+ | Website | YouTube

                Comment


                  Originally posted by travisdh View Post
                  If you need any help let me know I have not got websockets going but did get a rough proof of concept working with event triggers for priority, title contains and body contains triggers
                  I did make a start on this and had the registration of devices/downloading/deleting working however I have come across a bit of a stumbling block with WebSockets, MSDN says;

                  Some of the classes in the System.Net.WebSockets namespace are supported on Windows 7, Windows Vista SP2, and Windows Server 2008. However, the only public implementations of client and server WebSockets are supported on Windows 8 and Windows Server 2012. The classes and class elements in the System.Net.WebSockets namespace that are supported on Windows 7, Windows Vista SP2, and Windows Server 2008 are abstract classes. This allows an application developer to inherit and extend these abstract classes with an actual implementation of client WebSockets.
                  So XP is out of the Window (so I understand this working on older HomeTrollers would go) and I am not sure on the ability to use this under Mono. Only .net 4.5 or later supports Websockets natively and the plugin is compiled currently at 4.0. I can't seem to install .net 4.5 on my computer (it is running Vista). I know there are open source solutions but I am not sure if I want to go down that route, it could end up being a lot of time and effort for something I am unlikely to use myself. I will have a think and see what I come up with but it might be something to put in the too difficult box. If it is IFTTT interaction that is also needed then hopefully in the not too distant future HST will fill that gap.

                  Comment


                    What about something like websocket4net? Supposedly works on XP.
                    HS3 PRO, Win10, WeatherXML, HSTouch, Pushover, UltraGCIR, Heaps of Jon00 Plugins, Just sold and about to move so very slim system.

                    Facebook | Twitter | Flickr | Google+ | Website | YouTube

                    Comment


                      The web sockets does look like a giant pain lol, if it is not possible I wonder if it is easier to not be realtime, but go on a timer and just check / fetch messages rather than be a push service specifically.

                      Not ideal, but then maybe the timer can be set for every 10 - 30 minutes which should not be too much of a burden on their servers, and still enough time to trigger for non-essential functions.
                      HS3 PRO, Win10, WeatherXML, HSTouch, Pushover, UltraGCIR, Heaps of Jon00 Plugins, Just sold and about to move so very slim system.

                      Facebook | Twitter | Flickr | Google+ | Website | YouTube

                      Comment


                        Originally posted by travisdh View Post
                        The web sockets does look like a giant pain lol, if it is not possible I wonder if it is easier to not be realtime, but go on a timer and just check / fetch messages rather than be a push service specifically.

                        Not ideal, but then maybe the timer can be set for every 10 - 30 minutes which should not be too much of a burden on their servers, and still enough time to trigger for non-essential functions.
                        Undoubtedly a much easier solution and one which does not need the plugin, I want to avoid adding too much to the plugin really - it works and I would like to keep it simple, I have already sort of added multiple application support and I sort of feel like that is it's limits really.

                        The stuff I did get working was actually all in a script and I think a script is a much more appropriate solution, everything apart from a native triggers screen can be done by a script. If I was to do it in a plugin then I would be required to handle peoples usernames/passwords and store them for a time whilst I was registering for the secret key. Whilst I have no sinister intentions if I was to do this in a plugin then no one knows that I am not siphoning off these usernames/passwords for less well meaning intentions, it is something I am very wary of. If this was instead handled in a script then people could see exactly what is being done with this information and be happier knowing that these usernames/passwords are not being uploaded somewhere else. I can put together a script if that would help but for the time being I do not think I am going to make it part of the plugin.

                        Comment


                          Thanks so much for the multiple application support.

                          Is it possible to allow replacement variables or similar functionality to the events so that the sound used, or the message to be sent comes from the value in another device? Then I could allow my HSTouch clients to have a selector box for various events, and people in the house could decide what sound they want for that notification. Yeah, I know I can do it all in a script, but would be nice in the plugin.

                          Comment


                            Originally posted by Automated View Post
                            Thanks so much for the multiple application support.

                            Is it possible to allow replacement variables or similar functionality to the events so that the sound used, or the message to be sent comes from the value in another device? Then I could allow my HSTouch clients to have a selector box for various events, and people in the house could decide what sound they want for that notification. Yeah, I know I can do it all in a script, but would be nice in the plugin.
                            No worries, I do need to fix up those couple of issues you said about.

                            I'm a bit confused about the sound being a replacement variable - I think the answer is no because the event drop down is populated when the plugin loads because Pushover need me to query and download the list of sounds (as it is possible that they may increase the number of sounds at some point). I need to use a drop down list to try and force people along the road of only using a sound that Pushover actually have, I could have a text box and then use a replacement variable but from a user interface point of view I was always taught if the input was to be a selection of known values then you should not have any ability to introduce unknown values (ie use a selector rather than a text box where users can write any old rubbish in the box). I think a script is the way to solve this.

                            Albeit I appreciate that in scripting you can send whatever you want to the plugin but people who are using this method in scripting should already have enough knowledge to work out if they are sending incorrect information to the plugin.

                            Comment


                              Originally posted by mrhappy View Post
                              No worries, I do need to fix up those couple of issues you said about.



                              I'm a bit confused about the sound being a replacement variable - I think the answer is no because the event drop down is populated when the plugin loads because Pushover need me to query and download the list of sounds (as it is possible that they may increase the number of sounds at some point). I need to use a drop down list to try and force people along the road of only using a sound that Pushover actually have, I could have a text box and then use a replacement variable but from a user interface point of view I was always taught if the input was to be a selection of known values then you should not have any ability to introduce unknown values (ie use a selector rather than a text box where users can write any old rubbish in the box). I think a script is the way to solve this.



                              Albeit I appreciate that in scripting you can send whatever you want to the plugin but people who are using this method in scripting should already have enough knowledge to work out if they are sending incorrect information to the plugin.

                              No worries...I usually end up with scripting certain things like that since we like a lot of customization and dynamic like behavior controlled through the HSTouchPad screens.

                              Comment


                                Not working

                                I can't seem to get this pushover plugin to work. I am able to receive messages coming from the pushover website but I am NOT able to receive messages coming from HomeSeer via plugin. I enabled developer mode and here's what I see:
                                [12/13/2014 3:23:13 PM] *********
                                [12/13/2014 3:23:13 PM] HandleAction Called
                                [12/13/2014 3:23:13 PM] PushMessage Sub Called - DeviceName: All Clients
                                [12/13/2014 3:23:13 PM] Priority: normal
                                [12/13/2014 3:23:13 PM] Emergency Priority - Second Check
                                [12/13/2014 3:23:13 PM] SendStatus Is False - Do Not Send The Message
                                [12/13/2014 3:23:13 PM] Messages Disabled in Pushover Device
                                [12/13/2014 3:23:13 PM] *********

                                Please advise.

                                Comment

                                Working...
                                X