Forecast IO Missing Icons [Solved]

Running CMS 1.7.3 on Server 2012, IIS 8, PHP 5.5.11
Android Client 1.7 r53

I am missing the weather icons on the Android Client. They are there in layout design and preview.

Showing missing icons:

Status Window from Android Client:

Preview Screen:

Code from Log:

Existing Assigned Media XML is: \n <?xml version="1.0"?>
<root><media id="06b222b8637d67f072fbf4ecc6332641" type="forecastio" render="html" duration="30" lkid="" userId="1" schemaVersion="1">
<options><name>Weather</name><useDisplayLocation>1</useDisplayLocation><color>#7d5923</color><longitude>-119.129884</longitude><latitude>35.340016</latitude><templateId>5-days-1-big-circle</templateId><icons>standard-icons.png</icons><overrideTemplate>1</overrideTemplate><size>1</size><units>us</units><lang>en</lang></options>
<raw><styleSheet><![CDATA[body {
font-family:Arial;
margin:0;
padding:0;
margin-left: 0px;
}
.container {
margin-left: 0px;
text-align: left;
height: 100%;
font: bold 64px "Poiret One",Verdana,Arial,Sans-serif;
color: #FFFFFF;
}

.daily-forecast {
margin-top: 20px;
display: table;
width: 100%;
font: normal 26px/36px "Poiret One",Verdana,Arial,Sans-serif;
margin-left: 0px;
}
.day {
display: table-cell;
height: 500px;

padding: 10px 5px;
/*	vertical-align:bottom;*/
/*	text-align:center;*/
margin-left:0px;
}
.day:nth-of-type(1) {
width: 50%;
}
.day:nth-of-type(6),
.day:nth-of-type(7) {
display:none;
}
.currentDay {
text-align:center;
font-size: 48px;
}
.day:nth-of-type(1) .currentDay {
background-color: rgba(31,77,202,0.2);
border-radius: 50%;
display: inline-block;
padding: 50px;
width: 500px;
height: 500px;
}
.day-icon {
font-size: 62px;
vertical-align:bottom;
/*	margin-top: -24px;
margin-bottom: 20px;*/
}
.day:nth-of-type(1) .currentDay .day-icon {
font-size: 192px;
margin: 2% 0 14%;
}
.day-icon-seperator {
vertical-align:top;
*/	display: none;*/
}
.day:nth-of-type(1) .currentDay .day-icon-seperator {
display: block;
width: 90%;
height: 5px;
background-color: #F2F2F2;
border: none;
}
.weekday {
font-size: 48px;
font-weight: 900;
display: none;
text-transform: uppercase;
}
.day:nth-of-type(1) .currentDay .weekday {
display: block;
margin: 28px auto 10px;
}
.day:nth-of-type(1) .currentDay .maxTemp {
font-size: 154px;
font-weight: bold;
margin-top:72px;
}
.unitTemp {
display:none;
}
.day:nth-of-type(1) .currentDay .unitTemp {
display: inline;
}
.weekday-short {
margin-top: 10%;
}
.day:nth-of-type(1) .currentDay .weekday-short {
font-weight: bold;
display:none;
}


.powered-by {
display:none;;
}
]]></styleSheet>
<currentTemplate><![CDATA[<!-- Please note that you also can upload the font in the media library and remove the next link //-->
<link href='http://fonts.googleapis.com/css?family=Poiret+One' rel='stylesheet' type='text/css'>

<div class="container">
<div class="daily-forecast">[dailyForecast]</div>

</div>]]></currentTemplate>
<dailyTemplate><![CDATA[<div class="day">
<div class="currentDay">
<div class="day-icon"><i class="wi [wicon]"></i></div>
<hr class="day-icon-seperator">
<div class="weekday">Right Now</div>
<div class="maxTemp"><span class="temp">[temperatureMaxFloor]</span>°<span class="unitTemp">F</span></div>
<div class="weekday-short">[time|D]</div>
</div>
</div>]]></dailyTemplate></raw>
</media></root>

Inventory:

I am unsure how to check to see if the Android Client has actually downloaded the icon file.

UPDATE: I also double checked against Why won’t my layout play? / The splash screen plays instead of my layout, Ran the “Verify All” process.

Also noted that the temperature and days on the Layout Design on Preview are correct. On my Android client the temperature says the same temperature for each day and the days are wrong. Note: Temperature problem was fixed by re-installing Xibo Client.

After following Forecast IO 5 day layout language BUG? (+ understanding duration) I turned on the International Date stuff. The days are now correct , but the temperature still is not.

Should the weather-icons.min.css and all the font files, be copied to the cache on the Android client automatically? If so, when I look on the Android client in /data/data/uk.org.xibo.client/files directory, I do not see them there.

