parseer fout

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

Moderators: RdP, Rene

parseer fout

Postby John » Fri Nov 04, 2011 11:48 am

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
John
Member
Member
 
Posts: 143
Joined: August 2010

Re: parseer fout

Postby Bjochems » Fri Nov 04, 2011 3:12 pm

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
User avatar
Bjochems
Member
Member
 
Posts: 179
Joined: June 2008
Location: Netherlands

Re: parseer fout

Postby John » Fri Nov 04, 2011 3:26 pm

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
John
Member
Member
 
Posts: 143
Joined: August 2010

Re: parseer fout

Postby Rene » Fri Nov 04, 2011 6:16 pm

Kan je de statistics.xml file in je browser oproepen en de output posten?
Rene.
User avatar
Rene
Global Moderator
Global Moderator
 
Posts: 1689
Joined: October 2008
Location: Netherlands

Re: parseer fout

Postby John » Mon Nov 07, 2011 10:32 pm

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>
John
Member
Member
 
Posts: 143
Joined: August 2010

Re: parseer fout

Postby Rene » Mon Nov 07, 2011 10:43 pm

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.
User avatar
Rene
Global Moderator
Global Moderator
 
Posts: 1689
Joined: October 2008
Location: Netherlands

Re: parseer fout

Postby John » Mon Nov 07, 2011 10:55 pm

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
John
Member
Member
 
Posts: 143
Joined: August 2010

Re: parseer fout

Postby Rene » Mon Nov 07, 2011 11:42 pm

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.
User avatar
Rene
Global Moderator
Global Moderator
 
Posts: 1689
Joined: October 2008
Location: Netherlands


Return to Homeseer Plugwise Plugin Forum

Who is online

Users browsing this forum: No registered users and 1 guest