Page 1 of 1

parseer fout

Posted: Fri Nov 04, 2011 12:48 pm
by John
Nadat ik de laatste versie van de source er op heb gezet krijg ik de volgdene foutmelding (en worden de gegevens niet meer in Homseer ingelezen):

Cannot query http://localhost:8080/statistics.xml: Er is een fout opgetreden tijdens het parseren van EntityName. Regel 377, positie 43.

Heeft iemand dit al vaker gezien en hoe is dit op te lossen?

John

Re: parseer fout

Posted: Fri Nov 04, 2011 4:12 pm
by Bjochems
wat zie op die plek in het bestand staan? misschien heb je een speciaal karakter in de naamgeving van 1 van je pluggen gebruikt

Re: parseer fout

Posted: Fri Nov 04, 2011 4:26 pm
by John
Thanks,

I used a "-" and a "&" in the name of that device.

That device was also used whwn i used the previous versions of the source. So it seems some things were changed.

John

Re: parseer fout

Posted: Fri Nov 04, 2011 7:16 pm
by Rene
Kan je de statistics.xml file in je browser oproepen en de output posten?

Re: parseer fout

Posted: Mon Nov 07, 2011 11:32 pm
by John
Rene,

Hieronder een stuk van de output. Ik had ondertussen wat devices toegevoegd dus de fout zit nu in regel 445.

Ik heb zelf al een en ander geprobeerd. Het "-" teken is niet het probleem. Het "&" teken veroorzaakt echter de parseerfout.


</appliance>
- <appliance>
<id>37</id>
<name>Spare 20</name>
<type>- Overig -</type>
<image>/pwimg/32/zz_misc_on.png</image>
<locked>False</locked>
<realstate>on</realstate>
<powerstate>on</powerstate>
<powerusage>330</powerusage>
<totalusage>11</totalusage>
<moduleid>53</moduleid>
<macaddr>000D6F000076A42D</macaddr>
<moduletype>Circle</moduletype>
<room>Spare parts</room>
</appliance>
- <appliance>
<id>19</id>
<name>Spare 3</name>
<type>- Overig -</type>
<image>/pwimg/32/zz_misc_unknown.png</image>
<locked>False</locked>
<realstate>unknown</realstate>
<powerstate>unknown</powerstate>
<powerusage>0</powerusage>
<totalusage>0</totalusage>
<moduleid>27</moduleid>
<macaddr>000D6F000076D43A</macaddr>
<moduletype>Circle</moduletype>
<room>Spare parts</room>
</appliance>
- <appliance>
<id>31</id>
<name>Spare 4</name>
<type>- Overig -</type>
<image>/pwimg/32/zz_misc_unknown.png</image>
<locked>False</locked>
<realstate>unknown</realstate>
<powerstate>unknown</powerstate>
<powerusage>0</powerusage>
<totalusage>0</totalusage>
<moduleid>28</moduleid>
<macaddr>000D6F000076B9B1</macaddr>
<moduletype>Circle</moduletype>
<room>Spare parts</room>
</appliance>
- <appliance>
<id>21</id>
<name>Spare 5</name>
<type>Magnetronoven</type>
<image>/pwimg/32/oven_microwave_unknown.png</image>
<locked>False</locked>
<realstate>unknown</realstate>
<powerstate>unknown</powerstate>
<powerusage>0</powerusage>
<totalusage>0</totalusage>
<moduleid>29</moduleid>
<macaddr>000D6F000076CF48</macaddr>
<moduletype>Circle</moduletype>
<room>Spare parts</room>
</appliance>
- <appliance>
<id>22</id>
<name>Spare 6</name>
<type>- Overig -</type>
<image>/pwimg/32/zz_misc_unknown.png</image>
<locked>False</locked>
<realstate>unknown</realstate>
<powerstate>unknown</powerstate>
<powerusage>0</powerusage>
<totalusage>0</totalusage>
<moduleid>30</moduleid>
<macaddr>000D6F000076D43B</macaddr>
<moduletype>Circle</moduletype>
<room>Spare parts</room>
</appliance>
- <appliance>
<id>23</id>
<name>Spare 7</name>
<type>- Overig -</type>
<image>/pwimg/32/zz_misc_unknown.png</image>
<locked>False</locked>
<realstate>unknown</realstate>
<powerstate>unknown</powerstate>

De XML-pagina kan niet worden weergegeven

Kan XML-invoer niet lezen met opmaakmodel XSL. Herstel de fout en klik vervolgens op de knop Vernieuwen of probeer het later opnieuw.


--------------------------------------------------------------------------------

Spatie is niet toegestaan op deze locatie. Fout bij het verwerken van bron http://localhost:8080/statistics.xml. Regel 445...

<name>Marmitek Powermid Receiver - DVD & Receiver</name>
------------------------------------------^
PAN> <powerusage>0</powerusage>
<totalusage>1</totalusage>
<moduleid>31</moduleid>

Re: parseer fout

Posted: Mon Nov 07, 2011 11:43 pm
by Rene
Klopt, de '&' wordt geparsed door de XML parser. Als je de inhoud van statistics.xml (in de plugwise web server directory) vervangt door onderstaande moet het werken:

Code: Select all

<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>

<items type="array">
<source>
	<datetime><%=system.date%> <%=system.time%></datetime>
	<version><%=Plugwise.Version%></version>
	<versionxml>1.0</versionxml>
	<language><%=Plugwise.Language%></language>
</source>

<% foreach Plugwise.Rooms %>	
	<%$room = .Name %>
	<% foreach .Appliances %>	
		<%
		  if (.Module == null)
		    continue;
      /if
		  if (.Room == null)
		    echo "No Room";
      /if
      $state=.StatusImageName.Replace("_locked","");
			$state=$state.SubString($state.LastIndexOf("_")+1);
		%>
	<appliance>
		<id><%=.Id%></id>
		<name><![CDATA[<%=.Name%>]]></name>
		<type><%=.TypeText%></type>
		<image><%=Plugwise.ImagesPath%>32/<%=.StatusImageName%>.png</image>
		<locked><%=.DoNotSwitchOff%></locked>
		<realstate><%=$state%></realstate>
		<powerstate><%=.PowerState%></powerstate>
		<powerusage><%=Math.Round(.PowerUsage*100)%></powerusage>
		<totalusage><%=Math.Round(.TotalUsage*100)%></totalusage>
		<moduleid><%=.Module.Id%></moduleid>
		<macaddr><%=.Module.MacAddress%></macaddr>
		<moduletype><%=.Module.TypeText%></moduletype>
		<room><%=$room%></room>
	</appliance>
	<% /foreach %>
<% /foreach %>
</items>

Re: parseer fout

Posted: Mon Nov 07, 2011 11:55 pm
by John
Rene,

Het vreemde is dat ik hier met de vorige plugwise source geen last van had.

Ondertussen had ik al de naam van de plug aangepast

Re: parseer fout

Posted: Tue Nov 08, 2011 12:42 am
by Rene
Lijkt me sterk. Want de statistics.xml creeert de XML en die file maakt geen onderdeel uit van de Plugwise Source (want je krijgt hem van mij). '&' is een teken dat door de XML parser wordt opgepakt (ook je browser geeft er een foutmelding op) en deze moet dus 'geescaped' worden. Dat doe je in XML door het geheel tussen '<![CDATA[' en ']]>' te zetten.