parseer fout

Forum over de plugwise plugin van Rene Klootwijk, nu in handen van Rien du Pre (DUTCH forum)

Moderators: Rene, RdP

Post Reply
John
Member
Member
Posts: 145
Joined: Mon Aug 02, 2010 5:00 pm

parseer fout

Post 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
User avatar
Bjochems
Member
Member
Posts: 179
Joined: Wed Jun 04, 2008 2:06 pm
Location: Netherlands

Re: parseer fout

Post 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
Bas
John
Member
Member
Posts: 145
Joined: Mon Aug 02, 2010 5:00 pm

Re: parseer fout

Post 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
User avatar
Rene
Global Moderator
Global Moderator
Posts: 1689
Joined: Wed Oct 08, 2008 3:54 pm
Location: Netherlands

Re: parseer fout

Post by Rene »

Kan je de statistics.xml file in je browser oproepen en de output posten?
Rene.
John
Member
Member
Posts: 145
Joined: Mon Aug 02, 2010 5:00 pm

Re: parseer fout

Post 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>
User avatar
Rene
Global Moderator
Global Moderator
Posts: 1689
Joined: Wed Oct 08, 2008 3:54 pm
Location: Netherlands

Re: parseer fout

Post 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>
Rene.
John
Member
Member
Posts: 145
Joined: Mon Aug 02, 2010 5:00 pm

Re: parseer fout

Post 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
User avatar
Rene
Global Moderator
Global Moderator
Posts: 1689
Joined: Wed Oct 08, 2008 3:54 pm
Location: Netherlands

Re: parseer fout

Post 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.
Rene.
Post Reply

Return to “Homeseer Plugwise Plugin Forum”