NEWS
Mit Parser Daten von Wechselrichter auslesen
-
Hallo, ich weiß einfach nicht mehr weiter.
Ich möchte gerne von meinem Kaco Wechselrichter mithilfe von Parser den Ertragswert des Wechselrichters abrufen.
Leider finde ich nicht den passenden Regexfilter.
Vielleicht hat von euch einer die passende Lösung parat.
-
@philipp-pionier ist das wirklich der Quelltext oder due aufgearbeitete HTML Seite?
warum sieht es im parser Editor so anders aus.
DAS wird der Quelltext sein?
was rufst du da auf? -
Das mit dem =$0 schaut leider so aus, dass der Wert erst per Skript in die Webseite eingearbeitet wird.
-
@homoran leider kenne ich mich mit dem Adapter absolut nicht aus und bin auch kein IT ler
Auf die Visu des Wechselrichters greife ich mit der IP zu. Wenn ich die Seitenquelle aufrufe bekomme ich den "Quelltext", denn ich schon hinzugefügt habe.
Im Parseradapter habe ich auch die Ip des Wechselrichters angegeben. Leider weiß ich nicht ob die Regexregel passt. Ich hoffe das ich deine Fragen beantworten konnte -
@philipp-pionier sagte in Mit Parser Daten von Wechselrichter auslesen:
Wenn ich die Seitenquelle aufrufe bekomme ich den "Quelltext", denn ich schon hinzugefügt habe.
in der Webansicht rechte Maustaste "Seitenquelltext anzeigen " ??
-
@homoran Ja genau, diesen Code habe ich schon kopiert und in die Quellcode.txt gespeichert. Hier möchte ich gerne unter Real time data die dayValue auslesen
-
@philipp-pionier sagte in Mit Parser Daten von Wechselrichter auslesen:
diesen Code habe ich schon kopiert und in die Quellcode.txt gespeichert
dann stimmt irgendwas nicht, weil der Parser auch den Quelltext ausliest und im Parser editor siehtces ganz anders aus.
musst du dich an der Seite authentifizieren?
-
@homoran Nein ich muss mich nicht authentifizieren. Habe jetzt im Parseradapter die IP ohne http eingetragen, bekommen dann eine Fehlermeldung, File does not exist
-
@philipp-pionier ganz abgesehen davon, dass die Daten sehr wahrscheinlich dynamisch generiert werden und daher nicht im Quelltext enthalten sein werden, wie schon @mickym geschrieben hat, stimmt dann etwas anderes nicht.
Ich wiederhole es nochmal.
der echte Quelltext (über die rechte Maustaste "Quelltext anzeigen" - ist nicht das selbe wie "untersuchen" ) müsste identisch mit der Anzeige im Editorfenster des parsers sein.Poste den Inhalt mal als Text in code-tags
-
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <title>KACO new energy</title> <!--KACO inverter web page with web browser based configuration of inverters--> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <!--[if IE]> <link id="favicon" rel="shortcut icon" type="image/vnd.microsoft.icon" href="favicon.ico> <![endif]--> <!-- +++++ css +++++ --> <!-- JQuery --> <link rel="stylesheet" href="jqueryui.css" type="text/css"/> <!-- SimpleModal CSS files --> <link type='text/css' href='modal.css' rel='stylesheet' media='screen'/> <!-- Mask --> <link rel="stylesheet" href="chBStyle.css" type="text/css"/> <link rel="stylesheet" href="MaskApp.css" type="text/css"/> <!-- NanoTree Lib --> <link rel="stylesheet" type="text/css" href="treelook.css"/> <!-- NanoTree App --> <link rel="stylesheet" type="text/css" href="TreeApp.css"/> <!-- Config/Webserver --> <link rel="stylesheet" href="webConf.css" type="text/css"/> <!-- KACO inverter web site --> <link rel="stylesheet" href="style.css" type="text/css"/> </head> <body onload="kaco.start();"> <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Header with logo and device information of inverter + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> <div id="container" style="display: none; height:700px"> <div id="headerBox"> <!-- logo --> <div id="logoBox"> <img alt="Logo" id="logo"/> </div> <!-- device information of inverter --> <div id="header"> <table id="hardFacts"> <tr> <th id="devName"></th> <th id="devTyp"></th> <th id="devMon"></th> <th> </th> </tr> <tr> <td id="name"></td> <td id="type"></td> <td id="mon"></td> <td> </td> </tr> <tr> <th id="devAddr"></th> <th id="devNetAddr"></th> <th id="devMacAddr"></th> <th> </th> </tr> <tr> <td id="rsid"></td> <td id="network"></td> <td id="mac"></td> <td> </td> </tr> <tr> <th id="devSerNo"></th> <th id="pktVersion"></th> <th id="dataRev"></th> </tr> <tr> <td id="serial"></td> <td id="pktVer"></td> <td id="today"></td> </tr> </table> </div> </div> <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Navigation bar + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> <div id="naviBox"> <ul id="navi"> <li> <a href="#" class="naviItem itemDay" id="viewDay" onclick="kaco.switchToDayView(true);" title="Ansicht pro Tag"></a> </li> <li class="naviSpacer">|</li> <li> <a href="#" class="naviItem itemMonth" id="viewMonth" onclick="kaco.switchToMonthView();" title="Ansicht pro Monat"></a> </li> <li class="naviSpacer">|</li> <li> <a href="#" class="naviItem itemYear" id="viewYear" onclick="kaco.switchToYearView();" title="Ansicht pro Jahr"></a> </li> <li class="naviSpacer">|</li> <li> <a href="#" class="naviItem itemEternal" id="viewEternal" onclick="kaco.switchToEternalView();" title="Gesamtansicht"></a> </li> <li class="naviSpacer" id="viewConfigSpacer">|</li> <li> <a href="#" class="naviItem itemTool" id="viewConfig" onclick="kaco.switchToToolView();" title="Konfiguration">Konfiguration</a> </li> </ul> </div> <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Grafical display of logged data + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> <div id="content" class="clearfix"> <div id="contentLeft"> <ul id="chartBarNavi"> <li class="chartBarButtons fback"> <a id="lblHrefGoToFirst" class="fastfwd" href="#" onclick="kaco.goFastBack();" title="Zum ersten Eintrag"> <img id="lblAltfGoToFirst" src="btn_fpre.gif" alt="Zum ersten Eintrag"/> </a> <a id="lblHrefGoOneBack" href="#" onclick="kaco.goBack();" title="Ein Eintrag zurück"> <img id="lblAltGoOneBack" src="btn_prev.gif" alt="zurück"/> </a> </li> <li class="currentScreen" id="currentScreenTitle">...</li> <li class="chartBarButtons next"> <a id="lblHrefGoOneFwd" href="#" onclick="kaco.goForward();" title="Ein Eintrag weiter"> <img id="lblAltGoOneFwd" src="btn_next.gif" alt="weiter"/> </a> <a id="lblHrefGoToLast" class="fastfwd" href="#" onclick="kaco.goFastForward();" title="Zum letzten Eintrag"> <img id="lblAltGoTolast" src="btn_fne.gif" alt="weiter"/> </a> <input type="hidden" id="calendar" /> <a class="today" id="toTodayLink" href="#" onclick="kaco.goToToday();" title="Heute"> <img id="lblAltGoToday" src="btn_2day.gif" alt="Heute" /> </a> </li> </ul> <div id="chart" style="padding: 80px 0 0 40px;"> <div style="position: relative; width: 530px; height: 360px; background:#f9f9f9 url(kacobgch.jpg) no-repeat center center;" id="chartContainer"> </div> <div id="axisLabel" style="text-align:center"></div> <h3 id="outOfBoundInfo" style="color:red; padding:5px; text-align:center"> <!-- There is no data for the selected time range.<br/> The next possible data set is shown. --> </h3> </div> </div> <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Real time data + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> <div id="contentRight"> <div id="performanceDataBox" class="greyBox"> <h3 id="lblValueState"></h3> <div id="nowValueState"></div> <hr id="hr1"/> <h3 id="lblLiveValues"></h3> <table class="ertragswerte"> <tr> <th id="lblValueGen"></th> <td id="nowValueGen"></td> </tr> <tr> <th id="lblValueIn"></th> <td id="nowValueIn"></td> </tr> </table> <hr id="hr2"/> <h3 id="lblYields"></h3> <table class="ertragswerte"> <tr> <th id="dayLabel"></th> <td id="dayValue"></td> </tr> </table> </div> <div id="graphselectorBox" class="greyBox"> <form id="graphselector"> <h3 id="lblChooseView"></h3> <table> <tr> <td id="lblGridPower" colspan="3" style="width:150px"></td> <td><input type="radio" value="showPreset1" class="preset" id="showPreset1" checked="checked" /></td> </tr> <tr> <td id="lblGenPower" colspan="3"></td> <td><input type="radio" value="showPreset2" class="preset" id="showPreset2" /></td> </tr> <tr> <td id="lblGenVolt" colspan="3"></td> <td><input type="radio" value="showPreset3" class="preset" id="showPreset3" /></td> </tr> <tr> <td colspan="4"></td> </tr> <tr> <td colspan="4"><a href="javascript:void(0)" id="toggleAdvanced"></a></td> </tr> </table> <div id="extendTable"> <table> <tr> <td> </td> <td style="text-align:center" id="textLabel1">1</td> <td style="text-align:center" id="textLabel2">2</td> <td style="text-align:center" id="textLabel3">3</td> </tr> <tr> <td style="width:150px;"><label id="lblSelGenVolt" class="selector_label"></label></td> <td><input type="checkbox" class="detail" value="pvsp1" id="pvsp1" /></td> <td><input type="checkbox" class="detail d2" value="pvsp2" id="pvsp2" /></td> <td><input type="checkbox" class="detail d3" value="pvsp3" id="pvsp3" /></td> </tr> <tr> <td><label id="lblSelGenCurr" class="selector_label"></label></td> <td><input type="checkbox" class="detail" value="pvst1" id="pvst1" /></td> <td><input type="checkbox" class="detail d2" value="pvst2" id="pvst2" /></td> <td><input type="checkbox" class="detail d3" value="pvst3" id="pvst3" /></td> </tr> <tr> <td><label id="lblSelGenPow" class="selector_label"></label></td> <td><input type="checkbox" class="detail" value="pvl1" id="pvl1" /></td> <td><input type="checkbox" class="detail d2" value="pvl2" id="pvl2" /></td> <td><input type="checkbox" class="detail d3" value="pvl3" id="pvl3" /></td> </tr> <tr> <td><label id="lblSelGridVolt" class="selector_label"></label></td> <td><input type="checkbox" class="detail" value="nsp1" /></td> <td><input type="checkbox" class="detail aVolt2" value="nsp2" /></td> <td><input type="checkbox" class="detail aVolt3" value="nsp3" /></td> </tr> <tr> <td><label id="lblSelGridCurr" class="selector_label"></label></td> <td><input type="checkbox" class="detail" value="nst1" /></td> <td><input type="checkbox" class="detail aCurr2" value="nst2" /></td> <td><input type="checkbox" class="detail aCurr3" value="nst3" /></td> </tr> <tr> <td colspan="4"> </td> </tr> <tr> <td><label id="lblSelGridPow" class="selector_label"></label></td> <td><input type="checkbox" class="detail" value="nl" checked="checked" id="pac" /></td> <td> </td> <td> </td> </tr> <tr> <td><label id="lblSelDevTemp" class="selector_label"></label></td> <td><input type="checkbox" class="detail" value="temp" /></td> <td> </td> <td> </td> </tr> </table> </div> </form> <br /> <a href="#" id="downloadLink"><span id="dlLinkSpan"></span></a> </div> </div> </div> <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + configuration of inverter + + menu tree and input masks + +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --> <div id="tool" style="position:absolute; left:0; top:200"> <div id="tree"> <table class="maskTable" style="height:360px"> <tr> <td style="vertical-align:top"> <!-- Menu tree --> <div id="scrollbar1"> <div class="scrollbar"> <div class="track"> <div class="thumb"> <div class="end"> </div> </div> </div> </div> <div class="viewport"> <div class="overview" id="treeDiv"> </div> </div> </div> <div id="installButtonDiv" style="text-align:left"> <input type="button" id="installButton" class="maskCtrlButton" onclick="cfgInstall();" value="Install assistent"/> <input type="button" id="updateButton" class="maskCtrlButton" onclick="switchToSWUpdateMask();" value="SW-Update"/> </div> </td> <td style="vertical-align:top"> <div id="logoutButtonDiv" style="text-align:right"> <input type="button" id="logoutButton" class="maskCtrlButton" onclick="cfgLogout(true);" value="Logout"/> </div> </td> </tr> </table> </div> <div id="paraInput" style="width:580px"> <!-- Table for Input masks--> </div> <div> <textarea id="result-text" class="resultLabel" style="width:880px; height:45px;"> </textarea> </div> <div> <input style="display:none;" id="fileDialog" type="file" /> </div> <div> <!-- preload images for the menu tree invisible --> <img style="width:0px; height:0px; display:none;" src="foldclos.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="foldopen.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="pag16x16.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="pluslast.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="plltnoro.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="plnoroot.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="plnoline.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="minulast.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="mnltnroo.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="mnnoroot.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="mnnoline.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="t_noroot.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="plusDis.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="foldclDs.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="line.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="t.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="lastnode.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="minus.gif" alt=""/> <img style="width:0px; height:0px; display:none;" src="plus.gif" alt=""/> </div> </div> </div> <div> <input type="checkbox" id="rtDbgMsg" class="cfgDebugCheckbox" checked="checked" value="Debug-message realtime.csv" style="position:absolute; bottom:214px; left:0px;"/> <label for="rtDbgMsg" id="rtDbgMsgLbl" class="cbLabel" style="position:absolute; bottom:210px; left:15px;">Debug-message realtime.csv</label> <input type="checkbox" id="cbRules" class="cfgDebugCheckbox" checked="checked" value="Switch ON/OFF Rule checking" style="position:absolute; bottom:214px; left:485px;"/> <label for="cbRules" id="cbRulesLbl" class="cbLabel" style="position:absolute; bottom:210px; left:500px;">Switch ON/OFF Rule checking</label> <textarea id="dbg-text" class="cbLabel" style="position:absolute; bottom:0px; left:0px; width:900px; height:200px;"> </textarea> </div> <!-- modal content --> <div class="winTable" id="basic-modal-content"> <div id="winParaInput"> <!-- Table for Input masks --> </div> </div> <div class="winThrobbClass" id="throbb-modal-content"> <div id="winThrobb"> <!-- div for throbber --> </div> </div> <div class="winDlgClass" id="dlg-modal-content"> <div id="winDlg"> <!-- div for dialog --> </div> </div> <!-- +++++ js +++++ --> <!-- JQuery --> <script src="jquery.js" type="text/javascript"></script> <script src="jqueryui.js" type="text/javascript"></script> <script src="canvas.js" type="text/javascript"></script> <script src="flot.js" type="text/javascript"></script> <!-- Throbber --> <script src="throbber.js" type="text/javascript"></script> <script src="hilight.js" type="text/javascript"></script> <!-- SimpleModal --> <script src="simplMod.js" type="text/javascript"></script> <!-- Mask --> <script type="text/javascript" src="MaskApp.js"></script> <!-- NanoTree Lib --> <script type="text/javascript" src="nanotree.js"></script> <!-- NanoTree App --> <script type="text/javascript" src="TreeApp.js"></script> <script type="text/javascript" src="jq_tn_sb.js"></script> <!-- Encryption --> <script type="text/javascript" src="jsbn.js"></script> <script type="text/javascript" src="prng4.js"></script> <script type="text/javascript" src="rng.js"></script> <script type="text/javascript" src="rsa.js"></script> <!-- Config/Webserver --> <script src="webConf.js" type="text/javascript"></script> <!-- KACO inverter web site --> <script src="main.js" type="text/javascript"></script> </body> </html>
hoffe dies ist der richtige Code Opera-Seite des Wechselrichters-rechte Maustaste-Seitenquelle
-
@philipp-pionier sagte in Mit Parser Daten von Wechselrichter auslesen:
Opera-Seite des Wechselrichters-rechte Maustaste-Seitenquelle
OPERA weiß ich nicht wie man an den echten Quelltext kommt!
Daher wollte ich zum Vergleich das was im Editorfenster des Parser-Adapters steht
-
@Homoran Wenn ich den Regex Filter leer lasse bekomme Hieroglypfen im Testtext Fenster angezeigt. Kann dies leider nicht posten. Aber oben im Bild kann man einige erkennen.
-
@philipp-pionier sagte in Mit Parser Daten von Wechselrichter auslesen:
Aber oben im Bild kann man einige erkennen.
das hab ich ja gesehen!
da muss aber der Quelltext stehen!Deswegen will ich das vollständig lesen
aber wenn der Opera Output der echte Quelltext ist (könnte passen) dann nutzt es dir auch nichts wenn der parser die richtige Seite findet.
Die Daten stehen nich drin, nur Variable die im HTML mit Werten gefüllt werden.
-
@homoran Quellcode im Texttestfenster.txt
Vielen Danke für deine Mühe, aber wenn es nicht funktioniert, dann hilft es leider nichts. -
@philipp-pionier und du rufst wirklich die selbe Seite im Browser wie im Parser auf?
@philipp-pionier sagte in Mit Parser Daten von Wechselrichter auslesen:
wenn es nicht funktioniert,
irgendwie schon!
Man muss "nur" suchen wo die Website die Daten herholt und versuchen diese Daten zu erhalten. -
@homoran Die IP Adresse ist die gleiche; Browser und Parser. Vll lieg das Problem beim Wechselrichter, vll finde ich in der Bedienungsanleitung noch etwas. Aber nochmal vielen Danke