Ankündigung

Einklappen
Keine Ankündigung bisher.

Hexstring aus interner Website an Edomi übergeben

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    Hexstring aus interner Website an Edomi übergeben

    Hallo,

    hab hier einen Kompressor aus dem ich ein paar Daten für Logiken benötige.
    Er bietet eine Website an an dem alle 5 Sekunden die Daten aktualisiert werden.
    Was ich schon rausgefunden habe, das die Website einen Post an den Kompressor schickt und die Daten als Hexstring (mkv.cgi) zurückbekommt.

    Wie kann ich das am besten in Edomi einbinden, damit ich den String in eine Logik bekomme?

    Logik zum bearbeiten des Strings hab ich schon erstellt und wenn ich den String manuell einfüge bekomme ich die Daten die ich benötige.

    Wollte den Quellcode auch reinstellen aber weis nicht wie ich das machen soll.
    Sind .js Dateien.

    Gruß Daniel
    Angehängte Dateien

    #2
    Wenn die Webseite ohne Login funktioniert, dann könntest du einfach die Webseite per HTTP-GET abrufen und das Ergebnis dann parsen.

    Kommentar


      #3
      Ich steh grad aufm Schlauch.
      Wie müsste die http-get Anfrage lauten?

      Login wird nicht benötigt.

      Hier wär der Code von der Post abfrage wenn der was hilft.

      Code:
      //PUBLIC
      this.Add=function(INDEX,SUBINDEX)
      {
      var vQuestion=new Question();
      vQuestion.INDEX=INDEX;
      vQuestion.SUBINDEX=SUBINDEX;
      vQUESTIONS[vQUESTIONS.length]=vQuestion;
      }
      this.getData = function(INDEX, SUBINDEX) {
      for (var i = 0; i < vQUESTIONS.length; i++) {
      if ((vQUESTIONS[i].INDEX == INDEX) && (vQUESTIONS[i].SUBINDEX == SUBINDEX)) {
      var Data = vQUESTIONS[i].getData();
      if (Data.DATA == "X")
      throw { name: "NO DATA", message: "[" + HexString(INDEX, 4) + "," + SUBINDEX + "]" };
      else
      return Data;
      }
      }
      throw { name: "ERROR", message: "[" + HexString(INDEX, 4) + "," + SUBINDEX + "]" };
      }

      Kommentar


        #4
        Zitat von Blaky1612 Beitrag anzeigen
        Wie müsste die http-get Anfrage lauten?
        Die URL mit der du die Statusseite aufrufst.

        Kommentar


          #5
          Habs jetzt probiert mit http-get.

          die Webseite ruf ich nur mit der IP auf dann bekomm ich gleich die Seite mit den Daten.

          im http-get hab ich jetzt auch nur die IP angegeben aber ins KO schreibt er mir den Seitenquelltext.

          Was mache ich falsch?
          Angehängte Dateien

          Kommentar


            #6
            Du machst nichts falsch, das KO musst du jetzt z.B. mit dem PREG_MATCH LBS parsen, um den entsprechenden Wert zu extrahieren.

            Kommentar


              #7
              Ich hoffe ich nerve nicht.

              hab es mit Preg_match probiert aber bekomm den String nicht angezeigt.
              Weis auch nicht nach welchen Ausdruck ich genau suchen muss.

              Kommentar


                #8
                hier wär der Inhalt des KO

                Code:
                <html>
                <head>
                <title></title>
                
                <script src="js/LIBRARY.js" type="text/javascript"></script>
                <script src="js/init.js" type="text/javascript" ></script>
                <script src="js/config.js" type="text/javascript" ></script>
                </head>
                <body id="BODY">
                <table id="INIT" cellspacing="0" cellpadding="0" border="0" style="width:100%;height:100%;color:White;visibili ty:visible">
                <tr>
                <td align="center" valign="middle">
                <table style="font-size:32px;font-family:Freestyle Script;font-weight:bold;" cellspacing="5" cellpadding="5" width="500px">
                <tr>
                <td align="center" colspan="2" style="font-size:72px;font-weight:bold;color:White;background-color:#B0B0B0; border:solid 3 #5A5A5A">INITIALISATION</td>
                </tr>
                <tr>
                <td align="center" colspan="2" style="font-size:16px"></td>
                </tr>
                <tr>
                <td align="center" style="color:#5A5A5A">DOWNLOADING FILES</td><td align="center"><img id="step1" src="images index/WAITING.png" alt="" /></td>
                </tr>
                <tr>
                <td align="center" colspan="2" id="step1comment" style="font-size:18px;font-family:Times New Roman;font-weight:bold;border:solid 3 Red;color:White; background:#FF8A8A;visibility:hidden;"></td>
                </tr>
                <tr>
                <td align="center" style="color:#5A5A5A">QUERY STATIC DATA</td><td align="center"><img id="step2" src="images index/WAITING.png" alt="" /></td>
                </tr>
                <tr>
                <td align="center" colspan="2" id="step2comment" style="font-size:18px;font-family:Times New Roman;font-weight:bold;border:solid 3 Red;color:White; background:#FF8A8A;visibility:hidden;"></td>
                </tr>
                <tr>
                <td align="center" style="color:#5A5A5A">QUERY DYNAMIC DATA</td><td align="center"><img id="step3" src="images index/WAITING.png" alt="" /></td>
                </tr>
                <tr>
                <td align="center" colspan="2" id="step3comment" style="font-size:18px;font-family:Times New Roman;font-weight:bold;border:solid 3 Red;color:White; background:#FF8A8A;visibility:hidden;"></td>
                </tr>
                <tr>
                <td align="center" style="color:#5A5A5A">LOADING TEXTS</td><td align="center"><img id="step4" src="images index/WAITING.png" alt="" /></td>
                </tr>
                <tr>
                <td align="center" colspan="2" id="step4comment" style="font-size:18px;font-family:Times New Roman;font-weight:bold;border:solid 3 Red;color:White; background:#FF8A8A;visibility:hidden;"></td>
                </tr>
                <tr>
                <td colspan="2" align="center" id="continueanyway" style="visibility:hidden"><button style="color:#5A5A5A;font-size:24px;font-family:Times New Roman;font-weight:bold;" onclick="ShowWebsite();">Go to website anyway</button></td>
                </tr>
                </table>
                </td>
                </tr>
                </table>
                <div id="WEBSITE" style="width:100%;height:100%;visibility:hidden">
                <div id="main">
                <div id="main_content">
                <div id="header">
                <div id="left">
                <p id="serial">Serial Number:</p>
                <p id="page">Compressor_Y</p>
                </div>
                <div id="right">
                <p id="elektronikon">Elektronikon</p>
                <p id="langs">
                <span id="langs_description">Languages111</span>
                <select id="language_select" onchange="load_language();">
                <option>downloading...</option>
                </select>
                </p>
                </div>
                <div class="clearfix"></div>
                </div>
                <div id="error"></div>
                <div id="checks">
                <div id="checkbox_container"></div>
                <div class="clearfix"></div>
                </div>
                <div id="tables">
                <div id="TABLELEFT_L1">
                <table cellspacing="0" cellpadding="0" id="ANALOGINPUTSbody"></table>
                <table cellspacing="0" cellpadding="0" id="ANALOGOUTPUTSbody"></table>
                <table cellspacing="0" cellpadding="0" id="COUNTERSbody"></table>
                <table cellspacing="0" cellpadding="0" id="CALCULATEDANALOGINPUTSbody"></table>
                <table cellspacing="0" cellpadding="0" id="CONVERTERSbody"></table>
                <table cellspacing="0" cellpadding="0" id="SPMbody"></table>
                </div>
                <div id="TABLERIGHT_L1">
                <table cellspacing="0" cellpadding="0" id="MACHINESTATEbody"></table>
                <table cellspacing="0" cellpadding="0" id="DIGITALINPUTSbody"></table>
                <table cellspacing="0" cellpadding="0" id="DIGITALOUTPUTSbody"></table>
                <table cellspacing="0" cellpadding="0" id="SPECIALPROTECTIONSbody"></table>
                <table cellspacing="0" cellpadding="0" id="SERVICEPLANbody"></table>
                <table cellspacing="0" cellpadding="0" id="IDATAbody"></table>
                </div>
                <div id="TABLELEFT_L12">
                <table id="CONVERTORFLOWbody"></table>
                </div>
                <table id="units" align="center">
                <tr>
                <td id="PRESSUREUNITstr" align="right">Pressure Unit:111</td>
                <td align="left">
                <select id="P" onchange="setProperties();">
                <option value="Bar">Bar</option>
                <option value="dBar">dBar</option>
                <option value="mBar">mBar</option>
                <option value="psi">psi</option>
                <option value="kPa">kPa</option>
                <option value="MPa">MPa</option>
                <option value="kg/cm?">kg/cm?</option>
                <option value="mmHg">mmHg</option>
                <option value="inHg">inHg</option>
                <option value="Torr">Torr</option>
                </select>
                </td>
                </tr>
                <tr>
                <td id="TEMPERATUREUNITstr" align="right">Temperature Unit:111</td>
                <td align="left">
                <select id="T" onchange="setProperties();">
                <option value="?C">?C</option>
                <option value="?F">?F</option>
                <option value="K">K</option>
                </select>
                </td>
                </tr>
                <tr>
                <td id="ENERGYUNITstr" align="right">ENERGY Unit:111</td>
                <td align="left">
                <select id="E" onchange="setProperties();">
                <option value="kWh">kWh</option>
                <option value="MWh">MWh</option>
                <option value="kBTu">kBTu</option>
                <option value="MBTu">MBTu</option>
                </select>
                </td>
                </tr>
                <tr>
                <td id="FLOWUNITstr" align="right">Flow Unit:111</td>
                <td align="left">
                <select id="F" onchange="setProperties();">
                <option value="l/s">l/s</option>
                <option value="cfm">cfm</option>
                <option value="l/min">l/min</option>
                <option value="m?/h">m?/h</option>
                </select>
                </td>
                </tr>
                </table>
                <table id="tablees_l3">
                <tr><td>
                <table id="tableCompressors1" cellspacing="0" cellpadding="3" style="border-width:1px;border-color:Black;border-style:solid"></table>
                </td></tr>
                <tr><td>
                <table id="tableDryers" cellspacing="0" cellpadding="3" style="border-width:1px;border-color:Black;border-style:solid;margin:50px 0px 0px 0px"></table>
                </td></tr>
                </table>
                <div class="clearfix"></div>
                </div>
                <div id="footer">
                <span id="load_time">loading...</span><br />
                v3.3.0.0
                </div>
                </div>
                </div>
                <div id="left_side">
                <a id="logo_link" href=""><img src="images/Brandlogo.gif" alt="brand logo" /></a>
                <div id="menu">
                <ul>
                <li id="link1str" onclick="load_compressor();" onmouseover="this.style.cursor='hand'">Compressor1 11</li><!---->
                <li id="link2str" onclick="load_es();" onmouseover="this.style.cursor='hand'">ES</li>
                <li id="link3str" onclick="load_preferences();" onmouseover="this.style.cursor='hand'">Preferences 111</li>
                </ul>
                </div>
                </div>
                </div>
                </body>
                </html>

                Kommentar


                  #9
                  Welchen Wert aus dem Inhalt brauchst du denn?

                  Kommentar


                    #10
                    Ich bräuchte den HEX String der auf die Post Anfrage der Website zurück kommt in der mkv.cgi
                    Hab jetzt alle .js Dateien durchgeschaut aber ich finde weder Werte noch den Hexstring.

                    wenn ich im Browser http://192.168.178.90/cgi-bin/mkv.cgi eingebe kommt nur INCORRECT PATH
                    Angehängte Dateien
                    Zuletzt geändert von Blaky1612; 12.10.2020, 17:38.

                    Kommentar


                      #11
                      Okay, ich dachte der Wert wäre im HTML Quellcode drin. Wenn das nicht so ist, dann geht das nicht über diesen Ansatz.

                      Kommentar


                        #12
                        Nein leider nicht, das habe ich mit anderen Websites schon gemacht und funktioniert.
                        Nur hier ist im Quellcode nichts drin.
                        Hab mir gedacht das ich über Edomi einen Post senden kann und den Response weiterverarbeiten kann, aber das übersteigt meine Fähigkeiten.

                        Kommentar


                          #13
                          Wie kann ich eine .js Datei im Beitrag anhängen?
                          Dann könnte ich die Abfrage .js posten.

                          Kommentar


                            #14
                            Für einen HTTP Post musst du einen LBS schreiben. Das geht mit den Bordmitteln nicht und ich glaube es gibt auch keinen User LBS dafür.

                            Kommentar


                              #15
                              vielleicht hilfts.... der LBS 19000082 (SENEC Inverter Abfrage) verwendet genau solch eine POST Abfrage für eine cgi... Vielleicht kannst Du dich dort etwas inspirieren lassen

                              Kommentar

                              Lädt...
                              X