Hallo,
da das Auslesen von Weishaupt Heizungen via ebus bekanntermaßen eine größere Herausforderung darstellt, hatte ich mir seinerzeit gleich das Kommunikationsmodul WCM-COM mitgekauft. Das Teil funktioniert soweit ganz toll, man kann via Webbrowser auf alle Werte des Systems zugreifen und auch alles konfigurieren. Es gibt zusätzliche digitale Ein- und Ausgänge, man kann E-Mails verschicken und sogr SMS über ein eingebautes GSM Teil.
Was ich mir jedoch wesentlich einfacher erhofft habe ist die Anbindung an Fremdsysteme wie IPS. Eine wie auch immer geartete Schnittstelle scheint es hierfür jedoch nicht zu geben.
Na gut, dann eben per WWW Reader und Text Parser …geht leider so einfach auch nicht so einfach.
Die Webseiten sind alle dynamisch und voller Script Gedöns. Hier hört meine Weisheit leider auf. So tief stecke ich in den Web Technologien nicht drin. Ich vermute mal es ich gar nicht so schlimm, denn ein Script, das der Webbrowser aufruft, sollte man ja auch von IPS aus auslesen können - oder?
Hier mal ein Beispiel. Ein Frame sieht z.B. so aus:
Die Daten darin sind alle dynamisch, d.h. nach Laden der Seite stehen dort Platzhalter, und erst nach einigen Sekunden werden die Felder mit den echten Daten ausgefüllt. Ein einfaches Text Parsen ist daher nicht möglich.
Leider verstehe ich nicht genug davon, aber ich bin mir sicher man müsste die Scripte auch irgendwie direkt aufrufen können. der Quelltext der Seite (genauer dieses Frames) sieht so aus:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="../main.xsl" ?>
<stx:doc xmlns:stx="http://www.sevenstax.de">
<stx:includescript select="Form_WTC_G_Prozesswerte"/>
<stx:vars>
<stx:var name="szInfo"><stx:word key="info"/></stx:var>
<stx:var name="szDatalogger"><stx:word key="datalogger"/></stx:var>
<stx:var name="szFree"><stx:word key="free"/></stx:var>
<stx:var name="szSurveillance"><stx:word key="surveillance"/></stx:var>
<stx:var name="szNA"><stx:word key="na"/></stx:var>
</stx:vars>
<stx:body onload="gfctWEBAPP_OnLoadHandler()">
<stx:div class="clForm">
<stx:caption websiteid="#010101"><stx:word key="processvalues"/></stx:caption>
<div class="clForm_Content">
<div id="List_WTC_G_15_Prozesswerte" class="clL_List">
<div class="clL_List_Element"><h4><stx:word key="actor_burner_state"/></h4></div>
<div class="clL_List_Element">
<div id="idT0051" class="clNotChecked">******<stx:word key="flame"/></div>
</div>
<div class="clL_List_Element">
<div id="idT05D9" class="clNotChecked">******<stx:word key="gasvalve"/> 1</div>
</div>
<div class="clL_List_Element">
<div id="idT05DA" class="clNotChecked">******<stx:word key="gasvalve"/> 2</div>
</div>
<div class="clL_List_Element">
<div id="idT01D2" class="clNotChecked">******<stx:word key="pump"/></div>
</div>
<div class="clL_List_Element"></div>
<div id="idT0176_N" class="clL_List_Element">I10 **<stx:word key="working_state"/></div>
<div id="idT0001_N" class="clL_List_Element">I10 **<stx:word key="error"/></div>
<div id="idT008A_N" class="clL_List_Element">I11 **<stx:word key="load_state"/></div>
<div id="idT0A0C_N" class="clL_List_Element">I12 **<stx:word key="damped_outsidetemp"/></div>
<div id="idT0002_N" class="clL_List_Element">I13 **<stx:word key="heatexpectation"/></div>
<div id="idT0C1D_N" class="clL_List_Element">I30 **<stx:word key="pretemp"/> (<stx:word key="estb"/>)</div>
<div id="idT0145_N" class="clL_List_Element">I31 **<stx:word key="exhausttemp"/></div>
<div id="idT000C_N" class="clL_List_Element">I33 **<stx:word key="outsidetemp"/></div>
<div id="idT000E_N" class="clL_List_Element">I34 **<stx:word key="hotwater_temp"/></div>
<div id="idT0076_N" class="clL_List_Element">I38 **<stx:word key="buffersensor"/> B10</div>
<div id="idT0C56_N" class="clL_List_Element">I42 **<stx:word key="opcyclecount"/> <stx:word key="burner"/></div>
<div id="idT0C57_N" class="clL_List_Element">I43 **<stx:word key="op_hours"/> <stx:word key="burner"/></div>
<div id="idT02BC_N" class="clL_List_Element">I45 **<stx:word key="time_since_last_check"/></div>
</div>
<div id="Information_WTC_G_Prozesswerte" class="clM_List">
<div class="clM_List_Content">
<div class="clM_List_Element_left"><h4><stx:word key="op_type"/></h4></div>
<div class="clM_List_Element_left">
<div id="idT0067_H" class="clNotChecked">******<stx:word key="heating"/></div>
</div>
<div class="clM_List_Element_left">
<div id="idT0067_W" class="clNotChecked">******<stx:word key="hotwater"/></div>
</div>
<div class="clM_List_Element_right"></div>
<div class="clM_List_Element_right"></div>
<div class="clM_List_Element_right"></div>
<div id="idT0176" class="clM_List_Element_left"><stx:word key="na"/></div>
<div id="idT0001" class="clM_List_Element_left"><stx:word key="na"/></div>
<div id="idT008A" class="clM_List_Element_left"><stx:word key="na"/></div>
<div id="idT0A0C" class="clM_List_Element_left"><stx:word key="na"/></div>
<div id="idT0002" class="clM_List_Element_left"><stx:word key="na"/></div>
<div id="idT0C1D" class="clM_List_Element_left"><stx:word key="na"/></div>
<div id="idT0145" class="clM_List_Element_left"><stx:word key="na"/></div>
<div id="idT000C" class="clM_List_Element_left"><stx:word key="na"/></div>
<div id="idT000E" class="clM_List_Element_left"><stx:word key="na"/></div>
<div id="idT0076" class="clM_List_Element_left"><stx:word key="na"/></div>
<div id="idT0C56" class="clM_List_Element_left"><stx:word key="na"/></div>
<div id="idT0C57" class="clM_List_Element_left"><stx:word key="na"/></div>
<div id="idT02BC" class="clM_List_Element_left"><stx:word key="na"/></div>
</div>
</div>
<div id="Einheit_WTC_G_Prozesswerte" class="clR_List_Left">
<div class="clR_List_Content">
<div class="clR_List_Element"></div>
<div class="clR_List_Element"></div>
<div class="clR_List_Element"></div>
<div class="clR_List_Element"></div>
<div class="clR_List_Element"></div>
<div class="clR_List_Element"></div>
<div id="idT0176_E" class="clR_List_Element"></div>
<div id="idT0001_E" class="clR_List_Element"></div>
<div id="idT008A_E" class="clR_List_Element">%</div>
<div id="idT0A0C_E" class="clR_List_Element">°C</div>
<div id="idT0002_E" class="clR_List_Element">°C</div>
<div id="idT0C1D_E" class="clR_List_Element">°C</div>
<div id="idT0145_E" class="clR_List_Element">°C</div>
<div id="idT000C_E" class="clR_List_Element">°C</div>
<div id="idT000E_E" class="clR_List_Element">°C</div>
<div id="idT0076_E" class="clR_List_Element">°C</div>
<div id="idT0C56_E" class="clR_List_Element"></div>
<div id="idT0C57_E" class="clR_List_Element"><stx:word key="hours"/></div>
<div id="idT02BC_E" class="clR_List_Element"><stx:word key="hours"/></div>
</div>
</div>
<div id="Checkboxen_D_WTC_G_Prozesswerte" class="clCheckboxen_Werte" style="top:147px">
<div class="clCheckboxen_Werte_Content">
<div class="clCheckboxen_Werte_Element"><stx:word key="datalog"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0176_CDL" type="checkbox" name="DC1" value="1" onclick="gftcAddorSub_CB(this,0)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0001_CDL" type="checkbox" name="DC2" value="1" onclick="gftcAddorSub_CB(this,0)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT008A_CDL" type="checkbox" name="DC3" value="1" onclick="gftcAddorSub_CB(this,0)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0A0C_CDL" type="checkbox" name="DC4" value="1" onclick="gftcAddorSub_CB(this,0)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0002_CDL" type="checkbox" name="DC5" value="1" onclick="gftcAddorSub_CB(this,0)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0C1D_CDL" type="checkbox" name="DC6" value="1" onclick="gftcAddorSub_CB(this,0)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0145_CDL" type="checkbox" name="DC7" value="1" onclick="gftcAddorSub_CB(this,0)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT000C_CDL" type="checkbox" name="DC8" value="1" onclick="gftcAddorSub_CB(this,0)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT000E_CDL" type="checkbox" name="DC9" value="1" onclick="gftcAddorSub_CB(this,0)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0076_CDL" type="checkbox" name="DC10" value="1" onclick="gftcAddorSub_CB(this,0)"/></div>
<div class="clCheckboxen_Werte_Element"></div>
<div class="clCheckboxen_Werte_Element"></div>
<div class="clCheckboxen_Werte_Element"></div>
</div>
</div>
<div id="Checkboxen_U_WTC_G_Prozesswerte" class="clCheckboxen_Ueber" style="top:147px">
<div class="clCheckboxen_Ueber_Content">
<div class="clCheckboxen_Ueber_Element"><stx:word key="ueberw"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0176_CUW" type="checkbox" name="UC1" value="1" onclick="gftcAddorSub_CB(this,1)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0001_CUW" type="checkbox" name="UC2" value="1" onclick="gftcAddorSub_CB(this,1)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT008A_CUW" type="checkbox" name="UC3" value="1" onclick="gftcAddorSub_CB(this,1)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0A0C_CUW" type="checkbox" name="UC4" value="1" onclick="gftcAddorSub_CB(this,1)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0002_CUW" type="checkbox" name="UC5" value="1" onclick="gftcAddorSub_CB(this,1)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0C1D_CUW" type="checkbox" name="UC6" value="1" onclick="gftcAddorSub_CB(this,1)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0145_CUW" type="checkbox" name="UC7" value="1" onclick="gftcAddorSub_CB(this,1)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT000C_CUW" type="checkbox" name="UC8" value="1" onclick="gftcAddorSub_CB(this,1)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT000E_CUW" type="checkbox" name="UC9" value="1" onclick="gftcAddorSub_CB(this,1)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0076_CUW" type="checkbox" name="UC10" value="1" onclick="gftcAddorSub_CB(this,1)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0C56_CUW" type="checkbox" name="UC11" value="1" onclick="gftcAddorSub_CB(this,1)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT0C57_CUW" type="checkbox" name="UC12" value="1" onclick="gftcAddorSub_CB(this,1)"/></div>
<div class="clCheckboxen_Werte_Element"><input id="idT02BC_CUW" type="checkbox" name="UC13" value="1" onclick="gftcAddorSub_CB(this,1)"/></div>
</div>
</div>
<div id="idHeaderJavaScriptError" class="clDebug" style="visibility:hidden;">
Debug: Outs
</div>
</div>
<div id="idInfoBox" class="clInfo"><stx:word key="info"/>:</div>
<stx:applybutton onclick="localSubmitCheckboxes()"><stx:word key="apply"/></stx:applybutton>
</stx:div>
</stx:body>
</stx:doc>
Kann mir jemand erklären, wass da passirt, und wie ich ggf. von IPS aus an die gewünschten Daten kommen kann? Das wäre Super!
Gibt es jemanden hier im Forum, der auch das WCM-COM hat dieses mit IPS nutzt? Ich würde mich gerne über Eure Erfahrungen hierzu austauschen.