External could mean to provide a list of web providers offering data via API. May cause problems on higher usage as some providers limit API calls on free accounts.
Manual could mean to allow the user to send times to the node. Could think of being msg.topic = "sunrise" and "sunset" and msg.payload being a timestamp.
Add a drop-down for various options. Examples: internal (suncalc), external (ie from weather provider), manually via input.