If I manually copy the files from xibo/modules/theme/forecastio/weather_icons and place them into /data/data/uk.org.xibo.client/files I get the weather icons.

Now can someone tell me how to get the pretty icons from standard-icons.png to show?

If they work in the preview they should also work in the Android player.

Basically the resources are copied into the CMS library and sent to the player in the same way as any other file. If this has not happened correctly, then the files you copy and pasted in there will eventually be deleted by the player.

Can you check in your CMS library to see if those files are in there and correct? I know you had problems with your library permissions in the past and wonder if those files have been created correctly or not.

Dan,

I checked the media library and I do see the files in there. I checked the security settings and they appear to be the same as all the other media.

Should I be seeing those files in the Media Inventory on the CMS? Also should they be appearing in Media table of the database?

Yes and Yes.

They appear in the media table with the “moduleSystemFile” column set to 1

Got around it for now by coping the font files from “xibo\modules\theme\forecastio\weather_icons” to the library manually then adding the following to “Enter the template for the current forecast. For a list of substitutions click “Request Forecast” below.” when overriding the template:

May not be correct or pretty, but for now it works.

As long as your are on a internal network - otherwise this is a bad idea :smiley:

Dan,

What can I do to troubleshoot the problem? Two others have also posted about the weather icons not working.

Thanks.

Colin Slaughter

Are the weather icon files showing in the Required Files listing for your Player? It’s easiest to see on a Windows Player in the Required Files section of the Player status screen

This is the key really… it is obvious that the files are available in the CMS because the Layout Designer is showing them correctly. The files should also be in the CMS library and in the Media table and ultimately in the Required Files for the Player.

I was having the same problem with the windows version. what I had to do was upload the standard-icon.png file into the Media Library. Next I assigned the file to each of the displays that needed the icons.

I do not see the files in the CMS Media Library, or the media table. I also do not see the files in the Required Files Status on the Windows client.

UI Thread|4/8/2015 1:33:52 PM|Info|MainForm|Client Initialised
UI Thread|4/8/2015 1:33:52 PM|Audit|Unknown|XMDS Location: http://<server_address>/xibo/xmds.php?v=4

