Sometimes, well, A LOT of the time; what is happening in my brain, just doesn’t quite make it onto paper…
I just used VS code to check the links in the map, and they do work.
I also just added a test switch to my setup to test the rule manually. The rule will not load, so obviously its not running.
> rule "Update weather conditions for dynamic icon selection"
>
> when
>
> Item W_OWM_CondID changed or Debug changed
>
> then
>
> ImageChooser.postUpdate(transform("MAP", "weather_icon.map", W_OWM_CondID.state.toString()))
>
> end
Usually, that message appears with some editors when you save a file. openHAB tries to use it before the editor has finished saving it.
That would normally be followed by a second (we hope successful) attempt to load the rules file,after the editor has closed the file.
That second load doesn’t happen, so any rules in it are not in service.
I’ll guess you still have it open with a local editor?
Unrelated matters -
Using that demo.sitemap? Fix or delete.
Item LG_TV0_Toast has a bad channel UID, fix or delete
Same
That’s interesting, something to do with NGRE JSR223 rules. Maybe a rule has been created but NGRE later uninstalled?
Your winds.scale
transform file has bad syntax
I’m guessing there are lines beginning NULL=
and NA=
Those need deleting, and can be replaced with a NaN=
line
I have no idea about a jupnp error !
Yes, it is still open in VS code.
The toast and stop channels, I don’t use, but will look at those.
I have deleted NGRE rules, replaced by Google Calendar.
winds.scale wlll be fixed.
the jupnp error is a bundle that does not exist…
Thanks for the help. I have to go start my weekend!
Problem solved with the rules file loading…I was missing the “Item” in front of my Debug item. Don’t yet know if it works properly, but it’s at least loading now.
Ok gentlemen, this is where I stand currently…
For some reason, that I cannot find, I get an error when the rule runs. I am going to repost, as it has changed due to other errors that were corrected.
I will not be available for testing as I am leaving work now, so I will test anything tomorrow.
Icon rules file:
> rule "Update weather conditions for dynamic icon selection"
>
> when
>
> Item W_OWM_CondID changed or Item Debug changed
>
> then
>
> ImageChooser.postUpdate(transform("MAP", "weather_icon.map", W_OWM_CondID))
>
> logInfo("+++ ImageChooser","ImageChooser rule RUN - Set to {}",W_OWM_CondID)
>
> end
Item “Debug” is a switch on the sitemap for testing…
I get this error when the rule tries to run:
2020-05-06 16:08:49.071 [ERROR] [ntime.internal.engine.RuleEngineImpl] - Rule ‘Update weather conditions for dynamic icon selection’: An error occurred during the script execution: Could not invoke method: org.eclipse.smarthome.core.transform.actions.Transformation.transform(java.lang.String,java.lang.String,java.lang.String) on instance: null
I can verify that Item “W_OWM_CondID” is not null, as I have it displayed on my sitemap also for testing.
The newest version of the map file is:
> null=url="http://10.2.1.129:8080/static/weather.png"
> NULL=url="http://10.2.1.129:8080/static/weather.png"
> -=url="http://10.2.1.129:8080/static/weather.png"
> 200=url="http://10.2.1.129:8080/static/weather-thunderstorm.png"
> 201=url="http://10.2.1.129:8080/static/weather-thunderstorm.png"
> 202=url="http://10.2.1.129:8080/static/weather-thunderstorm.png"
> 210=url="http://10.2.1.129:8080/static/weather-thunderstorm.png"
> 211=url="http://10.2.1.129:8080/static/weather-thunderstorm.png"
> 212=url=http://10.2.1.129:8080/static/weather-thunderstorm.png"
> 221=url="http://10.2.1.129:8080/static/weather-thunderstorm.png"
> 230=url="http://10.2.1.129:8080/static/weather-thunderstorm.png"
> 231=url="http://10.2.1.129:8080/static/weather.-thunderstorm.png"
> 232=url="http://10.2.1.129:8080/static/weather.-thunderstorm.png"
> 300=url="http://10.2.1.129:8080/static/weather-sun_medclouds.png"
> 301=url="http://10.2.1.129:8080/static/weather-sun_medclouds.png"
> 302=url="http://10.2.1.129:8080/static/weather-sun_medclouds.png"
> 310=url="http://10.2.1.129:8080/static/weather-sun_medclouds.png"
> 311=url="http://10.2.1.129:8080/static/weather-sun_medclouds.png"
> 312=url="http://10.2.1.129:8080/static/weather-sun_medclouds.png"
> 313=url="http://10.2.1.129:8080/static/weather-sun_medclouds.png"
> 314=url="http://10.2.1.129:8080/static/weather-sun_medclouds.png"
> 321=url="http://10.2.1.129:8080/static/weather-sun_medclouds.png"
> 500=url="http://10.2.1.129:8080/static/weather-medium_rain.png"
> 501=url="http://10.2.1.129:8080/static/weather-medium_rain.png"
> 502=url="http://10.2.1.129:8080/static/weather-rain.png"
> 503=url="http://10.2.1.129:8080/static/weather-rain.png"
> 504=url="http://10.2.1.129:8080/static/weather-rain.png"
> 511=url="http://10.2.1.129:8080/static/weather-medium_ice.png"
> 520=url="http://10.2.1.129:8080/static/weather-medium_rain.png"
> 521=url="http://10.2.1.129:8080/static/weather-medium_rain.png"
> 522=url="http://10.2.1.129:8080/static/weather-rain.png"
> 531=url="http://10.2.1.129:8080/static/weather-rain.png"
> 600=url="http://10.2.1.129:8080/static/weather-sun_snow.png"
> 601=url="http://10.2.1.129:8080/static/weather-heavy_snow.png"
> 602=url="http://10.2.1.129:8080/static/weather-heavy_snow.png"
> 611=url="http://10.2.1.129:8080/static/weather-medium_ice.png"
> 612=url="http://10.2.1.129:8080/static/weather-medium_ice.png"
> 613=url="http://10.2.1.129:8080/static/weather-medium_ice.png"
> 615=url="http://10.2.1.129:8080/static/weather-heavy_snow.png"
> 616=url="http://10.2.1.129:8080/static/weather-heavy_snow.png"
> 620=url="http://10.2.1.129:8080/static/weather-sun_snow.png"
> 621=url="http://10.2.1.129:8080/static/weather-heavy_snow.png"
> 622=url="http://10.2.1.129:8080/static/weather-heavy_snow.png"
> 701=url="http://10.2.1.129:8080/static/weather-fog.png"
> 711=url="http://10.2.1.129:8080/static/weather-fog.png"
> 721=url="http://10.2.1.129:8080/static/weather-fog.png"
> 731=url="http://10.2.1.129:8080/static/weather-fog.png"
> 741=url="http://10.2.1.129:8080/static/weather-fog.png"
> 751=url="http://10.2.1.129:8080/static/weather-fog.png"
> 761=url="http://10.2.1.129:8080/static/weather-fog.png"
> 762=Volcanic ash
> 771=Squalls
> 781=url="http://10.2.1.129:8080/static/weather-tornado.png"
> 800=sun
> 801=sun_minimalclouds
> 802=Scattered clouds
> 803=Broken clouds
> 804=Overcast
> 900=url="http://10.2.1.129:8080/static/weather-tornado.png"
> 901=url="http://10.2.1.129:8080/static/weather-hurricane.png"
> 902=url="http://10.2.1.129:8080/static/weather-hurricane.png"
> 903=Cold
> 904=Hot
> 905=Windy
> 906=Hail
> 951=Calm
> 952=Light breeze
> 953=Weak breeze
> 954=Moderate breeze
> 955=Fresh breeze
> 956=Strong Wind
> 957=Strong wind, before storm
> 958=storm
> 959=Strong storm
> 960=storm
> 961=Violent storm
> 962=url="http://10.2.1.129:8080/static/weather-hurricane.png"
Thank you again!!!
But it’s not a string, it’s an Item object. Moreover, you are not interested in its label, or icon or name, or other properties … but its state I think?
transform requires three strings, as it tells you in the error message
This should be more suitable
transform("MAP", "weather_icon.map", W_OWM_CondID.state.toString)
I had it that way before, and it didn’t work either…But, I made the change, and the rule will run on the test switch, but “W_OWM_CondID” is being converted to a name with the “.state.toString” I think.
2020-05-07 07:54:08.424 [WARN ] [rthome.model.script.actions.BusEvent] - Cannot convert ‘sun’ to a state type which item ‘ImageChooser’ accepts: [RawType, UnDefType].
2020-05-07 07:54:08.430 [INFO ] [rthome.model.script.+++ ImageChooser] - ImageChooser rule RUN - Set to 800
But the odd thing is that where it says “Set to 800”, I’m using “.state.toString” there too.
> rule "Update weather conditions for dynamic icon selection"
>
> when
>
> Item W_OWM_CondID changed or Item Debug changed
>
> then
>
> ImageChooser.postUpdate(transform("MAP", "weather_icon.map", W_OWM_CondID.state.toString()))
>
> logInfo("+++ ImageChooser","ImageChooser rule RUN - Set to {}",W_OWM_CondID.state.toString())
>
> end
So why does “W_OWM_CondID.state.toString” act differently on the two different lines of code?
I’m confused.
Why do you find it odd? The state of your W_OWM_CondID
Item is 800. Is that not what you expected?
The transform has done its job now, and transformed 800 into something else.
Using the “newest version of the map file” from a couple of posts up, a lookup of 800 should return the string “sun”.
That all seems to be doing as it is told so far.
Okay, it’s an Item of type Image. According to the docs, an Image type Item -
Holds the binary data of an image
“sun” is not a binary image like a jpeg or gif, it’s a string.
You get an error trying to postUpdate a string to an Image type Item. It doesn’t fit.
When your map file is finished, I guess you would actually want to return a URL (as a string) rather than just “sun”?
Reminder -
Do not confuse Item types with sitemap widgets.
You can put a Dimmer type Item on a sitemap using a Switch widget.
Here, you want to put a String type Item (that will hold a URL string) on a sitemap using an Image widget (that will accept a URL)
In your rule, you are postUpdating your looked-up URL string to the wrong kind of Item.
OH!!! SNAP!!! You are right!!! I totally missed that, thought I had them all covered. Second pair of eyes always helps! Thank you, I’ll let you know how it goes.
2020-05-07 12:03:21.833 [WARN ] [rm.AbstractFileTransformationService] - Could not transform ‘url=“http://10.2.1.129:8080/static/weather-sun.png”’ with the file ‘weather_icon.map’ : Target value not found in map for ‘url=“http://10.2.1.129:8080/static/weather-sun.png”’
I get this now. I think I may not understand how the map is supposed to work to pull the url.
I didn’t realize that I left so many transformations without urls in my map, glad you caught it.
and…
2020-05-07 12:10:54.808 [WARN ] [rthome.model.script.actions.BusEvent] - Cannot convert ‘url=“http://10.2.1.129:8080/static/weather-sun.png”’ to a state type which item ‘ImageChooser’ accepts: [RawType, UnDefType].
ImageChooser is defined as an Image type, should it not be? Then on the sitemap, as an Image.
I have found that the item definition has to be of type String to contain the url. You may have said this above, it didn’t register though. Now, item ImageChooser is correctly being updated to the correct url via the map.
But…on the sitemap, its called as an Image, but it does not display the image.
Most current log still says:
2020-05-07 13:08:54.542 [WARN ] [rm.AbstractFileTransformationService] - Could not transform ‘url=“http://10.2.1.129:8080/static/weather-sun.png”’ with the file ‘weather_icon.map’ : Target value not found in map for 'url=“http://10.2.1.129:8080/static/weather-sun.png”
I know from the logs that the transformation happens due to the logInfo on ImageChooser. I know the url will work because if I copy and paste to the browser, it shows the correct image. What is not being transformed properly?
Okay, here it is trying to look up “http … etc” in a map file that you have defined with entries for 123= , 567= and so on. It fails.
Somewhere, outside of a rule, you are using the map to try to fransform your URL.
What Item might that be associated with? I’ll guess you have only one Item that might have a URL as a state. the newly string-y ImageChooser.
Why would anything try to transform that? Because you’ve asked for the transform in your Item’s label [state presentation] section.
Either in your Item definition, and/or your sitemap line, which we cannot see.
Your events.log can tell you what an Item is changed to.
I would like to see an actual state of your Item, and your sitemap line.
I’m not convinced it works like that.
The URL that sitemap Image wants is the apparent “view” of the resource from the openHAB host, not the view from a browser (normally on a different box).
If you look at most examples, they have URLs like
http://localhost:8080/static/image.png
If you look at most examples, they have URLs like
http://localhost:8080/static/image.png
That is how they are mapped, isn’t it? Unless you mean no “localhost”…I can try to change that see if it helps. EDIT: Same error
My item declaration in the weather.items file:
String ImageChooser
And in the sitemap:
Image item=ImageChooser
So, the only transformation happening IS in the rule.
10.2.1.129 IS the localhost, just so you know. We have multiple networks, so was just trying to be specific.
It sounds like it is looking for a transformation of the url itself. If the only transformation I have is in the rules file, and it transforms the CondID to the url; any clue why its looking for one on the url?
Then show us the rule since you changed it last.
I guessed that it is - for now. The day you change it or migrate your openHAB, it will break your sitemap and you will spend an hour wondering why.
Can we see an actual matched set of the relevant parts here?
Your sitemap line
An events.log entry showing the relevant Item changing to an expected state (the URL in this case)
Let’s assume the previous BasicUI screenshot holds true, unless you show different.
This method does work for other people.
> rule "Update weather conditions for dynamic icon selection"
>
> when
>
> Item W_OWM_Time changed or Item Debug changed
>
> then
>
> ImageChooser.postUpdate(transform("MAP", "weather_icon.map", W_OWM_CondID.state.toString()))
>
> logInfo("+++ ImageChooser","ImageChooser rule RUN - Set to {}",ImageChooser.state.toString())
>
> end
:
> Frame label="Weather"{
>
> Text item=W_OWM_Station_Name icon="location"
>
> Text item=W_OWM_Time icon="time"
>
>
>
> Image item=ImageChooser
>
>
>
> Text item=W_OWM_Temp
>
> Text item=W_OWM_Humidity
>
> Text item=W_OWM_Wind_Speed
>
> Text item=W_OWM_Wind_Dir
>
> Text item=W_OWM_Cond icon="none"
>
> Text item=W_OWM_Rain
>
> Switch item=Debug
>
> Text item=W_OWM_CondID
>
> Switch item=Trigger_Debug
>
>
>
> Text item=gW_OWM_Future label="Future Forcast" icon="weather"{
>
> Frame label="3 Hr. Forcast" {
>
> Text item=W_OWM_Cond3 icon="weather"
>
> //Text item=Dummy label="" icon-"none"
>
> Text item=W_OWM_Cloud3
>
> Text item=W_OWM_Rain3
>
> Text item=W_OWM_Temp3
>
> }
>
> Frame label="6 Hr. Forcast" {
>
> Text item=W_OWM_Cond6
>
> Text item=W_OWM_Cloud6
>
> Text item=W_OWM_Rain6
>
> Text item=W_OWM_Temp6
>
> }
>
> Frame label="9 Hr. Forcast" {
>
> Text item=W_OWM_Cond9
>
> Text item=W_OWM_Cloud9
>
> Text item=W_OWM_Rain9
>
> Text item=W_OWM_Temp9
>
> }
>
> Frame label="12 Hr. Forcast" {
>
> Text item=W_OWM_Cond12
>
> Text item=W_OWM_Cloud12
>
> Text item=W_OWM_Rain12
>
> Text item=W_OWM_Temp12
>
> }
>
> Frame label="15 Hr. Forcast" {
>
> Text item=W_OWM_Cond15
>
> Text item=W_OWM_Cloud15
>
> Text item=W_OWM_Rain15
>
> Text item=W_OWM_Temp15
>
> }
>
> Frame label="18 Hr. Forcast" {
>
> Text item=W_OWM_Cond18
>
> Text item=W_OWM_Cloud18
>
> Text item=W_OWM_Rain18
>
> Text item=W_OWM_Temp18
>
> }
>
> Frame label="21 Hr. Forcast" {
>
> Text item=W_OWM_Cond21
>
> Text item=W_OWM_Cloud21
>
> Text item=W_OWM_Rain21
>
> Text item=W_OWM_Temp21
>
> }
>
> Frame label="24 Hr. Forcast" {
>
> Text item=W_OWM_Cond24
>
> Text item=W_OWM_Cloud24
>
> Text item=W_OWM_Rain24
>
> Text item=W_OWM_Temp24
>
> }
>
> }
>
>
>
> }
:
> // Open Weather Map
>
> Number:Temperature W_OWM_Temp "Temperature [%.1f %unit%]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#temperature"}
>
> Number:Dimensionless W_OWM_Humidity "Humidity [%d %unit%]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#humidity"}
>
> Number:Length W_OWM_Rain "Rain [%d %unit%]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#rain"}
>
> Number:Speed W_OWM_Wind_Speed "Wind Speed [%d %unit%]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#wind-speed"}
>
> Number W_OWM_Wind_Dir "Wind Direction [SCALE(winds.scale):%s]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#wind-direction"}
>
> String W_OWM_Station_Name "Station Name [%s]" (G_jdbc) {channel="openweathermap:weather-and-forecast:a54e0a82:local:station#name"}
>
> DateTime W_OWM_Time "Observation Time [%1$tA, %1$tB %1$td, %1$tY %1$tI:%1$tM %1$Tp]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#time-stamp"}
>
> String W_OWM_Cond "Condition [%s]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#condition"}
>
> String W_OWM_CondID "ConditionId [%s]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#condition-id"}
>
> String W_OWM_CondID_Form "Cond Formatted" (G_jdbc)
>
> Image W_OWM_CondIcon "Icon [%s]" {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#icon"}
>
> Image W_CondIcon <weather>
>
> String ImageChooser
>
> String W_OWM_CondIconID "IconId [%s]" (G_jdbc,Group_HabPanel_Dashboard) {channel="openweathermap:weather-and-forecast:a54e0a82:local:current#icon-id"}
:
> null=url="http://localhost:8080/static/weather.png"
> NULL=url="http://localhost:8080/static/weather.png"
> -=url="http://localhost:8080/static/weather.png"
> 200=url="http://localhost:8080/static/weather-thunderstorm.png"
> 201=url="http://localhost:8080/static/weather-thunderstorm.png"
> 202=url="http://localhost:8080/static/weather-thunderstorm.png"
> 210=url="http://localhost:8080/static/weather-thunderstorm.png"
> 211=url="http://localhost:8080/static/weather-thunderstorm.png"
> 212=url="http://localhost:8080/static/weather-thunderstorm.png"
> 221=url="http://localhost:8080/static/weather-thunderstorm.png"
> 230=url="http://localhost:8080/static/weather-thunderstorm.png"
> 231=url="http://localhost:8080/static/weather.-thunderstorm.png"
> 232=url="http://localhost:8080/static/weather.-thunderstorm.png"
> 300=url="http://localhost:8080/static/weather-sun_medclouds.png"
> 301=url="http://localhost:8080/static/weather-sun_medclouds.png"
> 302=url="http://localhost:8080/static/weather-sun_medclouds.png"
> 310=url="http://localhost:8080/static/weather-sun_medclouds.png"
> 311=url="http://localhost:8080/static/weather-sun_medclouds.png"
> 312=url="http://localhost:8080/static/weather-sun_medclouds.png"
> 313=url="http://localhost:8080/static/weather-sun_medclouds.png"
> 314=url="http://localhost:8080/static/weather-sun_medclouds.png"
> 321=url="http://localhost:8080/static/weather-sun_medclouds.png"
> 500=url="http://localhost:8080/static/weather-medium_rain.png"
> 501=url="http://localhost:8080/static/weather-medium_rain.png"
> 502=url="http://localhost:8080/static/weather-rain.png"
> 503=url="http://localhost:8080/static/weather-rain.png"
> 504=url="http://localhost:8080/static/weather-rain.png"
> 511=url="http://localhost:8080/static/weather-medium_ice.png"
> 520=url="http://localhost:8080/static/weather-medium_rain.png"
> 521=url="http://localhost:8080/static/weather-medium_rain.png"
> 522=url="http://localhost:8080/static/weather-rain.png"
> 531=url="http://localhost:8080/static/weather-rain.png"
> 600=url="http://localhost:8080/static/weather-sun_snow.png"
> 601=url="http://localhost:8080/static/weather-heavy_snow.png"
> 602=url="http://localhost:8080/static/weather-heavy_snow.png"
> 611=url="http://localhost:8080/static/weather-medium_ice.png"
> 612=url="http://localhost:8080/static/weather-medium_ice.png"
> 613=url="http://localhost:8080/static/weather-medium_ice.png"
> 615=url="http://localhost:8080/static/weather-heavy_snow.png"
> 616=url="http://localhost:8080/static/weather-heavy_snow.png"
> 620=url="http://localhost:8080/static/weather-sun_snow.png"
> 621=url="http://localhost:8080/static/weather-heavy_snow.png"
> 622=url="http://localhost:8080/static/weather-heavy_snow.png"
> 701=url="http://localhost:8080/static/weather-fog.png"
> 711=url="http://localhost:8080/static/weather-fog.png"
> 721=url="http://localhost:8080/static/weather-fog.png"
> 731=url="http://localhost:8080/static/weather-fog.png"
> 741=url="http://localhost:8080/static/weather-fog.png"
> 751=url="http://localhost:8080/static/weather-fog.png"
> 761=url="http://localhost:8080/static/weather-fog.png"
> 762=Volcanic ash
> 771=Squalls
> 781=url="http://localhost:8080/static/weather-tornado.png"
> 800=url="http://localhost:8080/static/weather-sun.png"
> 801=url="http://localhost:8080/static/weather-sun_minimalclouds.png"
> 802=url="http://localhost:8080/static/weather-sun_minimalclouds.png"
> 803=url="http://localhost:8080/static/weather-cloud_sun.png"
> 804=url="http://localhost:8080/static/weather-cloud.png"
> 900=url="http://localhost:8080/static/weather-tornado.png"
> 901=url="http://localhost:8080/static/weather-hurricane.png"
> 902=url="http://localhost:8080/static/weather-hurricane.png"
> 903=Cold
> 904=Hot
> 905=Windy
> 906=Hail
> 951=Calm
> 952=Light breeze
> 953=Weak breeze
> 954=Moderate breeze
> 955=Fresh breeze
> 956=Strong Wind
> 957=Strong wind, before storm
> 958=storm
> 959=Strong storm
> 960=storm
> 961=Violent storm
> 962=url="http://localhost:8080/static/weather-hurricane.png"
It is set as a static IP. I always set my installs as static…run into an IP address change too many times…
events.log
> 2020-05-07 15:25:58.171 [ome.event.ItemCommandEvent] - Item 'Debug' received command OFF
>
> 2020-05-07 15:25:58.198 [vent.ItemStateChangedEvent] - Debug changed from ON to OFF
>
> 2020-05-07 15:26:03.604 [vent.ItemStateChangedEvent] - Sonos_CurrentArtist_Rec changed from Imagine Dragons to Lifehouse
>
> 2020-05-07 15:26:03.623 [vent.ItemStateChangedEvent] - Sonos_Viz_Rec changed from Imagine Dragons to Lifehouse
>
> 2020-05-07 15:26:03.625 [vent.ItemStateChangedEvent] - Sonos_CurrentAlbum_Rec changed from Origins (Deluxe) to Lifehouse
>
> 2020-05-07 15:26:03.628 [vent.ItemStateChangedEvent] - Sonos_CurrentTrack_Rec changed from Bad Liar to You And Me
>
> 2020-05-07 15:26:04.129 [vent.ItemStateChangedEvent] - Sonos_CurrentAlbumArt_Rec changed from raw type (image/jpeg): 48750 bytes to raw type (image/jpeg): 30413 bytes
>
> 2020-05-07 15:26:44.792 [vent.ItemStateChangedEvent] - Date changed from 2020-05-07T15:25:44.691-0400 to 2020-05-07T15:26:44.762-0400
>
> 2020-05-07 15:27:44.779 [vent.ItemStateChangedEvent] - Date changed from 2020-05-07T15:26:44.762-0400 to 2020-05-07T15:27:44.767-0400
>
> 2020-05-07 15:28:44.791 [vent.ItemStateChangedEvent] - Date changed from 2020-05-07T15:27:44.767-0400 to 2020-05-07T15:28:44.769-0400
>
> 2020-05-07 15:29:20.528 [vent.ItemStateChangedEvent] - Sonos_CurrentArtist_Rec changed from Lifehouse to Israel 'IZ' Kamakawiwo'ole
>
> 2020-05-07 15:29:20.537 [vent.ItemStateChangedEvent] - Sonos_Viz_Rec changed from Lifehouse to Israel 'IZ' Kamakawiwo'ole
>
> 2020-05-07 15:29:20.546 [vent.ItemStateChangedEvent] - Sonos_CurrentAlbum_Rec changed from Lifehouse to Facing Future
>
> 2020-05-07 15:29:20.548 [vent.ItemStateChangedEvent] - Sonos_CurrentTrack_Rec changed from You And Me to Somewhere Over The Rainbow / What A Wonderful World
>
> 2020-05-07 15:29:21.052 [vent.ItemStateChangedEvent] - Sonos_CurrentAlbumArt_Rec changed from raw type (image/jpeg): 30413 bytes to raw type (image/jpeg): 52426 bytes
>
> 2020-05-07 15:29:44.778 [vent.ItemStateChangedEvent] - Date changed from 2020-05-07T15:28:44.769-0400 to 2020-05-07T15:29:44.772-0400
>
> 2020-05-07 15:30:04.616 [vent.ItemStateChangedEvent] - Suite130_SensorTemp changed from 77 to 76.5
>
> 2020-05-07 15:30:05.774 [vent.ItemStateChangedEvent] - Suite130_TstatModeState changed from 0 to 2
>
> 2020-05-07 15:30:44.782 [vent.ItemStateChangedEvent] - Date changed from 2020-05-07T15:29:44.772-0400 to 2020-05-07T15:30:44.775-0400
>
> 2020-05-07 15:31:44.785 [vent.ItemStateChangedEvent] - Date changed from 2020-05-07T15:30:44.775-0400 to 2020-05-07T15:31:44.778-0400
>
> 2020-05-07 15:32:44.793 [vent.ItemStateChangedEvent] - Date changed from 2020-05-07T15:31:44.778-0400 to 2020-05-07T15:32:44.780-0400
>
> 2020-05-07 15:33:44.805 [vent.ItemStateChangedEvent] - Date changed from 2020-05-07T15:32:44.780-0400 to 2020-05-07T15:33:44.782-0400
>
> 2020-05-07 15:34:28.547 [vent.ItemStateChangedEvent] - Sonos_CurrentArtist_Rec changed from Israel 'IZ' Kamakawiwo'ole to John Legend
>
> 2020-05-07 15:34:28.558 [vent.ItemStateChangedEvent] - Sonos_Viz_Rec changed from Israel 'IZ' Kamakawiwo'ole to John Legend
>
> 2020-05-07 15:34:28.561 [vent.ItemStateChangedEvent] - Sonos_CurrentAlbum_Rec changed from Facing Future to Love In The Future (Deluxe Edition)
>
> 2020-05-07 15:34:28.564 [vent.ItemStateChangedEvent] - Sonos_CurrentTrack_Rec changed from Somewhere Over The Rainbow / What A Wonderful World to All Of Me
>
> 2020-05-07 15:34:29.210 [vent.ItemStateChangedEvent] - Sonos_CurrentAlbumArt_Rec changed from raw type (image/jpeg): 52426 bytes to raw type (image/jpeg): 16957 bytes
>
> 2020-05-07 15:34:44.792 [vent.ItemStateChangedEvent] - Date changed from 2020-05-07T15:33:44.782-0400 to 2020-05-07T15:34:44.785-0400
>
> 2020-05-07 15:35:44.795 [vent.ItemStateChangedEvent] - Date changed from 2020-05-07T15:34:44.785-0400 to 2020-05-07T15:35:44.787-0400
>
> 2020-05-07 15:36:41.286 [vent.ItemStateChangedEvent] - Suite130_SensorTemp changed from 76.5 to 76
>
> 2020-05-07 15:36:44.794 [vent.ItemStateChangedEvent] - Date changed from 2020-05-07T15:35:44.787-0400 to 2020-05-07T15:36:44.789-0400
>
> 2020-05-07 15:37:44.800 [vent.ItemStateChangedEvent] - Date changed from 2020-05-07T15:36:44.789-0400 to 2020-05-07T15:37:44.792-0400
>
> 2020-05-07 15:38:44.799 [vent.ItemStateChangedEvent] - Date changed from 2020-05-07T15:37:44.792-0400 to 2020-05-07T15:38:44.794-0400
>
> 2020-05-07 15:38:58.253 [vent.ItemStateChangedEvent] - Sonos_CurrentArtist_Rec changed from John Legend to American Authors
>
> 2020-05-07 15:38:58.263 [vent.ItemStateChangedEvent] - Sonos_Viz_Rec changed from John Legend to American Authors
>
> 2020-05-07 15:38:58.267 [vent.ItemStateChangedEvent] - Sonos_CurrentAlbum_Rec changed from Love In The Future (Deluxe Edition) to Oh, What A Life
>
> 2020-05-07 15:38:58.271 [vent.ItemStateChangedEvent] - Sonos_CurrentTrack_Rec changed from All Of Me to Best Day Of My Life
>
> 2020-05-07 15:38:58.704 [vent.ItemStateChangedEvent] - Sonos_CurrentAlbumArt_Rec changed from raw type (image/jpeg): 16957 bytes to raw type (image/jpeg): 64068 bytes
openhab.log
> 2020-05-07 15:24:33.615 [INFO ] [rthome.model.script.+++ ImageChooser] - ImageChooser rule RUN - Set to url="http://localhost:8080/static/weather-sun.png"
>
> 2020-05-07 15:25:58.224 [INFO ] [rthome.model.script.+++ ImageChooser] - ImageChooser rule RUN - Set to url="http://localhost:8080/static/weather-sun.png"
>
> 2020-05-07 15:27:07.682 [WARN ] [rm.AbstractFileTransformationService] - Could not transform 'url="http://localhost:8080/static/weather-sun.png"' with the file 'weather_icon.map' : Target value not found in map for 'url="http://localhost:8080/static/weather-sun.png"'
>
> 2020-05-07 15:33:48.021 [ERROR] [org.jupnp.transport.spi.StreamClient] - Request: HttpRequest[GET /capability HTTP/1.1]@1a52854 failed
>
> java.lang.NullPointerException: Missing SslContextFactory
>
> at java.util.Objects.requireNonNull(Objects.java:228) ~[?:1.8.0_222]
>
> at org.eclipse.jetty.io.ssl.SslClientConnectionFactory.<init>(SslClientConnectionFactory.java:54) ~[bundleFile:9.4.20.v20190813]
>
> at org.eclipse.jetty.client.HttpClient.newSslClientConnectionFactory(HttpClient.java:1175) ~[bundleFile:9.4.20.v20190813]
>
> at org.eclipse.jetty.client.HttpDestination.newSslClientConnectionFactory(HttpDestination.java:137) ~[bundleFile:9.4.20.v20190813]
>
> at org.eclipse.jetty.client.HttpDestination.<init>(HttpDestination.java:94) ~[bundleFile:9.4.20.v20190813]
>
> at org.eclipse.jetty.client.PoolingHttpDestination.<init>(PoolingHttpDestination.java:25) ~[bundleFile:9.4.20.v20190813]
>
> at org.eclipse.jetty.client.http.HttpDestinationOverHTTP.<init>(HttpDestinationOverHTTP.java:32) ~[bundleFile:9.4.20.v20190813]
>
> at org.eclipse.jetty.client.http.HttpClientTransportOverHTTP.newHttpDestination(HttpClientTransportOverHTTP.java:51) ~[bundleFile:9.4.20.v20190813]
>
> at org.eclipse.jetty.client.HttpClient.destinationFor(HttpClient.java:546) ~[bundleFile:9.4.20.v20190813]
>
> at org.eclipse.jetty.client.HttpClient.send(HttpClient.java:579) ~[bundleFile:9.4.20.v20190813]
>
> at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:728) ~[bundleFile:9.4.20.v20190813]
>
> at org.eclipse.jetty.client.HttpRequest.send(HttpRequest.java:681) ~[bundleFile:9.4.20.v20190813]
>
> at org.jupnp.transport.impl.jetty.JettyStreamClientImpl$1.call(JettyStreamClientImpl.java:155) [bundleFile:?]
>
> at org.jupnp.transport.impl.jetty.JettyStreamClientImpl$1.call(JettyStreamClientImpl.java:1) [bundleFile:?]
>
> at org.jupnp.transport.spi.AbstractStreamClient$RequestWrapper.call(AbstractStreamClient.java:204) [bundleFile:?]
>
> at org.jupnp.transport.spi.AbstractStreamClient$RequestWrapper.call(AbstractStreamClient.java:1) [bundleFile:?]
>
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_222]
>
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_222]
>
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_222]
>
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_222]
>
> 2020-05-07 15:39:40.446 [INFO ] [rthome.model.script.+++ ImageChooser] - ImageChooser rule RUN - Set to url="http://localhost:8080/static/weather-sun.png"
>
> 2020-05-07 15:43:34.899 [WARN ] [rm.AbstractFileTransformationService] - Could not transform 'url="http://localhost:8080/static/weather-sun.png"' with the file 'weather_icon.map' : Target value not found in map for 'url="http://localhost:8080/static/weather-sun.png"'