Autor Thema: HTTPMOD Login  (Gelesen 14928 mal)

Offline eldi0s

  • New Member
  • *
  • Beiträge: 9
Antw:HTTPMOD Login
« Antwort #90 am: 14 Mai 2020, 14:00:57 »
Hi,

ich habe mich gestern mal an die integration meiner Lüftungsanlage in FHEM gemacht um speziell die tollen CO2 Werte
auf meinen KNX Bus zu bekommen. Da bin ich auf diesen Thread gestoßen ;-)

Hab die halbe nacht mit diversen Parametern gespielt aber leider nichts brauchbares zusammenbekommen.
PHP, HTML und Java ist jetzt garnicht meine Welt, daher verstehe ich das ganze auch nicht so richtig und kann
nur basteln bzw. kopieren und ändern.

Es geht um folgende Seite, die ich aufrufen und auslesen möchte. Leider ruft er mir immer nur die "leere" Seite
auf und meldet sich nicht an.

https://www.freeair-connect.de

Die einzelnen Geräte kan man direkt mit anhängen der Seriennummer aufrufen:
PS: es heisst unten wirklich seriennumber ;-)

https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX

Somit müsste man eigentlich nur das Passwort übergeben.

Mein gebastelter Code sieht bis jetzt so aus:
defmod freeair100 HTTPMOD https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX 60
attr freeair100 userattr requestHeader1 requestHeader2 sid01Data sid01Header1 sid01IdRegex sid01IgnoreRedirects:0,1 sid01URL sid02Data sid02Header1 sid02IdRegex sid02URL sidURL
attr freeair100 clearSIdBeforeAuth 1
attr freeair100 disable 0
attr freeair100 reAuthRegex (class="login-item"|Bad Request)
attr freeair100 reading01Name Airflow
attr freeair100 reading01Regex id="air_flow_val".*?>([\d]+)
attr freeair100 requestHeader1 Cookie: $sid
attr freeair100 room Lüftung
attr freeair100sid01IdRegex (ASP.NET_SessionId[^;;\n]+)
attr freeair100 sid02Data password=XXXXXXXXXXXXXX&Remember=false
attr freeair100 sid02Header1 Cookie: $sid
attr freeair100 sid02IdRegex Cookie: ([^\n]+)
attr freeair100 sidURL https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX
attr freeair100 verbose 5

Er findet das Reading, gibt aber nur die nächste  gefundene Zahl im Quelltext der "leeren" Seite aus,
da er sich nicht anmeldet um den Wert zu bekommen.

Sprich die 3 aus der Einheit m³/h der leeren Seite
<p class="value" id="air_flow"><span id="air_flow_val"></span><span class="units"> m<sup>3</sup>/h</span></p>
und nicht den Wert 60 wie hier, wenn man angemeldet ist:
<p class="value" id="air_flow"><span id="air_flow_val">60</span><span class="units"> m<sup>3</sup>/h</span></p>
Bin noch auf Arbeit und habe keinen Zugriff auf mein FHEM. Werde heute Abend mal die List und das Log posten.

Vllt. fällt ja jemandem auch so etwas dazu ein?

Vielen Dank und beste Grüße,
eldi

hier noch ein Großteil des Quelltexts der ganzen Seite (nicht angemeldet):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="images/BM.png">
<title>
freeAir - Remote Connect
</title>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet">
<link href="css_min/src/bootstrap.min.css" rel="stylesheet" type="text/css">
<link href="css_min/src/jquery.jscrollpane.css" rel="stylesheet" type="text/css" media="all" />
<link href="css_min/page.min.css" rel="stylesheet" type="text/css">
<link href="css_min/detail.min.css" rel="stylesheet" type="text/css">
<!--link href="css/diagram.css" rel="stylesheet" type="text/css"-->
<link href="css_min/button.min.css" rel="stylesheet" type="text/css">
<link href="css_min/table.min.css" rel="stylesheet" type="text/css" media="all">
<link href="css_min/popup.min.css" rel="stylesheet" type="text/css" media="all">
<link href="css_min/media.min.css" rel="stylesheet" type="text/css">
<!--link href="css/chart.css" rel="stylesheet" type="text/css" media="all"-->
<script type="text/javascript" src="js_min/jquery/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="js_min/src/bootstrap.min.js"></script>
<script type="text/javascript" src="js_min/src/jquery.mousewheel.js"></script>
<script type="text/javascript" src="js_min/src/jquery.jscrollpane.min.js"></script>
<script type="text/javascript" src="js_min/src/modernizr-custom.js"></script>
<script type="text/javascript" src="js_min/src/inde.min.js"></script>
        <script type="text/javascript" src="js_min/def.min.js"> </script>
<script type="text/javascript" src="js_min/faAES.min.js"> </script>
<!-- script type="text/javascript" src="js/createChart.js"> </script-->
<script type="text/javascript" src="js_min/helpCreatePrimBlobObject.min.js"> </script>
<script type="text/javascript" src="js_min/fillOverviewAndDetails.min.js"> </script>
<script type="text/javascript" src="js_min/helpCreateSecBlobObject.min.js"> </script>
<script type="text/javascript" src="js_min/helpParseBlob.min.js"> </script>
<script type="text/javascript" src="js_min/createPBO.min.js"> </script>
<script type="text/javascript" src="js_min/createSBO.min.js"> </script>
<script type="text/javascript" src="js_min/translation.min.js"> </script>
<script type="text/javascript" src="js_min/main.min.js"></script>
<script type="text/javascript" src="js_min/button.min.js"></script>
        <script type="text/javascript" src="js_min/getDataFce.min.js"></script>
        <script type="text/javascript" src="js_min/srn.min.js"></script>
        <script type="text/javascript" src="js_min/key.min.js"></script>
        <script type="text/javascript" src="js_min/scriptfce.min.js"></script>
<!--script type="text/javascript" src="js/diagram.js"></script-->
</head>

<body>
<noscript>
<p class="noscript en">This website needs JavaScript to be shown properly. See bluMartin Help. </p>
<p class="noscript de">Diese Seite ben&ouml;tigt JavaScript, um korrekt dargestellt zu werden. Anleitung in bluMartin Hilfe.</p>
</noscript>
<div class="page">
<header id="top" class="page-header navbar navbar-default">
<div id="logo_desktop" class="logo hidden-xs"><a href="#"><img src="images/logo.png" height="33" width="253" alt="freeAirConnect"></a></div>
<div id="logo_mobile" class="logo hidden-sm hidden-md hidden-lg"><a href="#"><img src="images/logoMobile.png" height="27" width="164" alt="freeAirConnect"></a></div>
<form action="tabs.php" class="form-search form-inline" method = "post">
<div class="form-group" id="input_popover">
<input type="text"
   name="seriennumber"
   id="seriennumber"
   class="form-control"
   placeholder=""
   data-toggle="popover"
   data-placement="bottom"
   data-trigger="manual"
>
<input id="SerNrLS" style="display: none">
<input id="po_on" style="display: none" value="off">
<button type="submit">Go</button>
</div>
</form>
<div id="key_icon" class="logo1" onclick="editKeyPopup()"><img src="images/key_icon.png" width="34" height="16"></div>
<div class="collapse navbar-collapse pull-right" id="main-nav">
<ul class="nav nav-tabs my-nav">
<li><a id="OV_overview" href="#nav1" data-toggle="tab" class="trans">Overview</a></li>
<li><a id="OV_details" href="#nav2" data-toggle="tab" class="trans">Details</a></li>
<!-- li><a id="OV_diagrams" href="#nav3" data-toggle="tab" class="trans">Diagrams</a></li-->
<li><a id="OV_minute_values" href="#nav4" data-toggle="tab" class="trans">Minute Values</a></li>
<li><a id="OV_daily_values" href="#nav5" data-toggle="tab" class="trans">Daily Values</a></li>
<li><a id="OV_monthly_values" href="#nav6" data-toggle="tab" class="trans">Monthly Values</a></li>
<li><a id="OV_help" href="#nav7" data-toggle="tab" class = "trans">Help</a></li>
</ul>
</div>
<div class="dropdown lang-dropdown">
<div class="dropdown-toggle" id="lang-menu-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span class="current"><img src="images/eng.png" width="34" height="16"></span>
<span class="caret"></span>
</div>
<ul id="lang-menu" class="dropdown-menu" aria-labelledby="lang-menu-toggle">
<li id="flag_en"><a href="javascript:getLang('en')"><img src="images/eng.png" width="34" height="16"></a></li>
<li id="flag_de"><a href="javascript:getLang('de')"><img src="images/de.png" width="34" height="16"></a></li>
</ul>
</div>
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#main-nav" aria-expanded="false">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
</header>
<div class="page-content tab-content">
<div role="tabpanel" class="tab-pane active" id="nav1">
                    <div id="error_div" style="display: none"></br><p id="red-error" align="left"><span id="err_msg" class="err trans">Error:</span><span>&nbsp; </span><span id="error_msg_en" class="en err"></span>
                                                            <span id="error_msg_de" class="de err"></span><span></span><span id="switch-off" class= "err trans"></span></p> </div>
                            <div class="flex-column stretched">
                               