RegisterAgentThread|4/8/2015 1:33:52 PM|Info|RegisterAgent - Run|Thread Started
ScheduleAgentThread|4/8/2015 1:33:52 PM|Info|ScheduleAgent - Run|Thread Started
ScheduleAgentThread|4/8/2015 1:33:52 PM|Info|ScheduleAgent - Run|Thread Woken and Lock Obtained
RequiredFilesAgentThread|4/8/2015 1:33:52 PM|Info|RequiredFilesAgent - Run|Thread Started
ScheduleManagerThread|4/8/2015 1:33:52 PM|Info|ScheduleManager - Run|Thread Started
ScheduleManagerThread|4/8/2015 1:33:52 PM|Audit|ScheduleManager - Run|Schedule Timer Ticked
LibraryAgent|4/8/2015 1:33:52 PM|Info|LibraryAgent - Run|Thread Started
LogAgent|4/8/2015 1:33:52 PM|Info|LogAgent - Run|Thread Started
ScheduleManagerThread|4/8/2015 1:33:52 PM|Audit|MainForm - ScheduleChangeEvent|Schedule Changing to C:\Users\cslau_000\Documents\Xibo Library\19.xlf
RegisterAgentThread|4/8/2015 1:33:53 PM|Info|RegisterAgent - Run|Thread Woken and Lock Obtained
LogAgent|4/8/2015 1:33:53 PM|Info|RegisterAgent - Run|Thread Woken and Lock Obtained
UI Thread|4/8/2015 1:33:53 PM|Audit|Region - SetNextMediaNode|New media detected forecastio
UI Thread|4/8/2015 1:33:53 PM|Audit|Region - CreateNextMediaNode|Creating new media: forecastio, 036b650f30843f208881fb38f0efd6d0
UI Thread|4/8/2015 1:33:53 PM|Audit|Region - StartMedia|Starting media
ScheduleAgentThread|4/8/2015 1:33:54 PM|Audit|ScheduleManager - GetScheduleXmlString|Getting the Schedule XML
RequiredFilesAgentThread|4/8/2015 1:33:54 PM|Info|RequiredFiles - SetRequiredFiles|MD5 different for existing file: 19.xlf
RequiredFilesAgentThread|4/8/2015 1:33:54 PM|Info|RequiredFiles - ReportInventory|Reporting Inventory
FileAgent_layout_Id_19|4/8/2015 1:33:54 PM|Info|FileAgent - Run|Thread Started
FileAgent_resource_Id_20431|4/8/2015 1:33:54 PM|Info|FileAgent - Run|Thread Started
FileAgent_layout_Id_19|4/8/2015 1:33:54 PM|Info|FileAgent - Run|Thread alive and Lock Obtained
FileAgent_resource_Id_20431|4/8/2015 1:33:54 PM|Info|FileAgent - Run|Thread alive and Lock Obtained
FileAgent_layout_Id_19|4/8/2015 1:33:58 PM|Info|FileAgent - Run|File Downloaded Successfully. 19.xlf
FileAgent_layout_Id_19|4/8/2015 1:33:58 PM|Audit|RequiredFilesAgent - fileAgent_OnComplete|FileId finished downloading19
FileAgent_layout_Id_19|4/8/2015 1:33:58 PM|Info|Schedule - LayoutFileModified|Layout file changed: 19.xlf
FileAgent_layout_Id_19|4/8/2015 1:33:58 PM|Audit|Schedule - LayoutFileModified|Forcing the current layout to change: 19.xlf
FileAgent_layout_Id_19|4/8/2015 1:33:58 PM|Audit|MainForm - ScheduleChangeEvent|Schedule Changing to C:\Users\cslau_000\Documents\Xibo Library\19.xlf
FileAgent_layout_Id_19|4/8/2015 1:33:58 PM|Info|FileAgent - Run|Releasing Lock
UI Thread|4/8/2015 1:33:58 PM|Audit|MainForm - DestoryLayout|Calling Dispose on Region 55258fa52c43a
UI Thread|4/8/2015 1:33:58 PM|Audit|Region - SetNextMediaNode|New media detected forecastio
UI Thread|4/8/2015 1:33:58 PM|Audit|Region - CreateNextMediaNode|Creating new media: forecastio, 036b650f30843f208881fb38f0efd6d0
UI Thread|4/8/2015 1:33:58 PM|Audit|Region - StartMedia|Starting media
FileAgent_resource_Id_20431|4/8/2015 1:33:59 PM|Audit|RequiredFilesAgent - fileAgent_OnComplete|FileId finished downloading20431
FileAgent_resource_Id_20431|4/8/2015 1:33:59 PM|Info|FileAgent - Run|Releasing Lock
ScheduleManagerThread|4/8/2015 1:34:03 PM|Audit|ScheduleManager - Run|Schedule Timer Ticked
ScheduleManagerThread|4/8/2015 1:34:13 PM|Audit|ScheduleManager - Run|Schedule Timer Ticked
ScheduleManagerThread|4/8/2015 1:34:23 PM|Audit|ScheduleManager - Run|Schedule Timer Ticked
ScheduleManagerThread|4/8/2015 1:34:33 PM|Audit|ScheduleManager - Run|Schedule Timer Ticked
ScheduleManagerThread|4/8/2015 1:34:43 PM|Audit|ScheduleManager - Run|Schedule Timer Ticked
ScheduleManagerThread|4/8/2015 1:34:53 PM|Audit|ScheduleManager - Run|Schedule Timer Ticked
ScheduleManagerThread|4/8/2015 1:35:03 PM|Audit|ScheduleManager - Run|Schedule Timer Ticked
ScheduleManagerThread|4/8/2015 1:35:13 PM|Audit|ScheduleManager - Run|Schedule Timer Ticked
ScheduleManagerThread|4/8/2015 1:35:23 PM|Audit|ScheduleManager - Run|Schedule Timer Ticked
ScheduleManagerThread|4/8/2015 1:35:33 PM|Audit|ScheduleManager - Run|Schedule Timer Ticked
ScheduleManagerThread|4/8/2015 1:35:43 PM|Audit|ScheduleManager - Run|Schedule Timer Ticked
ScheduleManagerThread|4/8/2015 1:35:53 PM|Audit|ScheduleManager - Run|Schedule Timer Ticked

I found this 7 times in the CMS log after Verifying Modules:

SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'expires' at row 1

In the Media table, the only entries that have a “0” instead of “Null” are the following:

Could this be the problem?

@mmangels There shouldn’t be any need to do that. The module should assign all the files it needs automatically

@cslaughter that’s very likely the cause. You’re certain that running the Verify All option on the Module page doesn’t fix that?

If not, can you run the Report Fault wizard while running that Verify All so we can see if there’s some error installing the modules

Sorry @cslaughter I missed your comments about the error you see when verifying modules. I suspect that is the root cause. @dan does that sound reasonable?

Yes, I’m sure that will be the problem

https://github.com/xibosignage/xibo-cms/blob/develop/lib/data/media.data.class.php#L945

That’s the line, but $expires is defaulted to 0 and as far as I can see there’s nothing setting it to a value other than 0 :confused:

Is it possible it has something to do with international dates? I have trouble with the dates almost everywhere in the CMS since enabling.

I created a troubleshooting.txt, but I don’t want to post it just in case I miss redacting something. Would it be helpful to have? If so, Can I email it directly?