|
|
|
Philips Pronto Professional Forum - View Post
|
|
|
|
|
|
|
The following page was printed from RemoteCentral.com:
Problem with Prontoscript and XML
| |
|
Topic: | Problem with Prontoscript and XML This thread has 8 replies. Displaying all posts. |
|
Post 1 made on Saturday May 5, 2012 at 18:04 |
Fistandantilus Lurking Member |
|
|
Hi,
Since some years I´m using Pronto remotes. Now I´ve got a TSU7400 and starting to configure it. As there seems to be no working weather script I started to adapt ScottGrimes version to my Pronto. As I do not want to pay for weather.com I was looking for an alternative which google.com offers. I already get XML back to my Pronto but reading the different segments is not working. Maybe someone could have a look into that.
Here the XML:
<xml_api_reply version="1"> <weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0"> <forecast_information> <city data="Dresden, Saxony"/> <postal_code data="dresden"/> <latitude_e6 data=""/> <longitude_e6 data=""/> <forecast_date data="2012-05-05"/> <current_date_time data="1970-01-01 00:00:00 +0000"/> <unit_system data="SI"/> </forecast_information> <current_conditions> <condition data="Leichter Regen"/> <temp_f data="54"/> <temp_c data="12"/> <humidity data="Feuchtigkeit: 94 %"/> <icon data="/ig/images/weather/mist.gif"/> <wind_condition data="Wind: NO mit Windgeschwindigkeiten von 14 km/h"/> </current_conditions> <forecast_conditions> <day_of_week data="Sa."/> <low data="6"/> <high data="21"/> <icon data="/ig/images/weather/chance_of_storm.gif"/> <condition data="Vereinzelt stürmisch"/> </forecast_conditions> <forecast_conditions>...</forecast_conditions> <forecast_conditions>...</forecast_conditions> <forecast_conditions>...</forecast_conditions> </weather> </xml_api_reply>
This is the current code:
// Trim the XML tag off if it was included. if (xmlData.indexOf("<?xml")) xmlData = xmlData.substring(xmlData.indexOf("?>")+2);
// DEFINE VARIABLES
var weatherData = new XML(xmlData); //CF.widget("_PS_DEBUG_").label = weatherData; -> here I can see above posted XML data
// Obtain the name of city based on city code data var locationText = "" + weatherData.forecast_information.city; // Force it to be a string CF.widget("_PS_DEBUG_").label = weatherData.forecast_information.city;
-> getting no values displayed also tried CF.widget("_PS_DEBUG_").label = weatherData.weather.forecast_information.city; CF.widget("_PS_DEBUG_").label = weatherData.weather[0].forecast_information.city;
Best regards, F.
|
iPronto -> RU990 -> TSU7400 |
|
OP | Post 2 made on Saturday May 5, 2012 at 18:27 |
Fistandantilus Lurking Member |
|
|
Just a quick update. Seems a was to quick Scotts version is working on my 7400 now. Just sumulator was not working thats why I swiched to google. But anyway I would like to find a solution for my described problem.
One further question. Is internet connection in general not working for simulator? Maybe it is a problem of my virtual machine?
|
iPronto -> RU990 -> TSU7400 |
|
Post 3 made on Saturday May 5, 2012 at 23:08 |
Lyndel McGee RC Moderator |
Joined: Posts: | August 2001 12,994 |
|
|
TCP connection does not work for simulator. Search for TCP and Welfringer
|
Lyndel McGee Philips Pronto Addict/Beta Tester
|
|
OP | Post 4 made on Sunday May 6, 2012 at 02:36 |
Fistandantilus Lurking Member |
|
|
Sounds good. Just dropped him a message as it does not seem to be available in download area. Any idea on the original issue?
|
iPronto -> RU990 -> TSU7400 |
|
Post 5 made on Sunday May 6, 2012 at 13:31 |
Lyndel McGee RC Moderator |
Joined: Posts: | August 2001 12,994 |
|
|
Try this as the data is not text child of node, but rather an attribute. Also have a look at the examples in the ECMA357 PDF which you can find from google (E4X).
CF.widget("_PS_DEBUG_").label = weatherData.forecast_information.city@data;
I think that _PS_DEBUG_ widget is reserved name and if widget is present on the page, any output you send using system.print() calls will overwrite the label.
Might I suggest using something like (note use of GUI.widget and CF.widget - there is a thread I authored here that discusses the differences. I suggest you use GUI.widget whenever possible except when you must fetch resources from other pages.)
GUI.widget("MY_TEST_VALUE").label = weatherData.forecast_information.city@data;
Regards, Lyndel
|
Lyndel McGee Philips Pronto Addict/Beta Tester
|
|
OP | Post 6 made on Monday May 7, 2012 at 16:20 |
Fistandantilus Lurking Member |
|
|
Thx Lyndel, I will test it this week. Unfortunatelly currently too much work. I know about _PS_DEBUG_. I was just using it for debugging what data variables are containing.
I have completelly migrated Scotts version meanwhile to the TSU9400. Due to smaler screen I only have 3 day forecast but any other data is displayed :) Lets see how often it will get used - I think it is more or less just a nice feature to show what you can do with the remote.
Other than RU990 this remote does not have rf anymore so I need to get ir to rf transmitter to be able to controll light again.
|
iPronto -> RU990 -> TSU7400 |
|
Post 7 made on Thursday July 2, 2020 at 14:59 |
thebaz67 Long Time Member |
Joined: Posts: | December 2008 13 |
|
|
I know this is an old thread but I found it useful but I needed to add a period prior to the @ symbol to display the attribute.
|
|
Post 8 made on Monday July 6, 2020 at 20:03 |
Lyndel McGee RC Moderator |
Joined: Posts: | August 2001 12,994 |
|
|
Can you post a sample of the XML where you found you had to use the . before @?
Thanks, Lyndel
|
Lyndel McGee Philips Pronto Addict/Beta Tester
|
|
Post 9 made on Tuesday July 14, 2020 at 16:35 |
thebaz67 Long Time Member |
Joined: Posts: | December 2008 13 |
|
|
function ParseXML(xmldata) { var xmldata = xmldata.replace(/^<\?xml\s+version\s*=\s*(['"])[^\1]+\1[^?]*\?>/, "") var weatherData = new XML(xmldata);
// Set Activity label to 'standby'. CF.activity().label = "standby mode...";
// Obtain the name of city based on city code data. var locationText = "" + weatherData.city.@name; // Force it to be a string.
if I left out the . prior to the @ I did not get the information from the xml file I was expecting.
When I used the _PS_DEBUG I would see an error if I left out the period.
This is not my code, It is from Scott's weather module, I am just making the changes to use the openweather feed.
thank you for your help, it seems to be working now.
|
|
|
Before you can reply to a message... |
You must first register for a Remote Central user account - it's fast and free! Or, if you already have an account, please login now. |
Please read the following: Unsolicited commercial advertisements are absolutely not permitted on this forum. Other private buy & sell messages should be posted to our Marketplace. For information on how to advertise your service or product click here. Remote Central reserves the right to remove or modify any post that is deemed inappropriate.
|
|
|
|