`updateProperties` does not allow null values in the passed in Map, yet everywhere else in the code does allow for null values (which specifically unsets the property), including the individual `updateProperty` methods. I think this was likely an oversight, and not by design, as i can't see why we would enforce non-null values here.
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
* [rules actions] Add new HTTP actions for images
This adds new functions for downloading images to image Items. This is usefull for exposing images to push notifications, updating album art, showing camera snapshots in the Main UI, etc...
I went back and forth if this was a new action space, or part of the HTTP actions, in the end i think it belongs as additional HTTP actions (since it also mostly wraps HTTPUtils.java)
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
* Use the mime types provided by the ScriptEngineFactory and not the underlying script engines they provide. This allows mutliple versions of script engines to co-exist, like Nashorn and GraalVM .
Signed-off-by: Dan Cunningham <dan@digitaldan.com>
This allows group items who are not exactly the same base item to be included in logic operations, for example a dimmer can now be included in a group switch item.