<div class="overview-list">
<div class="overview-item item-1">
<div class="overview-main">
<h3 id="OV_air_flow" class="name trans">Air Flow</h3>
<p class="value" id="air_flow"><span id="air_flow_val"></span><span class="units"> m<sup>3</sup>/h</span></p>
</div>
</div>
<div class="overview-item item-5">
<div class="overview-type">
<h3 id="OV_outdoor" class="name text-outdoor trans">Outdoor</h3>
<div class="values">
<p class="value"><span class="label trans" id="OV_temperature_outdoor">Temperature</span><span id="outdoor_temp_val"></span><span class="units"> &#x2103;</span></p>
<p class="value"><span class="label"><span class="trans" id="OV_humidity_rel_outdoor">Humidity</span><span> (rel)</span></span><span id="outdoor_hum_rel_val"></span><span class="units"> %</span></p>
<p class="value"><span class="label"><span class="trans" id="OV_humidity_abs_outdoor">Humidity</span><span> (abs)</span></span><span id="outdoor_hum_abs_val"></span><span class="units"> g/m<sup>3</sup></span></p>
</div>
</div>
</div>
<div class="overview-item item-2">
<div class="overview-main">
<h3 id="OV_heat_recovery" class="name trans">Heat Recovery</h3>
<h3 id="OV_cooling_power" class="name trans power">Cooling Power</h3>
<p id="heat_recovery_p" class="value"><span id="heat_recovery_val"></span><span class="units"> %</span></p>
<p id="cooling_power_p" class="value power"><span id="cooling_power_val"></span><span class="units"> W</span></p>
</div>
</div>
<div class="overview-item item-6">
<div class="overview-type">
<h3 id="OV_supply" class="name text-supply trans">Supply</h3>
<div class="values">
<p class="value"><span class="label trans" id="OV_temperature_supply">Temperature</span><span id="supply_temp_val"></span><span class="units"> &#x2103;</span></p>
</div>
</div>
</div>
<div class="overview-item item-3">
<div class="overview-main">
<h3 id="OV_power_recovery" class="name trans">Energy Recovery</h3>
<p id="power_recovery_p" class="value"><span id="power_recovery_val"></span><span class="units"> W</span></p>
</div>
<button class="btn-img" onclick="buttonAction()"></button>
</div>
<div class="overview-item item-7">
<div class="overview-type">
<h3 id="OV_extract" class="name text-extract trans">Extract</h3>
<div class="values">
<p class="value"><span class="label trans" id="OV_temperature_extract">Temperature</span><span id="extract_temp_val"></span><span class="units"> &#x2103;</span></p>
<p class="value"><span class="label"><span class="trans" id="OV_humidity_rel_extract">Humidity</span><span> (rel)</span></span><span id="extract_hum_rel_val"></span><span class="units"> %</span></p>
<p class="value"><span class="label"><span class="trans" id="OV_humidity_abs_extract">Humidity</span><span> (abs)</span></span><span id="extract_hum_abs_val"></span><span class="units"> g/m<sup>3</sup></span>
</p>
<p class="value" id="extract_CO2"><span class="label">CO<sub>2</sub></span><span id="extract_CO2_val"></span><span class="units"> ppm</span>
</p>
</div>
</div>
</div>
<div class="overview-item item-4">
<div class="overview-grade">
<div class="grade-info">
<div class="grade-item">
<p id="OV_humidity_tl" class="label trans">Humidity</p>
<ul id="OV_traffic_lights_humidity" class="grade-type">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div class="grade-item">
<p class="label">CO<sub>2</sub></p>
<ul id="OV_traffic_lights_CO2" class="grade-type">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div class="grade-item">
<p id="OV_supply_filter_tl" class="label trans">Filter Supply</p>
<ul id="OV_tl_sf" class="grade-type">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div class="grade-item">
<p id="OV_extract_filter_tl" class="label trans">Filter Extract</p>
<ul id="OV_tl_ef" class="grade-type">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div><!--grade item  -->
</div>
</div>
</div>
<div class="overview-item item-8">
<div class="overview-type">
<h3 id="OV_exhaust" class="name text-exhaust trans">Exhaust</h3>
<div class="values">
<p class="value"><span class="label trans" id="OV_temperature_exhaust">Temperature</span><span id="exhaust_temp_val"></span><span class="units"> &#x2103;</span></p>
</div>
</div>
</div>
</div>
</div><!--flex column stretched  -->
</div><!--nav1  -->
<div onload="alert('super');" role="tabpanel" class="tab-pane" id="nav2">
<div class="container details-tab">
<div class="row">
<div class=" col-sm-6 col-md-5 col-md-offset-1 col-lg-4 col-lg-ofset-1 col-xs-12">
<div class="main-info">
<div class="info-row-details">
<h3 class="text-outdoor heading-details">Parameter</h3>
<div class="details-info">
<div class="values-details">
<p class="value-details parameter-name"><span id="D_operation_mode" class="trans">Operation Mode</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_OM" class="trans">OM</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_OM_val_en" class="details-1 detail-input en"></span><span id="D_OM_val_de" class="details-1 detail-input de"></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_comfort_level" class="trans">Comfort Level</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1">(CL)</span></p>
<p class="value-details parameter-value"><span id="D_CL_val" class="details-1 detail-input"></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_operation_hours" class="trans">Operation Hours</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_OPH" class="trans">OPH</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_OPH_val" class="details-1 detail-input" ></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_filter_hours" class="trans">Filter Hours</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_FIH" class="trans">FIH</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_FIH_val" class="details-1 detail-input"></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_room_area" class="trans">Room Area</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_RA" class="trans">RA</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_RA_val" class="details-1 detail-input"></span><span class="span">m<sup>2</sup></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_defrosting_mode" class="trans">Deicing</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_dei" class="trans">dfr</span><span>)</span></span></p>
<div class="value-details parameter-value">
<div class="checkbox">
<input id="D_dei_val" type="checkbox" onclick="return false;">
<label for="D_dei_val" id="D_deeicing_label">&nbsp;</label>
</div>
</div>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_2nd_room_adapter" class="trans">2nd Room Adapter</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1">(2A)</span></p>
<p class="value-details parameter-value"><span id="D_2A_val" class="details-1 detail-input"></span><span class="span">m<sup>3</sup>/h</span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_fan_speed_supply" class="trans">Fan Speed Supply</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_FSS" class="trans">FSS</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_FSS_val" class="details-1 detail-input"></span><span class="span">1/min</span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_fan_speed_extract" class="trans">Fan Speed Extract</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_FSE" class="trans">FSE</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_FSE_val" class="details-1 detail-input"></span><span class="span">1/min</span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_software_version" class="trans">Software Version</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1">(SWV)</span></p>
<p class="value-details parameter-value"><span id="D_SWV_val" class="details-1 detail-input"></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_circuit_board_version" class="trans">Circuit Board Version</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_CBV" class="trans">CBV</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_CBV_val" class="details-1 detail-input"></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_serial_number" class="trans">Serial Number</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1">(SNR)</span></p>
<p class="value-details parameter-value"><span id="D_SNR_val" class="details-1 detail-input"></span></p>
</div>
</div>
</div><!--info-row-details  -->
</div><!-- main-info -->
</div>
<div class="col-sm-5 col-sm-offset-1 col-md-4 col-md-offset-1 col-lg-3 col-lg-offset-3 col-xl-3 col-xl-offset-2 col-xs-12">
<div class="main-info">
<div class="info-row-details program-reduction col-details-2">
<h3 id="D_program_heading"class="text-outdoor heading-details-2-3 trans">Program</h3>
<div class="details-info">
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_mve_val" type="checkbox" onclick="return false;">
<label for="D_mve_val" id="D_minimum_ventilation" class="trans">Minimum Ventilation</label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_mve" class="trans">mve</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_hrr_val" type="checkbox" onclick="return false;">
<label for="D_hrr_val" id="D_humidity_reduction_rel" class="trans">Humidity Reduction</label><span> (rel)</span>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_hrr" class="trans">hrr</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_hra_val" type="checkbox" onclick="return false;">
<label for="D_hra_val" id="D_humidity_reduction_abs" class="trans">Humidity Reduction</label><span> (abs)</span>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_hra" class="trans">hra</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_col_val" type="checkbox" onclick="return false;">
<label for="D_col_val" id="D_active_cooling" class="trans">Active Cooling</label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_col" class="trans">col</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_co2_val" type="checkbox" onclick="return false;">
<label for="D_co2_val" id="D_reduction_co2" class="trans">Reduction CO<sub>2</sub></label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1">(co2)</span></p>
</div>
</div>
</div><!-- info-row-details  -->
</div><!-- main-info -->
<div class="main-info">
<div class="info-row-details-3 program-reduction col-details-3" id="info-row-reduction">
<h3> <span id="D_reduction_heading" class="text-outdoor heading-details-2-3 trans">Reduction</span><span class="text-outdoor heading-details-2-3 without"> (mini)</span></h3>
<div class="details-info">
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_dfr_val" type="checkbox" onclick="return false;">
<label for="D_dfr_val" id="D_defrosting" class="trans">Defrosting</label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_dfr" class="trans">dfr</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_hin_val" type="checkbox" onclick="return false;">
<label for="D_hin_val" id="D_humidity_input" class="trans">Humidity Input</label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_hin" class="trans">hin</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_otb_val" type="checkbox" onclick="return false;">
<label for="D_otb_val" id="D_outdoor_temperature_below" class="trans">Outdoor Temperature</label><span> &lt; -22 &#x2103;</span></label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_otb" class="trans">otb</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_win_val" type="checkbox" onclick="return false;">
<label for="D_win_val" id="D_water_insertion" class="trans">Water Insertion</label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_win" class="trans">win</span><span>)</span></span></p>
</div><!--values-details  -->
</div>
</div><!--info-row-details  -->
</div><!-- main-info -->
</div>
</div>
</div><!--details-tab  -->
</div><!-- nav2 --> <div role="tabpanel" class="tab-pane" id="nav4">
<div class="container minute-tab">
<div class="row">
<div class=" col-sm-6 col-md-5 col-md-offset-1 col-xs-12">
<table id="table" class="table">
<tr>
<th><span id="PL_TIM" class="trans">TIM</span></th>
<td><span id="PL_timestamp" class="trans">Timestamp</span></td>
<td><span id="PL_TIM_val"></span></td>
</tr>
<tr>
<th><span id="PL_OM" class="trans">OM</span></th>
<td><span id="PL_operating_mode" class="trans">Operating Mode</span></td>
<td><span id="PL_OM_val_de" class="de"></span><span id="PL_OM_val_en" class="en"></span></td>
</tr>
<tr>
<th><span id="PL_PRG">PRG</span></th>
<td><span id="PL_program" class="trans">Program</span></td>
<td><span class="de" id="PL_PRG_val_de"></span><span class="en" id="PL_PRG_val_en"></span></td>
</tr>
<tr>
<th><span id="PL_RED">RED</span></th>
<td><span id="PL_reduction" class="trans">Reduction</span><span> (mini)</span></td>
<td><span id="PL_RED_val_de" class="de"></span><span id="PL_RED_val_en" class="en"></span></td>
</tr>
<tr>
<th><span id="PL_HR" class="trans">HR</span></th>
<td><span id="PL_humidity_reduction" class="trans">Humidity Reduction Mode</span></td>
<td><span id="PL_HR_val_de" class="de"></span><span id="PL_HR_val_en" class="en"></span></td>
</tr>
<tr>
<th><span id="PL_SC" class="trans">SC</span></th>
<td><span id="PL_summer_cooling" class="trans">Summer Cooling</span></td>
<td><span id="PL_SC_val_de" class="de"></span><span id="PL_SC_val_en" class="en"></span></td>
</tr>
<tr>
<th><span>CL</span></th>
<td><span id="PL_comfort_level" class="trans">Comfort Level</span></td>
<td><span id="PL_CL_val"></span></td>
</tr>
<tr>
<th><span id="PL_RA" class="trans">RA</span><span> [m<sup>2</sup>]</span></th>
<td><span id="PL_room_area" class="trans">Room Area</span></td>
<td><span id="PL_RA_val"></span></td>
</tr>
<tr>
<th><span>2A [m<sup>3</sup>/h]</span></th>
<td><span id="PL_2nd_room_adapter" class="trans">2nd Room Adapter</span></td>
<td><span id="PL_2A_val"></span></td>
</tr>
<tr>
<th><span id="PL_FSS" class="trans">FSS</span><span> [1/min]</span></th>
<td><span id="PL_fan_speed_supply" class="trans">Fan Speed Supply</span></td>
<td><span id="PL_FSS_val"></span></td>
</tr>
<tr>
<th><span id="PL_FSE" class="trans">FSE</span><span> [1/min]</span></th>
<td><span id="PL_fan_speed_extract" class="trans">Filter Speed Extract</span></span></td>
<td><span id="PL_FSE_val"></span></td>
</tr>
<tr>
<th><span id="PL_AFL" class="trans">AFL</span><span> [m<sup>3</sup>/h]</span></th>
<td><span id="PL_air_flow" class="trans">Air Flow</span></td>
<td><span id="PL_AFL_val"></span></td>
</tr>
<tr>
<th><span id="PL_TET" class="trans">TET</span><span> [&#x2103;]</span></th>
<td><span id="PL_extract_temperature" class="trans">Extract Temperature</span></td>
<td><span id="PL_TET_val"></span></td>
</tr>
<tr>
<th><span id="PL_HET" class="trans">HET</span><span> [%]</span></th>
<td><span id="PL_extract_humidity" class="trans">Extract Humidity</span><span> (rel)</span></td>
<td><span id="PL_HET_val"></span></td>
</tr>
<tr>
<th><span id="PL_TOU" class="trans">TOU</span><span> [&#x2103;]</span></th>
<td><span id="PL_outdoor_temperature" class="trans">Outdoor Temperature</span></td>
<td><span id="PL_TOU_val"></span></td>
</tr>
<tr>
<th><span id="PL_HOU" class="trans">HOU</span><span> [%]</span></th>
<td><span id="PL_outdoor_humidity" class="trans">Outdoor Humidity</span><span> (rel)</span></td>
<td><span id="PL_HOU_val"></span></td>
</tr>
<tr>
<th><span>CO<sub>2</sub> [ppm]</span></th>
<td><span>CO<sub>2</sub></span></td>
<td><span id="PL_CO2_val"></span></td>
</tr>
<tr>
<th><span id="PL_TSU" class="trans">TSU</span><span> [&#x2103;]</span></th>
<td><span id="PL_supply_temperature_sens" class="trans">Supply Temperature</span><!-- span> (sens)</span--></td>
<td><span id="PL_TSU_val"></span></td>
</tr>
<tr>
<th><span id="PL_TSC" class="trans">TSC</span><span> [&#x2103;]</span></th>
<td><span id="PL_supply_temperature" class="trans">Supply Temperature</span></td>
<td><span id="PL_TSC_val"></span></td>
</tr>
<tr>
<th><span id="PL_TEH" class="trans">TEH</span><span> [&#x2103;]</span></th>
<td><span id="PL_exhaust_temperature" class="trans">Exhaust Temperature</span></td>
<td><span id="PL_TEH_val"></span></td>
</tr>
<tr>
<th><span id="PL_APR" class="trans">APR</span><span> [hPa]</span></th>
<td><span id="PL_air_pressure" class="trans">Air Pressure</span></td>
<td><span id="PL_APR_val"></span></td>
</tr>
<tr>
<th><span id="PL_ADY" class="trans">ADY</span><span> [kg/m<sup>3</sup>]</span></th>
<td><span id="PL_air_density" class="trans">Air Density</span></td>
<td><span id="PL_ADY_val"></span></td>
</tr>
<tr>
<th><span id="PL_HRP" class="trans">HRP</span><span> [%]</span></th>
<td><span id="PL_heat_recovery_rel" class="trans">Heat Recovery</span><span> (rel)</span></td>
<td><span id="PL_HRP_val"></span></td>
</tr>
<tr>
<th><span id="PL_HRW" class="trans">HRW</span><span> [W]</span></th>
<td><span id="PL_heat_recovery_abs" class="trans">Heat Recovery</span><span> (abs)</span></td>
<td><span id="PL_HRW_val"></span></td>
</tr>
<tr>
<th><span id="PL_OPH" class="trans">OPH</span><span> [h]</span></th>
<td><span id="PL_operating_hours" class="trans">Operating hours</span></td>
<td><span id="PL_OPH_val"></span></td>
</tr>
<tr>
<th><span id="PL_FIH" class="trans">FIH</span><span> [h]</span></th>
<td><span id="PL_filter_hours" class="trans">Filter Hours</span></td>
<td><span id="PL_FIH_val"></span></td>
</tr>
<tr>
<th><span id="PL_SNR">SNR</span></th>
<td><span id="PL_serial_number" class="trans">Serial Number</span></td>
<td><span id="PL_SNR_val"></span></td>
</tr>
<tr>
<th><span id="PL_RSSI">RSSI</span><span> [dBm]</span></th>
<td><span id="PL_RSSI_value" class="trans">RSSI-Value</span></td>
<td><span id="PL_RSSI_val"></span></td>
</tr>
<tr>
<th><span id="PL_ES" class="trans">ES</span></th>
<td><span id="PL_error_state" class="trans">Error State</span></td>
                                <td><span id="PL_ES_val_de" class="de"></span><span id="PL_ES_val_en" class="en"></span></td>
</tr>
<tr>
<th><span>EFN</span></th>
<td><span>--</span></td>
<td><span id="PL_EFN_val"></span></td>
</tr>
<tr>
<th><span>ELN</span></th>
<td><span>--</span></td>
<td><span id="PL_ELN_val"></span></td>
</tr>
<tr>
<th><span>ECO</span></th>
<td><span>--</span></td>
<td><span id="PL_ECO_val"></span></td>
</tr>
<tr>
<th><span>VPE</span></th>
<td><span>--</span></td>
<td><span id="PL_VPE_val"></span></td>
</tr>
<tr>
<th><span>VBY</span></th>
<td><span>--</span></td>
<td><span id="PL_VBY_val"></span></td>
</tr>
<tr>
<th><span>VBA</span></th>
<td><span>--</span></td>
<td><span id="PL_VBA_val"></span></td>
</tr>
<tr>
<th><span>VPS</span></th>
<td><span>--</span></td>
<td><span id="PL_VPS_val"></span></td>
</tr>
<tr>
<th><span>TPE</span></th>
<td><span>--</span></td>
<td><span id="PL_TPE_val"></span></td>
</tr>
<tr>
<th><span>TBY</span></th>
<td><span>--</span></td>
<td><span id="PL_TBY_val"></span></td>
</tr>
<tr>
<th><span>TBA</span></th>
<td><span>--</span></td>
<td><span id="PL_TBA_val"></span></td>
</tr>
<tr>
<th><span>TPS</span></th>
<td><span>--</span></td>
<td><span id="PL_TPS_val"></span></td>
</tr>
<tr>
<th><span>FSF</span></th>
<td><span>--</span></td>
<td><span id="PL_FSF_val"></span></td>
</tr>
<tr>
<th><span>FEF</span></th>
<td><span>--</span></td>
<td><span id="PL_FEF_val"></span></td>
</tr>
<tr>
<th><span>DIP</span></th>
<td><span>--</span></td>
<td><span id="PL_DIP_val"></span></td>
</tr>
<tr>
<th><span>ZKL</span></th>
<td><span>--</span></td>
<td><span id="PL_FSC_val"></span></td>
</tr>
<tr>
<th><span>AKL</span></th>
<td><span>--</span></td>
<td><span id="PL_FEC_val"></span></td>
</tr>
<tr>
<th><span>LKA</span></th>
<td><span>--</span></td>
<td><span id="PL_CSU_val"></span></td>
</tr>
<tr>
<th><span>LKF</span></th>
<td><span>--</span></td>
<td><span id="PL_CFA_val"></span></td>
</tr>
<tr>
<th><span>S1</span></th>
<td><span>--</span></td>
<td><span id="PL_S1_val"></span></td>
</tr>
<tr>
<th><span>S2</span></th>
<td><span>--</span></td>
<td><span id="PL_S2_val"></span></td>
</tr>
<tr>
<th><span>S3</span></th>
<td><span>--</span></td>
<td><span id="PL_S3_val"></span></td>
</tr>
<tr>
<th><span>S4</span></th>
<td><span>--</span></td>
<td><span id="PL_S4_val"></span></td>
</tr>
<tr>
<th><span>S5</span></th>
<td><span>--</span></td>
<td><span id="PL_S5_val"></span></td>
</tr>
<tr>
<th><span>S6</span></th>
<td><span>--</span></td>
<td><span id="PL_S6_val"></span></td>
</tr>
</table>
</div>
</div>
</div>
</div>

<div role="tabpanel" class="tab-pane" id="nav5">
<div class="container">
<div class="row">
<div class="col-md-12">
<div id="div_daily_values">
            <div id="no_daily_values">
                                                        <br>
                                                        <p class="no-values trans" id="no_daily_val_text"></p>
                                                        <p class="no-values trans" id="no_daily_plausi_logs_text"></p>
                                                        <p class="no-values trans" id="wrong_key_daily_text"></p>

                                                    </div>
                                                    <div id="daily_values" class="table-fixed-col table-scroll-horizontal">
« Letzte Änderung: 14 Mai 2020, 16:19:24 von eldi0s »

Online amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6004
Antw:HTTPMOD Login
« Antwort #91 am: 14 Mai 2020, 22:11:49 »
Der Quelltext der leeren Seite wenn nicht angemeldet hilft nicht viel...
Besser wäre die Log.

Ich vermute, die Seite ruft und füllt die Daten im Hintergrund per Javascript. Was natürlich die Sache schwieriger macht: man muss die "Unteraufrufe" finden und einsetzen. Dafür im Log des Browser schauen, bzw. mit Burp arbeiten.

Noch einfacher (für dich), wenn Du einverstanden bist: du schickst mir Seriennummer und Passwort und ich schaue, was ich machen kann. Das bleibt aber deine Entscheidung  :P Am Ende setzt Du natürlich das Passwort zurück ;)
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline eldi0s

  • New Member
  • *
  • Beiträge: 9
Antw:HTTPMOD Login
« Antwort #92 am: 14 Mai 2020, 23:40:58 »
Oh klasse, bin sonst eher der Tüftler, aber das hört sich echt komplex an und bestätigt
was ich schon vermutet hatte.

Das Log von Firefox sowie Burp habe ich schon durch, es gibt keine anständigen
POST oder GET übergaben, geschweige denn Cookies, Tokens oder ähnliches.

Wenns dir wirklich nichts ausmacht wäre es toll wenn du dir das mal anschaust.

Serial und PW kommen per PM.

Bin echt mal gespannt.

Grüße,
eldi

Anbei noch die List und der Log

List:
Internals:
   BUSY       0
   DEF        https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX 60
   FUUID      5ebdb6d5-f33f-f9c6-55da-205a998280f5ff6c
   Interval   60
   LASTSEND   1589491475.97159
   MainURL    https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX
   ModuleVersion 3.5.22 - 7.2.2020
   NAME       freeairXXXXX
   NOTIFYDEV  global
   NR         268
   NTFY_ORDER 50-freeairXXXXX
   STATE      ???
   TRIGGERTIME 1589491535.96995
   TRIGGERTIME_FMT 2020-05-14 23:25:35
   TYPE       HTTPMOD
   addr       https://www.freeair-connect.de:443
   auth       0
   code       200
   compress   1
   conn       
   data       
   displayurl https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX
   header     Cookie: $sid
   host       www.freeair-connect.de
   httpheader HTTP/1.1 200 OK
Date: Thu, 14 May 2020 21:24:36 GMT
Server: Apache
Upgrade: h2,h2c
Connection: Upgrade, close
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Type: text/html
   httpversion 1.0
   hu_blocking 0
   hu_filecount 2
   hu_port    443
   hu_portSfx
   ignoreredirects 1
   loglevel   4
   path       /tabs.php?seriennumber=XXXXX
   protocol   https
   redirects  0
   timeout    2
   url        https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX
   value      0
   CompiledRegexes:
   Helper:
     DBLOG:
       Airflow:
         myDbLog:
           TIME       1589491476.84477
           VALUE      3
   QUEUE:
   READINGS:
     2020-05-14 23:24:36   Airflow         3
   REQUEST:
     data       
     header     Cookie: $sid
     ignoreredirects 0
     retryCount 0
     type       update
     url        https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX
     value      0
   defptr:
     readingBase:
       Airflow    reading
     readingNum:
       Airflow    01
     readingOutdated:
     requestReadings:
       update:
         Airflow    reading 01
   sslargs:
Attributes:
   clearSIdBeforeAuth 1
   disable    0
   reAuthRegex (class="login-item"|Bad Request)
   reading01Name Airflow
   reading01Regex air_flow_val".*?>([\d]+)
   requestHeader1 Cookie: $sid
   room       Lüftung
   sid01IdRegex (ASP.NET_SessionId[^;\n]+)
   sid02Data  password=XXXXXXXX&Remember=false
   sid02Header1 Cookie: $sid
   sid02IdRegex Cookie: ([^\n]+)
   sidURL     https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX
   userattr   reading01Name reading01Regex requestHeader1 requestHeader2 sid01Data sid01Header1 sid01IdRegex sid01IgnoreRedirects:0,1 sid01URL sid02Data sid02Header1 sid02IdRegex sid02URL sidURL
   verbose    5

Log: (in der Mitte fehlt ein Teil, wäre sonst zu lang)
2020.05.14 23:29:36 5: freeairXXXXX: GetUpdate called (update)
2020.05.14 23:29:36 5: freeairXXXXX: update timer modified: will call GetUpdate in 60.0 seconds at 2020-05-14 23:30:36
2020.05.14 23:29:36 5: freeairXXXXX: AddToQueue adds type update to URL https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX, no data, header Cookie: $sid, retry 0, initial queue len: 0
2020.05.14 23:29:36 5: freeairXXXXX: HandleSendQueue called, qlen = 1
2020.05.14 23:29:36 4: freeairXXXXX: HandleSendQueue sends update with timeout 2 to https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX, No Data,
header: Cookie: $sid
2020.05.14 23:29:36 5: HttpUtils url=https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX
2020.05.14 23:29:36 4: IP: www.freeair-connect.de -> 85.13.147.2
2020.05.14 23:29:36 5: HttpUtils request header:
GET /tabs.php?seriennumber=XXXXX HTTP/1.0
Host: www.freeair-connect.de
User-Agent: fhem
Accept-Encoding: gzip,deflate
Cookie: $sid

2020.05.14 23:29:36 4: https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX: HTTP response code 200
2020.05.14 23:29:36 5: HttpUtils https://www.freeair-connect.de/tabs.php?seriennumber=XXXXX: Got data, length: 57757
2020.05.14 23:29:36 5: HttpUtils response header:
HTTP/1.1 200 OK
Date: Thu, 14 May 2020 21:29:36 GMT
Server: Apache
Upgrade: h2,h2c
Connection: Upgrade, close
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Type: text/html
2020.05.14 23:29:36 4: freeairXXXXX: Read callback: request type was update retry 0,
header: HTTP/1.1 200 OK
Date: Thu, 14 May 2020 21:29:36 GMT
Server: Apache
Upgrade: h2,h2c
Connection: Upgrade, close
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Type: text/html, body length 57757
2020.05.14 23:29:36 5: freeairXXXXX: Read callback: body
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="shortcut icon" href="images/BM.png">
<title>
freeAir - Remote Connect
</title>
<link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet">
<link href="css_min/src/bootstrap.min.css" rel="stylesheet" type="text/css">
<link href="css_min/src/jquery.jscrollpane.css" rel="stylesheet" type="text/css" media="all" />
<link href="css_min/page.min.css" rel="stylesheet" type="text/css">
<link href="css_min/detail.min.css" rel="stylesheet" type="text/css">
<!--link href="css/diagram.css" rel="stylesheet" type="text/css"-->
<link href="css_min/button.min.css" rel="stylesheet" type="text/css">
<link href="css_min/table.min.css" rel="stylesheet" type="text/css" media="all">
<link href="css_min/popup.min.css" rel="stylesheet" type="text/css" media="all">
<link href="css_min/media.min.css" rel="stylesheet" type="text/css">
<!--link href="css/chart.css" rel="stylesheet" type="text/css" media="all"-->
<script type="text/javascript" src="js_min/jquery/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="js_min/src/bootstrap.min.js"></script>
<script type="text/javascript" src="js_min/src/jquery.mousewheel.js"></script>
<script type="text/javascript" src="js_min/src/jquery.jscrollpane.min.js"></script>
<script type="text/javascript" src="js_min/src/modernizr-custom.js"></script>
<script type="text/javascript" src="js_min/src/inde.min.js"></script>
        <script type="text/javascript" src="js_min/def.min.js"> </script>
<script type="text/javascript" src="js_min/faAES.min.js"> </script>
<!-- script type="text/javascript" src="js/createChart.js"> </script-->
<script type="text/javascript" src="js_min/helpCreatePrimBlobObject.min.js"> </script>
<script type="text/javascript" src="js_min/fillOverviewAndDetails.min.js"> </script>
<script type="text/javascript" src="js_min/helpCreateSecBlobObject.min.js"> </script>
<script type="text/javascript" src="js_min/helpParseBlob.min.js"> </script>
<script type="text/javascript" src="js_min/createPBO.min.js"> </script>
<script type="text/javascript" src="js_min/createSBO.min.js"> </script>
<script type="text/javascript" src="js_min/translation.min.js"> </script>
<script type="text/javascript" src="js_min/main.min.js"></script>
<script type="text/javascript" src="js_min/button.min.js"></script>
        <script type="text/javascript" src="js_min/getDataFce.min.js"></script>
        <script type="text/javascript" src="js_min/srn.min.js"></script>
        <script type="text/javascript" src="js_min/key.min.js"></script>
        <script type="text/javascript" src="js_min/scriptfce.min.js"></script>
<!--script type="text/javascript" src="js/diagram.js"></script-->
</head>

<body>
<noscript>
<p class="noscript en">This website needs JavaScript to be shown properly. See bluMartin Help. </p>
<p class="noscript de">Diese Seite benötigt JavaScript, um korrekt dargestellt zu werden. Anleitung in bluMartin Hilfe.</p>
</noscript>
<div class="page">
<header id="top" class="page-header navbar navbar-default">
<div id="logo_desktop" class="logo hidden-xs"><a href="#"><img src="images/logo.png" height="33" width="253" alt="freeAirConnect"></a></div>
<div id="logo_mobile" class="logo hidden-sm hidden-md hidden-lg"><a href="#"><img src="images/logoMobile.png" height="27" width="164" alt="freeAirConnect"></a></div>
<form action="tabs.php" class="form-search form-inline" method = "post">
<div class="form-group" id="input_popover">
<input type="text"
   name="seriennumber"
   id="seriennumber"
   class="form-control"
   placeholder=""
   data-toggle="popover"
   data-placement="bottom"
   data-trigger="manual"
>
<input id="SerNrLS" style="display: none">
<input id="po_on" style="display: none" value="off">
<button type="submit">Go</button>
</div>
</form>
<div id="key_icon" class="logo1" onclick="editKeyPopup()"><img src="images/key_icon.png" width="34" height="16"></div>
<div class="collapse navbar-collapse pull-right" id="main-nav">
<ul class="nav nav-tabs my-nav">
<li><a id="OV_overview" href="#nav1" data-toggle="tab" class="trans">Overview</a></li>
<li><a id="OV_details" href="#nav2" data-toggle="tab" class="trans">Details</a></li>
<!-- li><a id="OV_diagrams" href="#nav3" data-toggle="tab" class="trans">Diagrams</a></li-->
<li><a id="OV_minute_values" href="#nav4" data-toggle="tab" class="trans">Minute Values</a></li>
<li><a id="OV_daily_values" href="#nav5" data-toggle="tab" class="trans">Daily Values</a></li>
<li><a id="OV_monthly_values" href="#nav6" data-toggle="tab" class="trans">Monthly Values</a></li>
<li><a id="OV_help" href="#nav7" data-toggle="tab" class = "trans">Help</a></li>
</ul>
</div>
<div class="dropdown lang-dropdown">
<div class="dropdown-toggle" id="lang-menu-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span class="current"><img src="images/eng.png" width="34" height="16"></span>
<span class="caret"></span>
</div>
<ul id="lang-menu" class="dropdown-menu" aria-labelledby="lang-menu-toggle">
<li id="flag_en"><a href="javascript:getLang('en')"><img src="images/eng.png" width="34" height="16"></a></li>
<li id="flag_de"><a href="javascript:getLang('de')"><img src="images/de.png" width="34" height="16"></a></li>
</ul>
</div>
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#main-nav" aria-expanded="false">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
</header>
<div class="page-content tab-content">
<div role="tabpanel" class="tab-pane active" id="nav1">
                    <div id="error_div" style="display: none"></br><p id="red-error" align="left"><span id="err_msg" class="err trans">Error:</span><span>  </span><span id="error_msg_en" class="en err"></span>
                                                            <span id="error_msg_de" class="de err"></span><span></span><span id="switch-off" class= "err trans"></span></p> </div>
                            <div class="flex-column stretched">
                               
<div class="overview-list">
<div class="overview-item item-1">
<div class="overview-main">
<h3 id="OV_air_flow" class="name trans">Air Flow</h3>
<p class="value" id="air_flow"><span id="air_flow_val"></span><span class="units"> m<sup>3</sup>/h</span></p>
</div>
</div>
<div class="overview-item item-5">
<div class="overview-type">
<h3 id="OV_outdoor" class="name text-outdoor trans">Outdoor</h3>
<div class="values">
<p class="value"><span class="label trans" id="OV_temperature_outdoor">Temperature</span><span id="outdoor_temp_val"></span><span class="units"> ℃</span></p>
<p class="value"><span class="label"><span class="trans" id="OV_humidity_rel_outdoor">Humidity</span><span> (rel)</span></span><span id="outdoor_hum_rel_val"></span><span class="units"> %</span></p>
<p class="value"><span class="label"><span class="trans" id="OV_humidity_abs_outdoor">Humidity</span><span> (abs)</span></span><span id="outdoor_hum_abs_val"></span><span class="units"> g/m<sup>3</sup></span></p>
</div>
</div>
</div>
<div class="overview-item item-2">
<div class="overview-main">
<h3 id="OV_heat_recovery" class="name trans">Heat Recovery</h3>
<h3 id="OV_cooling_power" class="name trans power">Cooling Power</h3>
<p id="heat_recovery_p" class="value"><span id="heat_recovery_val"></span><span class="units"> %</span></p>
<p id="cooling_power_p" class="value power"><span id="cooling_power_val"></span><span class="units"> W</span></p>
</div>
</div>
<div class="overview-item item-6">
<div class="overview-type">
<h3 id="OV_supply" class="name text-supply trans">Supply</h3>
<div class="values">
<p class="value"><span class="label trans" id="OV_temperature_supply">Temperature</span><span id="supply_temp_val"></span><span class="units"> ℃</span></p>
</div>
</div>
</div>
<div class="overview-item item-3">
<div class="overview-main">
<h3 id="OV_power_recovery" class="name trans">Energy Recovery</h3>
<p id="power_recovery_p" class="value"><span id="power_recovery_val"></span><span class="units"> W</span></p>
</div>
<button class="btn-img" onclick="buttonAction()"></button>
</div>
<div class="overview-item item-7">
<div class="overview-type">
<h3 id="OV_extract" class="name text-extract trans">Extract</h3>
<div class="values">
<p class="value"><span class="label trans" id="OV_temperature_extract">Temperature</span><span id="extract_temp_val"></span><span class="units"> ℃</span></p>
<p class="value"><span class="label"><span class="trans" id="OV_humidity_rel_extract">Humidity</span><span> (rel)</span></span><span id="extract_hum_rel_val"></span><span class="units"> %</span></p>
<p class="value"><span class="label"><span class="trans" id="OV_humidity_abs_extract">Humidity</span><span> (abs)</span></span><span id="extract_hum_abs_val"></span><span class="units"> g/m<sup>3</sup></span>
</p>
<p class="value" id="extract_CO2"><span class="label">CO<sub>2</sub></span><span id="extract_CO2_val"></span><span class="units"> ppm</span>
</p>
</div>
</div>
</div>
<div class="overview-item item-4">
<div class="overview-grade">
<div class="grade-info">
<div class="grade-item">
<p id="OV_humidity_tl" class="label trans">Humidity</p>
<ul id="OV_traffic_lights_humidity" class="grade-type">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div class="grade-item">
<p class="label">CO<sub>2</sub></p>
<ul id="OV_traffic_lights_CO2" class="grade-type">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div class="grade-item">
<p id="OV_supply_filter_tl" class="label trans">Filter Supply</p>
<ul id="OV_tl_sf" class="grade-type">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div class="grade-item">
<p id="OV_extract_filter_tl" class="label trans">Filter Extract</p>
<ul id="OV_tl_ef" class="grade-type">
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div><!--grade item  -->
</div>
</div>
</div>
<div class="overview-item item-8">
<div class="overview-type">
<h3 id="OV_exhaust" class="name text-exhaust trans">Exhaust</h3>
<div class="values">
<p class="value"><span class="label trans" id="OV_temperature_exhaust">Temperature</span><span id="exhaust_temp_val"></span><span class="units"> ℃</span></p>
</div>
</div>
</div>
</div>
</div><!--flex column stretched  -->
</div><!--nav1  -->
<div onload="alert('super');" role="tabpanel" class="tab-pane" id="nav2">
<div class="container details-tab">
<div class="row">
<div class=" col-sm-6 col-md-5 col-md-offset-1 col-lg-4 col-lg-ofset-1 col-xs-12">
<div class="main-info">
<div class="info-row-details">
<h3 class="text-outdoor heading-details">Parameter</h3>
<div class="details-info">
<div class="values-details">
<p class="value-details parameter-name"><span id="D_operation_mode" class="trans">Operation Mode</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_OM" class="trans">OM</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_OM_val_en" class="details-1 detail-input en"></span><span id="D_OM_val_de" class="details-1 detail-input de"></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_comfort_level" class="trans">Comfort Level</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1">(CL)</span></p>
<p class="value-details parameter-value"><span id="D_CL_val" class="details-1 detail-input"></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_operation_hours" class="trans">Operation Hours</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_OPH" class="trans">OPH</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_OPH_val" class="details-1 detail-input" ></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_filter_hours" class="trans">Filter Hours</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_FIH" class="trans">FIH</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_FIH_val" class="details-1 detail-input"></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_room_area" class="trans">Room Area</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_RA" class="trans">RA</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_RA_val" class="details-1 detail-input"></span><span class="span">m<sup>2</sup></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_defrosting_mode" class="trans">Deicing</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_dei" class="trans">dfr</span><span>)</span></span></p>
<div class="value-details parameter-value">
<div class="checkbox">
<input id="D_dei_val" type="checkbox" onclick="return false;">
<label for="D_dei_val" id="D_deeicing_label"> </label>
</div>
</div>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_2nd_room_adapter" class="trans">2nd Room Adapter</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1">(2A)</span></p>
<p class="value-details parameter-value"><span id="D_2A_val" class="details-1 detail-input"></span><span class="span">m<sup>3</sup>/h</span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_fan_speed_supply" class="trans">Fan Speed Supply</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_FSS" class="trans">FSS</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_FSS_val" class="details-1 detail-input"></span><span class="span">1/min</span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_fan_speed_extract" class="trans">Fan Speed Extract</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_FSE" class="trans">FSE</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_FSE_val" class="details-1 detail-input"></span><span class="span">1/min</span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_software_version" class="trans">Software Version</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1">(SWV)</span></p>
<p class="value-details parameter-value"><span id="D_SWV_val" class="details-1 detail-input"></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_circuit_board_version" class="trans">Circuit Board Version</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1"><span>(</span><span id="D_CBV" class="trans">CBV</span><span>)</span></span></p>
<p class="value-details parameter-value"><span id="D_CBV_val" class="details-1 detail-input"></span></p>
</div>
<div class="values-details">
<p class="value-details parameter-name"><span id="D_serial_number" class="trans">Serial Number</span></p>
<p class="value-details parameter-abrev"><span class="abbrev-details-1">(SNR)</span></p>
<p class="value-details parameter-value"><span id="D_SNR_val" class="details-1 detail-input"></span></p>
</div>
</div>
</div><!--info-row-details  -->
</div><!-- main-info -->
</div>
<div class="col-sm-5 col-sm-offset-1 col-md-4 col-md-offset-1 col-lg-3 col-lg-offset-3 col-xl-3 col-xl-offset-2 col-xs-12">
<div class="main-info">
<div class="info-row-details program-reduction col-details-2">
<h3 id="D_program_heading"class="text-outdoor heading-details-2-3 trans">Program</h3>
<div class="details-info">
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_mve_val" type="checkbox" onclick="return false;">
<label for="D_mve_val" id="D_minimum_ventilation" class="trans">Minimum Ventilation</label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_mve" class="trans">mve</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_hrr_val" type="checkbox" onclick="return false;">
<label for="D_hrr_val" id="D_humidity_reduction_rel" class="trans">Humidity Reduction</label><span> (rel)</span>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_hrr" class="trans">hrr</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_hra_val" type="checkbox" onclick="return false;">
<label for="D_hra_val" id="D_humidity_reduction_abs" class="trans">Humidity Reduction</label><span> (abs)</span>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_hra" class="trans">hra</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_col_val" type="checkbox" onclick="return false;">
<label for="D_col_val" id="D_active_cooling" class="trans">Active Cooling</label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_col" class="trans">col</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_co2_val" type="checkbox" onclick="return false;">
<label for="D_co2_val" id="D_reduction_co2" class="trans">Reduction CO<sub>2</sub></label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1">(co2)</span></p>
</div>
</div>
</div><!-- info-row-details  -->
</div><!-- main-info -->
<div class="main-info">
<div class="info-row-details-3 program-reduction col-details-3" id="info-row-reduction">
<h3> <span id="D_reduction_heading" class="text-outdoor heading-details-2-3 trans">Reduction</span><span class="text-outdoor heading-details-2-3 without"> (mini)</span></h3>
<div class="details-info">
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_dfr_val" type="checkbox" onclick="return false;">
<label for="D_dfr_val" id="D_defrosting" class="trans">Defrosting</label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_dfr" class="trans">dfr</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_hin_val" type="checkbox" onclick="return false;">
<label for="D_hin_val" id="D_humidity_input" class="trans">Humidity Input</label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_hin" class="trans">hin</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_otb_val" type="checkbox" onclick="return false;">
<label for="D_otb_val" id="D_outdoor_temperature_below" class="trans">Outdoor Temperature</label><span> < -22 ℃</span></label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_otb" class="trans">otb</span><span>)</span></span></p>
</div>
<div class="values-details det-2-3">
<div class="value-details">
<div class="checkbox">
<input id="D_win_val" type="checkbox" onclick="return false;">
<label for="D_win_val" id="D_water_insertion" class="trans">Water Insertion</label>
</div>
</div>
<p class="value-details parameter-value-2-3"><span class="abbrev-details-1"><span>(</span><span id="D_win" class="trans">win</span><span>)</span></span></p>
</div><!--values-details  -->
</div>
</div><!--info-row-details  -->
</div><!-- main-info -->
</div>
</div>
</div><!--details-tab  -->
</div><!-- nav2 --> <div role="tabpanel" class="tab-pane" id="nav4">
<div class="container minute-tab">
<div class="row">
<div class=" col-sm-6 col-md-5 col-md-offset-1 col-xs-12">
<table id="table" class="table">
<tr>
<th><span id="PL_TIM" class="trans">TIM</span></th>
<td><span id="PL_timestamp" class="trans">Timestamp</span></td>
<td><span id="PL_TIM_val"></span></td>
</tr>
<tr>
<th><span id="PL_OM" class="trans">OM</span></th>
<td><span id="PL_operating_mode" class="trans">Operating Mode</span></td>
<td><span id="PL_OM_val_de" class="de"></span><span id="PL_OM_val_en" class="en"></span></td>
</tr>
<tr>
<th><span id="PL_PRG">PRG</span></th>
<td><span id="PL_program" class="trans">Program</span></td>
<td><span class="de" id="PL_PRG_val_de"></span><span class="en" id="PL_PRG_val_en"></span></td>
</tr>
<tr>
<th><span id="PL_RED">RED</span></th>
<td><span id="PL_reduction" class="trans">Reduction</span><span> (mini)</span></td>
<td><span id="PL_RED_val_de" class="de"></span><span id="PL_RED_val_en" class="en"></span></td>
</tr>
<tr>
<th><span id="PL_HR" class="trans">HR</span></th>
<td><span id="PL_humidity_reduction" class="trans">Humidity Reduction Mode</span></td>
<td><span id="PL_HR_val_de" class="de"></span><span id="PL_HR_val_en" class="en"></span></td>
</tr>
<tr>
<th><span id="PL_SC" class="trans">SC</span></th>
<td><span id="PL_summer_cooling" class="trans">Summer Cooling</span></td>
<td><span id="PL_SC_val_de" class="de"></span><span id="PL_SC_val_en" class="en"></span></td>
</tr>
<tr>
<th><span>CL</span></th>
<td><span id="PL_comfort_level" class="trans">Comfort Level</span></td>
<td><span id="PL_CL_val"></span></td>
</tr>
<tr>
<th><span id="PL_RA" class="trans">RA</span><span> [m<sup>2</sup>]</span></th>
<td><span id="PL_room_area" class="trans">Room Area</span></td>
<td><span id="PL_RA_val"></span></td>
</tr>
<tr>
<th><span>2A [m<sup>3</sup>/h]</span></th>
<td><span id="PL_2nd_room_adapter" class="trans">2nd Room Adapter</span></td>
<td><span id="PL_2A_val"></span></td>
</tr>
<tr>
<th><span id="PL_FSS" class="trans">FSS</span><span> [1/min]</span></th>
<td><span id="PL_fan_speed_supply" class="trans">Fan Speed Supply</span></td>
<td><span id="PL_FSS_val"></span></td>
</tr>
<tr>
<th><span id="PL_FSE" class="trans">FSE</span><span> [1/min]</span></th>
<td><span id="PL_fan_speed_extract" class="trans">Filter Speed Extract</span></span></td>
<td><span id="PL_FSE_val"></span></td>
</tr>
<tr>
<th><span id="PL_AFL" class="trans">AFL</span><span> [m<sup>3</sup>/h]</span></th>
<td><span id="PL_air_flow" class="trans">Air Flow</span></td>
<td><span id="PL_AFL_val"></span></td>
</tr>
<tr>
<th><span id="PL_TET" class="trans">TET</span><span> [℃]</span></th>
<td><span id="PL_extract_temperature" class="trans">Extract Temperature</span></td>
<td><span id="PL_TET_val"></span></td>
</tr>
<tr>
<th><span id="PL_HET" class="trans">HET</span><span> [%]</span></th>
<td><span id="PL_extract_humidity" class="trans">Extract Humidity</span><span> (rel)</span></td>
<td><span id="PL_HET_val"></span></td>
</tr>
<tr>
<th><span id="PL_TOU" class="trans">TOU</span><span> [℃]</span></th>
<td><span id="PL_outdoor_temperature" class="trans">Outdoor Temperature</span></td>
<td><span id="PL_TOU_val"></span></td>
</tr>
<tr>
<th><span id="PL_HOU" class="trans">HOU</span><span> [%]</span></th>
<td><span id="PL_outdoor_humidity" class="trans">Outdoor Humidity</span><span> (rel)</span></td>
<td><span id="PL_HOU_val"></span></td>
</tr>
<tr>
<th><span>CO<sub>2</sub> [ppm]</span></th>
<td><span>CO<sub>2</sub></span></td>
<td><span id="PL_CO2_val"></span></td>
</tr>
<tr>
<th><span id="PL_TSU" class="trans">TSU</span><span> [℃]</span></th>
<td><span id="PL_supply_temperature_sens" class="trans">Supply Temperature</span><!-- span> (sens)</span--></td>
<td><span id="PL_TSU_val"></span></td>
</tr>
<tr>
<th><span id="PL_TSC" class="trans">TSC</span><span> [℃]</span></th>
<td><span id="PL_supply_temperature" class="trans">Supply Temperature</span></td>
<td><span id="PL_TSC_val"></span></td>
</tr>
<tr>
<th><span id="PL_TEH" class="trans">TEH</span><span> [℃]</span></th>
<td><span id="PL_exhaust_temperature" class="trans">Exhaust Temperature</span></td>
<td><span id="PL_TEH_val"></span></td>
</tr>
<tr>
<th><span id="PL_APR" class="trans">APR</span><span> [hPa]</span></th>
<td><span id="PL_air_pressure" class="trans">Air Pressure</span></td>
<td><span id="PL_APR_val"></span></td>
</tr>
<tr>
<th><span id="PL_ADY" class="trans">ADY</span><span> [kg/m<sup>3</sup>]</span></th>
<td><span id="PL_air_density" class="trans">Air Density</span></td>
<td><span id="PL_ADY_val"></span></td>
</tr>
<tr>
<th><span id="PL_HRP" class="trans">HRP</span><span> [%]</span></th>
<td><span id="PL_heat_recovery_rel" class="trans">Heat Recovery</span><span> (rel)</span></td>
<td><span id="PL_HRP_val"></span></td>
</tr>
<tr>
<th><span id="PL_HRW" class="trans">HRW</span><span> [W]</span></th>
<td><span id="PL_heat_recovery_abs" class="trans">Heat Recovery</span><span> (abs)</span></td>
<td><span id="PL_HRW_val"></span></td>
</tr>
<tr>
<th><span id="PL_OPH" class="trans">OPH</span><span> [h]</span></th>
<td><span id="PL_operating_hours" class="trans">Operating hours</span></td>
<td><span id="PL_OPH_val"></span></td>
</tr>
<tr>
<th><span id="PL_FIH" class="trans">FIH</span><span> [h]</span></th>
<td><span id="PL_filter_hours" class="trans">Filter Hours</span></td>
<td><span id="PL_FIH_val"></span></td>
</tr>
<tr>
<th><span id="PL_SNR">SNR</span></th>
<td><span id="PL_serial_number" class="trans">Serial Number</span></td>
<td><span id="PL_SNR_val"></span></td>
</tr>
<tr>
<th><span id="PL_RSSI">RSSI</span><span> [dBm]</span></th>
<td><span id="PL_RSSI_value" class="trans">RSSI-Value</span></td>
<td><span id="PL_RSSI_val"></span></td>
</tr>
<tr>
<th><span id="PL_ES" class="trans">ES</span></th>
<td><span id="PL_error_state" class="trans">Error State</span></td>
                                <td><span id="PL_ES_val_de" class="de"></span><span id="PL_ES_val_en" class="en"></span></td>
</tr>
<tr>
<th><span>EFN</span></th>
<td><span>--</span></td>
<td><span id="PL_EFN_val"></span></td>
</tr>
<tr>
<th><span>ELN</span></th>
<td><span>--</span></td>
<td><span id="PL_ELN_val"></span></td>
</tr>
<tr>
<th><span>ECO</span></th>
<td><span>--</span></td>
<td><span id="PL_ECO_val"></span></td>
</tr>
<tr>
<th><span>VPE</span></th>
<td><span>--</span></td>
<td><span id="PL_VPE_val"></span></td>
</tr>
<tr>
<th><span>VBY</span></th>
<td><span>--</span></td>
<td><span id="PL_VBY_val"></span></td>
</tr>
<tr>
<th><span>VBA</span></th>
<td><span>--</span></td>
<td><span id="PL_VBA_val"></span></td>
</tr>
<tr>
<th><span>VPS</span></th>
<td><span>--</span></td>
<td><span id="PL_VPS_val"></span></td>
</tr>
<tr>
<th><span>TPE</span></th>
<td><span>--</span></td>
<td><span id="PL_TPE_val"></span></td>
</tr>
<tr>
<th><span>TBY</span></th>
<td><span>--</span></td>
<td><span id="PL_TBY_val"></span></td>
</tr>
<tr>
<th><span>TBA</span></th>
<td><span>--</span></td>
<td><span id="PL_TBA_val"></span></td>
</tr>
<tr>
<th><span>TPS</span></th>
<td><span>--</span></td>
<td><span id="PL_TPS_val"></span></td>
</tr>
<tr>
<th><span>FSF</span></th>
<td><span>--</span></td>
<td><span id="PL_FSF_val"></span></td>
</tr>
<tr>
</div>
</div><!-- page -->
<input id = "seriennumberPHP" type = "hidden" name = "seriennumberPHP" value = XXXXX></input><input id = "seriennumberName" type = "hidden" name = "seriennumberName" value = XXXXXX></input><div style="display: none"><span id = "msg_wrong_key_prim" style="display: none" class = "trans"></span></div><script src = "js_min/hexHelp.min.js"></script>
<script src = "js_min/getData.min.js"></script>
<script src = "js_min/script.min.js">
 
</script>
</body>
</html>


2020.05.14 23:29:36 4: freeairXXXXX: Read found no charset header (bodyDecode was set to auto)
2020.05.14 23:29:36 5: freeairXXXXX: GetCookies is looking for Cookies
2020.05.14 23:29:36 5: freeairXXXXX: ExtractSid called, context reading, num
2020.05.14 23:29:36 4: freeairXXXXX: checking for redirects, code=200, ignore=0
2020.05.14 23:29:36 4: freeairXXXXX: no redirects to handle
2020.05.14 23:29:36 5: freeairXXXXX: GetRegex found precompiled reAuthRegex for  as (?^:(class="login-item"|Bad Request))
2020.05.14 23:29:36 5: freeairXXXXX: CheckAuth is checking buffer with ReAuthRegex (?^:(class="login-item"|Bad Request))
2020.05.14 23:29:36 5: freeairXXXXX: CheckAuth decided no authentication required
2020.05.14 23:29:36 5: freeairXXXXX: Read starts parsing response to update with defined readings: 01
2020.05.14 23:29:36 5: freeairXXXXX: GetRegex found precompiled Regex for reading01 as (?^:air_flow_val".*?>([\d]+))
2020.05.14 23:29:36 5: freeairXXXXX: ExtractReading Airflow with regex /(?^:air_flow_val".*?>([\d]+))/...
2020.05.14 23:29:36 5: freeairXXXXX: 1 matches, matchlist = 3
2020.05.14 23:29:36 5: freeairXXXXX: ExtractReading for reading01-1 sets Airflow to 3
2020.05.14 23:29:36 4: freeairXXXXX: Read response matched 1, unmatch 0 Reading(s)
2020.05.14 23:29:36 5: freeairXXXXX: Read response to update matched Airflow
2020.05.14 23:29:36 5: freeairXXXXX: HandleSendQueue called, qlen = 0
« Letzte Änderung: 14 Mai 2020, 23:47:34 von eldi0s »

Online amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6004
Antw:HTTPMOD Login
« Antwort #93 am: 15 Mai 2020, 20:56:35 »
Hmmm... das wird schwierig. Das ist kein normales Login Verfahren.

Alles geht über Javascript: die Seite ruft die Daten ab über die URL
https://www.freeair-connect.de/getDataHexAjax.php
und dann dekodiert das Ergebnis
Zitat
OEvobMe9abVA2ltVwu77l4swpFadV3jiMOyaHVsWxIbqpqTQ5HKPTA4F/ZBn1Ctbtimestamp2020-05-15 19:55:09timestamp2x5x0timestamp0x0x0timestamp0=sbay1CR11SlcJC1oBqg0URt51mGolTekWdSGeoSTn0CbicYKpBaYjZoPa7n2nmiR&1=O3vJkQQh9u4tiDby7trWG4Mqgw9uWr3ue9Q9xGX9QZRCCUoYCX83nc%2BQNkQpTM55&2=hCWPm6tOAsAy0onnv65byPgweLDct5Zm4g8qlqgx%2FMKLpl3yE360LCzsahX%2B7GPVtimestamp0=2020-05-15+20%3A13%3A09&1=2020-05-14+19%3A19%3A49&2=2019-11-21+22%3A03%3A45timestamp0=2x5x0&1=2x5x0&2=2x4x0timestamp0=0x0x0&1=0x0x0&2=0x0x0timestampNULLtimestampNULLtimestampNULLtimestampNULLtimestampPHRhYmxlIGlkPSJ0YWJsZV9kYWlseSIgY2xhc3M9InRhYmxlIHRhYmxlLXNlYyI+PHRyY2xhc3M9ImZpc3Qtcm93Ij48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9USU0iIGNsYXNzPSJzZWMtYWJicmV2Ij5USU08c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9USU1fMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX1RJTV8xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfVElNXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX1JFUyIgY2xhc3M9InNlYy1hYmJyZXYiPlJFUzxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX1JFU18wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfUkVTXzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9SRVNfMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfVEVUIiBjbGFzcz0ic2VjLWFiYnJldiI+VEVUPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfVEVUXzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9URVRfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX1RFVF8yIj48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9IRVQiIGNsYXNzPSJzZWMtYWJicmV2Ij5IRVQ8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9IRVRfMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX0hFVF8xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfSEVUXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX1RPVSIgY2xhc3M9InNlYy1hYmJyZXYiPlRPVTxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX1RPVV8wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfVE9VXzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9UT1VfMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfSE9VIiBjbGFzcz0ic2VjLWFiYnJldiI+SE9VPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfSE9VXzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9IT1VfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX0hPVV8yIj48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9DTzIiIGNsYXNzPSJzZWMtYWJicmV2Ij5DTzI8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9DTzJfMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX0NPMl8xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfQ08yXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX1RTVSIgY2xhc3M9InNlYy1hYmJyZXYiPlRTVTxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX1RTVV8wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfVFNVXzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9UU1VfMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfVEVIIiBjbGFzcz0ic2VjLWFiYnJldiI+VEVIPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfVEVIXzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9URUhfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX1RFSF8yIj48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9BUFIiIGNsYXNzPSJzZWMtYWJicmV2Ij5BUFI8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9BUFJfMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX0FQUl8xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfQVBSXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX0FEWSIgY2xhc3M9InNlYy1hYmJyZXYiPkFEWTxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX0FEWV8wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfQURZXzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9BRFlfMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfSFJQIiBjbGFzcz0ic2VjLWFiYnJldiI+SFJQPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfSFJQXzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9IUlBfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX0hSUF8yIj48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9TTlIiIGNsYXNzPSJzZWMtYWJicmV2Ij5TTlI8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9TTlJfMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX1NOUl8xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfU05SXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX0RMMSIgY2xhc3M9InNlYy1hYmJyZXYiPkRMMTxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX0RMMV8wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfREwxXzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9ETDFfMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfREwyIiBjbGFzcz0ic2VjLWFiYnJldiI+REwyPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfREwyXzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9ETDJfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX0RMMl8yIj48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9ETDMiIGNsYXNzPSJzZWMtYWJicmV2Ij5ETDM8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9ETDNfMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX0RMM18xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfREwzXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX0RMNCIgY2xhc3M9InNlYy1hYmJyZXYiPkRMNDxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX0RMNF8wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfREw0XzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9ETDRfMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfREw1IiBjbGFzcz0ic2VjLWFiYnJldiI+REw1PHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfREw1XzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9ETDVfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX0RMNV8yIj48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9EU00iIGNsYXNzPSJzZWMtYWJicmV2Ij5EU008c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9EU01fMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX0RTTV8xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfRFNNXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX0RUTSIgY2xhc3M9InNlYy1hYmJyZXYiPkRUTTxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX0RUTV8wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfRFRNXzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9EVE1fMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfRDFSIiBjbGFzcz0ic2VjLWFiYnJldiI+RDFSPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfRDFSXzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9EMVJfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX0QxUl8yIj48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9EREYiIGNsYXNzPSJzZWMtYWJicmV2Ij5EREY8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9EREZfMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX0RERl8xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfRERGXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX0RNViIgY2xhc3M9InNlYy1hYmJyZXYiPkRNVjxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX0RNVl8wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfRE1WXzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9ETVZfMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfRFdJIiBjbGFzcz0ic2VjLWFiYnJldiI+RFdJPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfRFdJXzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9EV0lfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX0RXSV8yIj48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9ESEkiIGNsYXNzPSJzZWMtYWJicmV2Ij5ESEk8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9ESElfMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX0RISV8xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfREhJXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX0RSQSIgY2xhc3M9InNlYy1hYmJyZXYiPkRSQTxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX0RSQV8wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfRFJBXzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9EUkFfMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfRFJSIiBjbGFzcz0ic2VjLWFiYnJldiI+RFJSPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfRFJSXzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9EUlJfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX0RSUl8yIj48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9EQ08iIGNsYXNzPSJzZWMtYWJicmV2Ij5EQ088c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9EQ09fMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX0RDT18xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfRENPXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX0RDMiIgY2xhc3M9InNlYy1hYmJyZXYiPkRDMjxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX0RDMl8wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfREMyXzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9EQzJfMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfSFJVIiBjbGFzcz0ic2VjLWFiYnJldiI+SFJVPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfSFJVXzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9IUlVfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX0hSVV8yIj48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9IUk4iIGNsYXNzPSJzZWMtYWJicmV2Ij5IUk48c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9IUk5fMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX0hSTl8xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfSFJOXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX0VYRSIgY2xhc3M9InNlYy1hYmJyZXYiPkVYRTxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX0VYRV8wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfRVhFXzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9FWEVfMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfUkVFIiBjbGFzcz0ic2VjLWFiYnJldiI+UkVFPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfUkVFXzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9SRUVfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX1JFRV8yIj48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9QQ08iIGNsYXNzPSJzZWMtYWJicmV2Ij5QQ088c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9QQ09fMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX1BDT18xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfUENPXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX0NPRSIgY2xhc3M9InNlYy1hYmJyZXYiPkNPRTxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX0NPRV8wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfQ09FXzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9DT0VfMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfQUVYIiBjbGFzcz0ic2VjLWFiYnJldiI+QUVYPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfQUVYXzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9BRVhfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX0FFWF8yIj48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9XQVIiIGNsYXNzPSJzZWMtYWJicmV2Ij5XQVI8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9XQVJfMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX1dBUl8xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfV0FSXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX0VTIiBjbGFzcz0ic2VjLWFiYnJldiI+RVM8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9FU18wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfRVNfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX0VTXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX0VGTiIgY2xhc3M9InNlYy1hYmJyZXYiPkVGTjxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX0VGTl8wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfRUZOXzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9FRk5fMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfRUxOIiBjbGFzcz0ic2VjLWFiYnJldiI+RUxOPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfRUxOXzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9FTE5fMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX0VMTl8yIj48L3NwYW4+PC90ZD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJUVl9FQ08iIGNsYXNzPSJzZWMtYWJicmV2Ij5FQ088c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDAiPjxzcGFuIGlkPSJUVl9FQ09fMCI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMSI+PHNwYW4gaWQ9IlRWX0VDT18xIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQyIj48c3BhbiBpZD0iVFZfRUNPXzIiPjwvc3Bhbj48L3RkPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9IlRWX0ZTRiIgY2xhc3M9InNlYy1hYmJyZXYiPkZTRjxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMCI+PHNwYW4gaWQ9IlRWX0ZTRl8wIj48L3NwYW4+PC90ZD48dGQgY2xhc3M9InNlY0xvZ1RkIFQxIj48c3BhbiBpZD0iVFZfRlNGXzEiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDIiPjxzcGFuIGlkPSJUVl9GU0ZfMiI+PC9zcGFuPjwvdGQ+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iVFZfRkVGIiBjbGFzcz0ic2VjLWFiYnJldiI+RkVGPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48dGQgY2xhc3M9InNlY0xvZ1RkIFQwIj48c3BhbiBpZD0iVFZfRkVGXzAiPjwvc3Bhbj48L3RkPjx0ZCBjbGFzcz0ic2VjTG9nVGQgVDEiPjxzcGFuIGlkPSJUVl9GRUZfMSI+PC9zcGFuPjwvdGQ+PHRkIGNsYXNzPSJzZWNMb2dUZCBUMiI+PHNwYW4gaWQ9IlRWX0ZFRl8yIj48L3NwYW4+PC90ZD48L3RyPjwvdHI+PC90YWJsZT4=timestampPHRhYmxlIGlkPSJ0YWJsZV9tb250aGx5IiBjbGFzcz0idGFibGUgdGFibGUtc2VjIj48dHJjbGFzcz0iZmlzdC1yb3ciPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX1RJTSIgY2xhc3M9InNlYy1hYmJyZXYiPlRJTTxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfUkVTIiBjbGFzcz0ic2VjLWFiYnJldiI+UkVTPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9URVQiIGNsYXNzPSJzZWMtYWJicmV2Ij5URVQ8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX0hFVCIgY2xhc3M9InNlYy1hYmJyZXYiPkhFVDxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfVE9VIiBjbGFzcz0ic2VjLWFiYnJldiI+VE9VPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9IT1UiIGNsYXNzPSJzZWMtYWJicmV2Ij5IT1U8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX0NPMiIgY2xhc3M9InNlYy1hYmJyZXYiPkNPMjxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfVFNVIiBjbGFzcz0ic2VjLWFiYnJldiI+VFNVPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9URUgiIGNsYXNzPSJzZWMtYWJicmV2Ij5URUg8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX0FQUiIgY2xhc3M9InNlYy1hYmJyZXYiPkFQUjxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfQURZIiBjbGFzcz0ic2VjLWFiYnJldiI+QURZPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9IUlAiIGNsYXNzPSJzZWMtYWJicmV2Ij5IUlA8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX1NOUiIgY2xhc3M9InNlYy1hYmJyZXYiPlNOUjxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfREwxIiBjbGFzcz0ic2VjLWFiYnJldiI+REwxPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9ETDIiIGNsYXNzPSJzZWMtYWJicmV2Ij5ETDI8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX0RMMyIgY2xhc3M9InNlYy1hYmJyZXYiPkRMMzxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfREw0IiBjbGFzcz0ic2VjLWFiYnJldiI+REw0PHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9ETDUiIGNsYXNzPSJzZWMtYWJicmV2Ij5ETDU8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX0RTTSIgY2xhc3M9InNlYy1hYmJyZXYiPkRTTTxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfRFRNIiBjbGFzcz0ic2VjLWFiYnJldiI+RFRNPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9EMVIiIGNsYXNzPSJzZWMtYWJicmV2Ij5EMVI8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX0RERiIgY2xhc3M9InNlYy1hYmJyZXYiPkRERjxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfRE1WIiBjbGFzcz0ic2VjLWFiYnJldiI+RE1WPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9EV0kiIGNsYXNzPSJzZWMtYWJicmV2Ij5EV0k8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX0RISSIgY2xhc3M9InNlYy1hYmJyZXYiPkRISTxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfRFJBIiBjbGFzcz0ic2VjLWFiYnJldiI+RFJBPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9EUlIiIGNsYXNzPSJzZWMtYWJicmV2Ij5EUlI8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX0RDTyIgY2xhc3M9InNlYy1hYmJyZXYiPkRDTzxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfREMyIiBjbGFzcz0ic2VjLWFiYnJldiI+REMyPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9IUlUiIGNsYXNzPSJzZWMtYWJicmV2Ij5IUlU8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX0hSTiIgY2xhc3M9InNlYy1hYmJyZXYiPkhSTjxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfRVhFIiBjbGFzcz0ic2VjLWFiYnJldiI+RVhFPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9SRUUiIGNsYXNzPSJzZWMtYWJicmV2Ij5SRUU8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX1BDTyIgY2xhc3M9InNlYy1hYmJyZXYiPlBDTzxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfQ09FIiBjbGFzcz0ic2VjLWFiYnJldiI+Q09FPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9BRVgiIGNsYXNzPSJzZWMtYWJicmV2Ij5BRVg8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX1dBUiIgY2xhc3M9InNlYy1hYmJyZXYiPldBUjxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfRVMiIGNsYXNzPSJzZWMtYWJicmV2Ij5FUzxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfRUZOIiBjbGFzcz0ic2VjLWFiYnJldiI+RUZOPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9FTE4iIGNsYXNzPSJzZWMtYWJicmV2Ij5FTE48c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PHRyPjx0aCBjbGFzcz0iaGVhZGNvbCI+PHNwYW4gaWQ9Ik1WX0VDTyIgY2xhc3M9InNlYy1hYmJyZXYiPkVDTzxzcGFuIGNsYXNzPSJ0dC10ZXh0Ij48L3NwYW4+PC9zcGFuPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJoZWFkY29sIj48c3BhbiBpZD0iTVZfRlNGIiBjbGFzcz0ic2VjLWFiYnJldiI+RlNGPHNwYW4gY2xhc3M9InR0LXRleHQiPjwvc3Bhbj48L3NwYW4+PC90aD48L3RyPjx0cj48dGggY2xhc3M9ImhlYWRjb2wiPjxzcGFuIGlkPSJNVl9GRUYiIGNsYXNzPSJzZWMtYWJicmV2Ij5GRUY8c3BhbiBjbGFzcz0idHQtdGV4dCI+PC9zcGFuPjwvc3Bhbj48L3RoPjwvdHI+PC90cj48L3RhYmxlPg==

anhand der Key (Passwort) durch eine JS Funktion  und füllt die Felder in der Seite aus. Man müsste alle Javascript Funktionen nachbauen.
« Letzte Änderung: 15 Mai 2020, 20:59:40 von amenomade »
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Online amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6004
Antw:HTTPMOD Login
« Antwort #94 am: 15 Mai 2020, 21:57:21 »
Ich bore weiter in den Code...

Erstmal ein split, um die Felder zu holen.
Dann ein base64decode. Sollte mit "use Encode" machbar sein.
Dann ein AESdecode (CBC) mit der Key (ergänzt mit Nullen bis Länge 16)und einem Initialisation Vector = [0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d,0x0e,0x0f]
Sollte mit "use Crypt::Mode::CBC" auch machbar sein.

Aber gut... viel Spaß ;)
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline eldi0s

  • New Member
  • *
  • Beiträge: 9
Antw:HTTPMOD Login
« Antwort #95 am: 15 Mai 2020, 22:54:32 »
Oh weh. Leider nur Bahnhof für mich  :-\

Aber danke für deine Mühe, evtl. mach ich mich
im Sommerurlaub mal dran. Muss davor etwas
Javascript studieren.

Grüße,
eldi

Online amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6004
Antw:HTTPMOD Login
« Antwort #96 am: 17 Mai 2020, 20:08:03 »
 So jetzt...
Ich habe die Decodierung nachgebaut. Da es sehr spezifisch ist (mehr Code als HTTPMOD Sachen), habe ich ein neues Thread gemacht:
https://forum.fhem.de/index.php/topic,111294.0.html

   READINGS:
     2020-05-17 19:50:06   AbsHumExtract   8.3
     2020-05-17 19:50:06   AbsHumOutdoor   6.2
     2020-05-17 19:50:06   AirFlow         20
     2020-05-17 19:50:06   AirFlowAve      20
     2020-05-17 19:50:06   CFA             0
     2020-05-17 19:50:06   CO2             528
     2020-05-17 19:50:06   CSU             171
     2020-05-17 19:50:06   ComfortLevel    3
     2020-05-17 19:50:06   CtrlSet2ndVent  3
     2020-05-17 19:50:06   CtrlSetBypVent  3
     2020-05-17 19:50:06   CtrlSetExtVent  3
     2020-05-17 19:50:06   CtrlSetSupVent  3
     2020-05-17 19:50:06   Deicing         0
     2020-05-17 19:50:06   ErrorCode       0
     2020-05-17 19:50:06   ErrorState      0
     2020-05-17 19:50:06   FEC             26
     2020-05-17 19:50:06   FSC             26
     2020-05-17 19:50:06   FanExtractRPM   863
     2020-05-17 19:50:06   FanLim2ndRoom   0
     2020-05-17 19:50:06   FanSpeed        2
     2020-05-17 19:50:06   FanSupplyRPM    805
     2020-05-17 19:50:06   FilterExtractFul 0
     2020-05-17 19:50:06   FilterHours     2013
     2020-05-17 19:50:06   FilterSupplyFul 0
     2020-05-17 19:50:06   HumExtract      39
     2020-05-17 19:50:06   HumOutdoor      35
     2020-05-17 19:50:06   HumRedMode      0
     2020-05-17 19:50:06   OperatingHours  2733
     2020-05-17 19:50:06   Pressure        833
     2020-05-17 19:50:06   RSSI            -72
     2020-05-17 19:50:06   S1              0
     2020-05-17 19:50:06   S2              10
     2020-05-17 19:50:06   S3              0
     2020-05-17 19:50:06   S4              0
     2020-05-17 19:50:06   S5              1
     2020-05-17 19:50:06   S6              33
     2020-05-17 19:50:06   State           0
     2020-05-17 19:50:06   SumCooling      0
     2020-05-17 19:50:06   TempExhaust     21.5
     2020-05-17 19:50:06   TempExtract     23.5
     2020-05-17 19:50:06   TempOutdoor     20.875
     2020-05-17 19:50:06   TempSupply      23.25
     2020-05-17 19:50:06   TempVirtSupExit 23.25
     2020-05-17 19:50:06   VentPosBath     31
     2020-05-17 19:50:06   VentPosExtract  25
     2020-05-17 19:50:06   VentPosSupply   31
     2020-05-17 19:50:06   b2ndRoomOnly20  0
     2020-05-17 17:21:44   rawData         ...

« Letzte Änderung: 17 Mai 2020, 20:43:36 von amenomade »
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

 

decade-submarginal