UniversalDevicesInc-PG3 / udi-poly-notification

Polyglot v2 NodeServer for Notifications
MIT License
2 stars 1 forks source link

Add ability to set defaults for custom messages #22

Closed jimboca closed 3 years ago

jimboca commented 3 years ago

Allow these defaults so when a program selects Set 'Notification Controller' Message Good Morning it will use the defaults, for device and priority, but then the program can override them if desired. Set 'Notification Controller / Service Pushover homeisy' Device JimsPhone Set 'Notification Controller / Service Pushover homeisy' Priority Normal

I'm hesitant to add this since there is no way to provide the user a pull-down list of selections in the Polyglot UI, it would require typing in the proper default and then error checking to verify they match a real value, then doing something when it doesn't match.  Since I use Notification Nodes I just set the defaults on the node itself so I hadn't thought about this much. But it's similar to what you have to do now when setting the "Service Node Name" for a Notify Node, only more possible choices.  I'd hoped Polyglot custom configuration would allow us to specify a list of choices to chose from someday, but not sure if that will ever happen..

MrBill12 commented 3 years ago

Your example above shows sending what the documentation calls "Short Messages defined by user"

A Custom Message to me is the message created in the ISY using a simplified ISY Network Resource that is sent to the nodeserver to forward to pushover.

One idea for implementation with valid defaults would be to have the node server create a special node for Custom Message default attributes, that would hold the drop-down settings for message attributes. Not sure how that would work when it needs to be over-riden tho. For example: Most of my messages get sent with the exact same parameters every time, the notable exception is sometimes pushing Priority to High which bypasses iPhone DND. (if Sound parameter got added, I would instantly have more deviations to the default setting for that property.)

jimboca commented 3 years ago

Yes, that example was what you posted to the thread, that's where I got it from

For custom messages using network resources as described here: https://github.com/jimboca/udi-poly-notification/blob/master/README.md#rest-interface It takes the defaults from the current settings of your pushover node. So set all the parameters that never change in the NR, then have your program set the values on the pushover node for priority, and eventually sound?

I could create another pushover node just for custom messages, but that seems redundant?

MrBill12 commented 3 years ago

The documentation at https://github.com/jimboca/udi-poly-notification/blob/master/README.md#rest-interface doesn't address "default" values at all. The usage instructions show setting parameters each time:

Then Set 'Notification Controller / Service Pushover WIND' Priority Normal Set 'Notification Controller / Service Pushover WIND' Device JimsPhone Resource 'Test.1'

There is a section of text titled "Create ISY Network Resources" that appears in nodeserver configuration screen that follows the text from POLYGLOT_CONFIG.md (not sure where that text is coming in from I expected it to be in POLYGLOT_CONFIG.md but that file ends the "help" section just above the section titled "Create ISY Network Resources") The section of text here does give examples of including parameters in the send portion of the command but I've never understood that if you don't use either method that defaults are supplied by the Pushover service node.

Maybe the real problem is documentation because I've studied the README.md and the POLYGLOT_CONFIG.md info many times, not just when installing. At no time did I understand that the Pushover Service node settings in the ISY determined how this type of message is sent if no parameters where specified.

jimboca commented 3 years ago

Yes, some of the documentation is in the README.md and I've made some updates in the dev branch https://github.com/jimboca/udi-poly-notification/blob/dev/README.md#rest-interface

The Rest Interface part of the documentation is generated on the fly when the nodeserver starts up, and does say that whatever params you do not set then the pushover node settings will be used, but I can probably make it clearer? I use these a lot and they can do everything and more than network resources except there is no way to pass the program name to one, which hurts my usage since I use that a lot...

Feel free to make any suggested changes to the documentation, it's hard for me since I'm not the best at explaining things, but at least I try... It's better coming from someone else, and @dbwnaples helped with some documentations improvements in the past by and I can give you permission to the repository as well and let you edit the files :)

MrBill12 commented 3 years ago

I take a look later in the week, and see if I have suggested improvements. I've only got short blocks of time open for the next couple days.

jimboca commented 3 years ago

No worries, same here...

jimboca commented 3 years ago

I think we have cleared this up? The: https://github.com/jimboca/udi-poly-notification/blob/dev/README.md#rest-interface States that: - The following are optional, and if not given then the defaults from your pushover node will be used Please re-open if I am still misunderstanding.