Hauptmenü

httpmod für jede Webseite ?

Begonnen von en-trust, 17 Juni 2016, 13:05:59

Vorheriges Thema - Nächstes Thema

en-trust

Moin.

Als Anfänger hatte ich mich an das httpmod gewagt. Ich wollte gerne die Wirtschaftsdtn des Kalenders von https://www.boerse-go.de/service/termine au meiner fhem seite integrieren.

define PM HTTPMOD https://www.boerse-go.de/service/termine 60
attr PM event-on-update-reading .*
attr PM userattr reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex readingOMap

ergibt dann...


Internals:
   BUSY       0
   CHANGED
   DEF        https://www.boerse-go.de/service/termine 60
   Interval   60
   LASTSEND   1466196801.77792
   MainURL    https://www.boerse-go.de/service/termine
   NAME       PM
   NR         105
   STATE      ???
   TRIGGERTIME 1466196861.77711
   TRIGGERTIME_FMT 2016-06-17 22:54:21
   TYPE       HTTPMOD
   addr       https://www.boerse-go.de:443
   buf        HTTP/1.1 200 OK

Server: nginx

Date: Fri, 17 Jun 2016 20:53:22 GMT

Content-Type: text/html; charset=UTF-8

Connection: close

X-Backend: www08

X-Varnish: 1777117695 1777108437

Via: 1.1 varnish

X-Hits: 1

X-Age: 41

X-Orig-Cache-Control: public,max-age=0,s-maxage=120

X-UA-Device: pc

Cache-Control: public,max-age=0,s-maxage=0

Vary: X-Requested-With,Accept-Encoding



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>Terminübersicht | Service | Boerse-Go.de</title>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="de-DE" />

<script type="text/javascript">

....



mich interessiert davon...

            <em>Terminübersicht</em>

    </div>

  </li>

</ul>

<div style="clear: left"></div>

</div>

<div style="clear: left"></div>



        <div id="content" class="clearfix">

   

    <div id="maincontent" class="clearfix">

   
                 <h1>Terminübersicht</h1>







Region auswählen:

<select size="1" onchange="changeRegion(this.value);">

        <option value="" selected="selected">Komplettübersicht</option>

        <option value="EUROPE">Termine Europa</option>

        <option value="NAMERICA">Termine Nordamerika</option>

        <option value="ASIA">Termine Asien / Pazifik</option>

        <option value="EMERGING_MARKETS">Termine BRIC / Emerging Markets</option>

    </select>



<h4>Freitag, 17. Juni 2016</h4>

<ul class="worldtime clearfix" style="margin-bottom: 30px;">

    <li class="local"><span>Local</span><span id="worldtime_clock_local">00:00:00</span></li>

    <li class="la"><span>Los Angeles</span><span id="worldtime_clock_LA">00:00:00</span></li>

    <li class="ny"><span>New York</span><span id="worldtime_clock_NY">00:00:00</span></li>

    <li class="ld"><span>London</span><span id="worldtime_clock_LON">00:00:00</span></li>

    <li class="fr"><span>Frankfurt</span><span id="worldtime_clock_FFM">00:00:00</span></li>

    <li class="tk"><span>Tokio</span><span id="worldtime_clock_TOK">00:00:00</span></li>

    <li class="nz"><span>New Zealand</span><span id="worldtime_clock_NZ">00:00:00</span></li>

</ul>



<a href="https://news.guidants.com/#!Termine/Index" target="_blank" class="banner-calender">

    &nbsp;

</a>



<script type="text/javascript">

    <!--



    var times = {   worldtime_clock_local:  7200,

    worldtime_clock_LA:     -25200,

    worldtime_clock_NY:     -14400,

    worldtime_clock_LON:    3600,

    worldtime_clock_FFM:    7200,

    worldtime_clock_TOK:    32400,

    worldtime_clock_NZ:     43200};



function updateClock ( )

{

    var currentTime     = new Date();

    var currentYear     = currentTime.getUTCFullYear();

    var currentMonth    = currentTime.getUTCMonth();

    var currentDay      = currentTime.getUTCDate();

    var currentHours    = currentTime.getUTCHours( );

    var currentMinutes  = currentTime.getUTCMinutes( );

    var currentSeconds  = currentTime.getUTCSeconds( );





    var localtime = null;

    var currentHoursFormatted = '';

    var currentMinutesFormatted = '';

    var currentSecondsFormatted = '';

    for( clock in times ) {



        var utcTime = Date.UTC(currentYear, currentMonth, currentDay, currentHours, currentMinutes, currentSeconds);

        utcTime += times[clock] * 1000;

        localtime = new Date(utcTime);



        currentHoursFormatted = (localtime.getUTCHours() < 10 ? '0' : '') + localtime.getUTCHours();

        currentMinutesFormatted = (localtime.getUTCMinutes() < 10 ? '0' : '') + localtime.getUTCMinutes();

        currentSecondsFormatted = (localtime.getUTCSeconds() < 10 ? '0' : '') + localtime.getUTCSeconds();

        document.getElementById(clock).firstChild.nodeValue = currentHoursFormatted + ':' + currentMinutesFormatted + ':' + currentSecondsFormatted;

    }



}



function changeRegion(region) {



    var regex   = new RegExp(/(\/day_timestamp\/[\d.]+)/);

    var newUrl  = '/service/termine';



    if (regex.test(location.href)) {

        newUrl += RegExp.$1;

    }



    newUrl += region != '' ? '/region/' + region : '';

    location.href = newUrl;

}



updateClock(); setInterval('updateClock()', 1000 )



// -->

</script>

    <div class="takenotice">

        <h2>Hinweise</h2>

                    <p >

                Dreifacher Verfallstermin an den Terminbörsen (Hexensabbat)            </p>

        </div>



<h2>Wirtschaftsdaten</h2>

<table class="termine">

    <thead>

        <tr>

            <th style="width: 40px;">Zeit</th>

            <th></th>

            <th style="width: 25px;"></th>

            <th></th>

            <th style="width: 30px">Aktuell</th>

            <th style="width: 30px">Prognose</th>

            <th style="width: 30px">Zuletzt</th>

        </tr>

    </thead>

    <tbody>

                <tr style="background: #EEE;">

            <td>

                                    00:30                            </td>

            <td class="impact" style="width: 20px">

                            </td>

            <td class="flag">

                                    <img src="/api/v1/country/93.image"/>

                            </td>

            <td>

                                NZ: Business Manufacturing Index Mai                            </td>

                        <td class="alignright">

                57,10            </td>

            <td class="alignright"></td>

            <td class="alignright">56,60</td>

        </tr>

                <tr style="background: #EEE;">

            <td>

                                    10:00                            </td>

            <td class="impact" style="width: 20px">

                            </td>

            <td class="flag">

                                    <img src="/api/v1/country/33.image"/>

                            </td>

            <td>

                                IT: Handelsbilanzsaldo April in Mrd €                            </td>

                        <td class="alignright">

                4,52            </td>

            <td class="alignright">5,95</td>

            <td class="alignright">5,37</td>

        </tr>

                <tr style="background: #EEE;">

            <td>

                                    10:00                            </td>

            <td class="impact" style="width: 20px">

                            </td>

            <td class="flag">

                                    <img src="/api/v1/country/542.image"/>

                            </td>

            <td>

                                EWU: EZB-Leistungsbilanzsaldo April (saisonbereinigt) in Mrd €                            </td>

                        <td class="alignright">

                36,20            </td>

            <td class="alignright">24,70</td>

            <td class="alignright">26,30</td>

        </tr>

                <tr style="background: #EEE;">

            <td>

                                    12:00                            </td>

            <td class="impact" style="width: 20px">

                            </td>

            <td class="flag">

                                    <img src="/api/v1/country/23.image"/>

                            </td>

            <td>

                                DE: Verfall Futures und Optionen (STOXX-Familie)                            </td>

                        <td class="alignright">

                            </td>

            <td class="alignright"></td>

            <td class="alignright"></td>

        </tr>

                <tr style="background: #EEE;">

            <td>

                                    13:00                            </td>

            <td class="impact" style="width: 20px">

                            </td>

            <td class="flag">

...

                                    <img src="/api/v1/country/23.image"/>

                            </td>

            <td>

                                DE: Verfall Indexfutures und -optionen (Eurex)                            </td>

                        <td class="alignright">

                            </td>

            <td class="alignright"></td>

            <td class="alignright"></td>

        </tr>

                <tr style="background: #EEE;">

            <td>

                                    14:30                            </td>

            <td class="impact" style="width: 20px">

                            </td>

            <td class="flag">

                                    <img src="/api/v1/country/3.image"/>

                            </td>

            <td>

                                US: Baugenehmigungen Mai (annualisiert) in Tsd                            </td>

                        <td class="alignright">

                1.138,00            </td>

            <td class="alignright">1.150,00</td>

            <td class="alignright">1.116,00</td>

        </tr>

                <tr style="background: #EEE;">

            <td>

                                    14:30                            </td>

            <td class="impact" style="width: 20px">

                            </td>

            <td class="flag">

                                    <img src="/api/v1/country/3.image"/>

                            </td>

            <td>

                                US: Baubeginne Mai (annualisiert) in Tsd                            </td>

                        <td class="alignright">

                1.164,00            </td>

            <td class="alignright">1.150,00</td>

            <td class="alignright">1.167,00</td>

        </tr>

                <tr style="background: #EEE;">

            <td>

                                    14:30                            </td>

            <td class="impact" style="width: 20px">

                            </td>

            <td class="flag">

                                    <img src="/api/v1/country/1.image"/>

                            </td>

            <td>

                                CA: Verbraucherpreise Mai m/m                            </td>

                        <td class="alignright">

                0,40            </td>

            <td class="alignright">0,50</td>

            <td class="alignright">0,30</td>

        </tr>

                <tr style="background: #EEE;">

            <td>

                                    17:30                            </td>

            <td class="impact" style="width: 20px">

                            </td>

            <td class="flag">

                                    <img src="/api/v1/country/23.image"/>

                            </td>

            <td>

                                DE: Verfall Aktienoptionen (Eurex)                            </td>

                        <td class="alignright">

                            </td>

            <td class="alignright"></td>

            <td class="alignright"></td>

        </tr>

                <tr style="background: #EEE;">

            <td>

                                    21:30                            </td>

            <td class="impact" style="width: 20px">

                            </td>

            <td class="flag">

                                    <img src="/api/v1/country/3.image"/>

                            </td>

            <td>

                                US: Commitments of Traders (COT) Report                            </td>

                        <td class="alignright">

                            </td>

            <td class="alignright"></td>

            <td class="alignright"></td>

        </tr>

            </tbody>

</table>

<div class="bannerright clearfix">

    <div class="left">



        <h2>Quartalszahlen</h2>

       

           

           

           

           

                </div>

    <div class="right adSpaceBorder">

        <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>

        <!-- BoerseGo.de Service Termine Medium Rectangle 300x250 -->

        <ins class="adsbygoogle"

        style="display:inline-block;width:300px;height:250px"

        data-ad-client="ca-pub-8329107337874444"

        data-ad-slot="9921708214"></ins>

        <script>

            (adsbygoogle = window.adsbygoogle || []).push({});

        </script>

    </div>

</div>



        <h2>Hauptversammlungen</h2>

        <ul class="bulletlist">

                            <li>

                <p>

                                            <a href="/profil/aktie/instrumentId/137627">Accu Holding AG</a>

                                                                                    </p>



            </li>

                            <li>

                <p>

                                            <a href="/profil/aktie/instrumentId/126227">FRoSTA AG</a>

                                                                                    </p>



            </li>

                            <li>

                <p>

                                            <a href="/profil/aktie/instrumentId/21146634">ISC Business Technology AG</a>

                                                                                    </p>



            </li>

                            <li>

                <p>

                                            <a href="/profil/aktie/instrumentId/1521111">SPARTA AG</a>

                                                                                    </p>



            </li>

                            <li>

                <p>

                                            <a href="/profil/aktie/instrumentId/119832">TAG Immobilien AG</a>

                                                                                    </p>



            </li>

                            <li>

                <p>

                                            <a href="/profil/aktie/instrumentId/122774">USU Software AG</a>

                                                                                    </p>



            </li>

                            <li>

                <p>

                                            <a href="/profil/aktie/instrumentId/18180944">windeln.de AG</a>

                                                                                    </p>



            </li>

                </ul>


        </div>

        <div id="sidecontent1" class="clearfix">

                <div id="calendar">

    <h3 id="picker">Termine</h3>

   

    <link rel="stylesheet" type="text/css" href="/js/calendar/calendar-boersego.css" />

    <script type="text/javascript" src="/js/calendar/calendar.js"></script>

    <script type="text/javascript" src="/js/calendar/lang/calendar-de.js"></script>

   

    <script type="text/javascript">

        function flatSelected(cal, date) {

            if (cal.dateClicked) {

                document.location.href = '/service/termine/day_timestamp/'+(cal.date.getTime()/1000);

            }

        }

       

        var cal = new Calendar(0, null, flatSelected);

        cal.weekNumbers = false;

        //cal.setDateFormat("%A, %B %e");

        cal.create(document.getElementById('calendar'));

        cal.setDate(new Date(1466196761000));

        cal.show();



    </script>

   

   

</div>




                <div id="siteinfo">

    <h3 class="infoheading">Seiteninformation</h3>

    <ul class="blocklist">

        <li><a href="https://www.boerse-go.ag/wir" target="_blank">Unternehmen</a></li>

        <li><a href="/service/agb">AGB</a></li>

        <li><a href="/service/datenschutz">Datenschutzhinweise</a></li>

        <li><a href="/service/haftungsausschluss">Haftung</a></li>

        <li><a href="/">Home</a></li>

        <li><a href="/service/impressum">Impressum</a></li>

        <li><a href="https://www.boerse-go.ag/karriere/jobs" target="_blank">Jobs</a></li>

        <li><a href="http://www.godmode-trader.de/hilfe/feedback" target="_blank">Kontakt</a></li>

        <li><a href="https://www.boerse-go.ag/b2b/mediacenter" target=_blank>Media</a></li>

        <li><a href="/service/verbot_kursmanipulation">Verbot der Kursmanipulation</a></li>

    </ul>

</div>




    </div>

       

</div>



         <div id="angebote">

            <ul style="width:90%;">

                <li class="copyright">Alle Angaben ohne Gewähr &copy; 2016 <a href="https://www.boerse-go.ag/" target="_blank">BörseGo AG</a></li>

                <li>Für die Richtigkeit der dargestellten Kurs-, Stamm- und Marktdaten wird keine Haftung übernommen.

                    Vergleichen Sie die hier wiedergegebenen Daten mit denen Ihrer Bank oder Ihres Brokers, bevor Sie eine Anlage tätigen.</li>

                <li class="netzwerk">

                    <a target="_blank" title="Aktien" href="http://www.godmode-trader.de">Aktien und Aktienkurse</a>,

                    <a target="_blank" href="http://www.godmode-trader.de/Aktien-kaufen/">Aktien kaufen</a>,

                    <a target="_blank" href="http://www.godmode-trader.de/Gold/Goldpreis">Goldpreis</a>,

                    <a target="_blank" href="http://www.boerse-go.de/themen/rohstoffe">Rohstoffe</a>

                </li>

                <li><b>Rechtliches</b>:

                    <a rel="nofollow" href="/service/agb">AGB</a>,

                    <a rel="nofollow" href="/service/datenschutz">Datenschutzhinweise</a>,

                    <a rel="nofollow" href="/service/haftungsausschluss">Haftung</a>,

                    <a rel="nofollow" href="/service/impressum">Impressum</a>,

                    <a rel="nofollow" href="/service/zeitverzoegerung">Informationen zur Zeitverzögerung der Kursdaten, Börsenbedingungen und Copyright</a>

                </li>

                <li>

                    <a rel="nofollow" target=_blank href="https://www.boerse-go.ag/wir">Unternehmen</a>,

                    <a rel="nofollow" target=_blank href="https://www.boerse-go.ag/karriere/jobs">Jobs</a>,

                    <a rel="nofollow" target=_blank href="http://www.godmode-trader.de/hilfe/feedback">Kontakt</a>,

                    <a rel="nofollow" target=_blank href="https://www.boerse-go.ag/b2b/mediacenter">Media</a>

                </li>

            </ul>

        </div>

    </div>

</div>



<!-- Notes -->

<script type="text/javascript" src="/js/base64.js"></script>

<script type="text/javascript" src="/js/utils.js"></script>





<script type="text/javascript">

    //var onelineInterval = setInterval("heightAdjust('one-line',30);",1000);

    setTimeout("heightAdjust('one-line',30);",1000);

</script>



<div id="mouseFollower" style="position: absolute; top: -50px; left: -50px; z-index: 9999999"><img src="/themes/default/media/content/banner/bnpparibas_cursor_fx.gif" /></div>



<div id="adContainer" style="display: none">

    <link href="/js/core/ads/ads.css" rel="stylesheet" type="text/css" media="all" />

    <script src="/js/core/ads/ads.js" type="text/javascript"></script>



    <script type="text/javascript" src="//imagesrv.adition.com/js/adition.js"></script>

            <div id="adContainer_bigsize">

            <script type="text/javascript" src="//ad2.adfarm1.adition.com/js?wp_id=48661"></script>

        </div>

            <div id="adContainer_sky">

            <script type="text/javascript" src="//ad2.adfarm1.adition.com/js?wp_id=48662"></script>

        </div>

            <div id="adContainer_background">

            <script type="text/javascript" src="//ad2.adfarm1.adition.com/js?wp_id=36457"></script>

        </div>

   

    <script type="text/javascript">

                    adOptions.foregroundNodes = ["site_bar","cookieContainer","siteContainer"];

       

        // Q'n'D Verzögerung wegen AdForm-Bannern:

        setTimeout(function () {

            dispatchAds(["bigsize","sky","background"]);

        }, 1000);

    </script>

</div>



<span id="kickstartChecker"></span>



<div id="trackerContainer">

<script>
// Set to the same value as the web property used on the site
var gaProperty = 'UA-17413992-1';

// Disable tracking if the opt-out cookie exists.
var disableStr = 'ga-disable-' + gaProperty;
if (document.cookie.indexOf(disableStr + '=true') > -1) {
  window[disableStr] = true;
}

// Opt-out function
function gaOptout() {
  document.cookie = disableStr + '=true; expires=Thu, 31 Dec 2099 23:59:59 UTC; path=/';
  window[disableStr] = true;
}
</script>
<script type="text/javascript">
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
        (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-17413992-1', '.boerse-go.de');
  ga('set', 'anonymizeIp', true);
  ga('send', 'pageview');
</script>
</div>



<span style="display:none" id="allDebug">0.18662190437317</span>



<div class="notification" id="bgo-notification">

    <a href="#" onClick="closeNotification();">

        <svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"

            viewBox="0 0 10 10" enable-background="new 0 0 10 10" xml:space="preserve" class="notification-close">

            <line fill="none" stroke="#03B4CE" stroke-width="0.9288" stroke-miterlimit="10" x1="0.4" y1="0.4" x2="9.6" y2="9.6"/>

            <line fill="none" stroke="#03B4CE" stroke-width="0.9288" stroke-miterlimit="10" x1="9.6" y1="0.4" x2="0.4" y2="9.6"/>

        </svg>

    </a>

    <a href="https://www.boerse-go.ag/wir?utm_source=boersego.de&utm_medium=boersego.de-layer" target="_blank">

    <img src="/themes/default/media/content/bgo-ag_link.jpg" alt="Guidants" />

        <div class="notification-description">

            <p>Sie wollten zur Unternehmenswebsite der BörseGo AG – <span>hier entlang</span></p>

        </div>

    </a>

</div>



</body>

</html>


   code       200
   conn
   data
   displayurl https://www.boerse-go.de/service/termine
   header
   host       www.boerse-go.de
   httpheader HTTP/1.1 200 OK

Server: nginx

Date: Fri, 17 Jun 2016 20:53:22 GMT

Content-Type: text/html; charset=UTF-8

Connection: close

X-Backend: www08

X-Varnish: 1777117695 1777108437

Via: 1.1 varnish

X-Hits: 1

X-Age: 41

X-Orig-Cache-Control: public,max-age=0,s-maxage=120

X-UA-Device: pc

Cache-Control: public,max-age=0,s-maxage=0

Vary: X-Requested-With,Accept-Encoding
   httpversion 1.0
   hu_blocking 0
   hu_filecount 188
   ignoreredirects 0
   loglevel   4
   path       /service/termine
   protocol   https
   redirects  0
   timeout    2
   url        https://www.boerse-go.de/service/termine
   value      0
   QUEUE:
   Readings:
   Request:
     data
     header
     ignoreredirects 0
     retryCount 0
     type       update
     url        https://www.boerse-go.de/service/termine
     value      0
   Sslargs:
Attributes:
   event-on-update-reading .*
   userattr   reading01Name reading01Regex reading02Name reading02Regex reading03Name reading03Regex reading04Name reading04Regex reading05Name reading05Regex reading06Name reading06Regex reading07Name reading07Regex reading08Name reading08Regex reading09Name reading09Regex readingOMap

kumue

vermisse das Problem / Frage...  ;)

MadMax-FHEM

Dito ;-)

Und: du hast wohl den "Code-Ende-tag" vergessen bzw. fehlt dieser...
...macht das LEsen deutlich einfacher!

Kannst du auch per "Ändern-Knopf" nachträglich korrigieren...

Und dann wie gesagt: das Problem/die Frage stellen.

Und soweit ich weiß musst du für jede Webanfrage/Server ein separates httpmod modul definieren...

Aus der Antwort können dann in verschiedenen Readings mittels verschiedener regexen die gewünschten Infos rausgezogen werden.

Vielleicht hilft das:

https://regex101.com/

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

en-trust

Meine Frage war, wie ich diese WirtschaftskalenderTermine ausgelesen bekomme. Was kann ich mit der externen reg Webseite tun ?

MadMax-FHEM

Hallo,

per httpmod http://www.fhemwiki.de/wiki/HTTPMOD kannst du "Webseiten" abfragen.

Eine Antwort hast du ja bereits gepostet??!!

Diese Antwort kannst du mittels regex (regular expression) "auswerten" und das "Ergebnis" der regex in einem Reading des definierten HTTPMOD Moduls "anzeigen" lassen...

Die externe Webseite ist ein "regex-Prüfprogramm", d.h. du kannst das empfangene Ergebnis der Webabfrage (oder was immer du mittels regex "auswerten" willst) rein kopieren und deine regex "formulieren" und es wird dir angezeigt, was deine regex aus dem "Ergebnis der Webabfrage" (oder was immer du per regex bearbeiten willst) angezeigt, also kannst du prüfen, ob die regex das liefert was du brauchst/willst.

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

en-trust

Bin mit dieser Seite überfordert. Da ich nicht weiss was ich wo einfügen muss um letztlich die regexe herauszubekommen. Hatte den Text aus Fhem unter buf in den Test String Teil der regex webseite kopiert, kann aber kein Ergebnis erkennen.

MadMax-FHEM

Hallo,

den "HTML-Sourcecode" der Seite welche die dich interessierenden Daten enthält in das Fenster "insert you teststring here" kopieren...
...und bei "insert your regular expresion here" die regex kopieren bzw. formulieren mit der du denkst die dich interessierenden Daten zu "erhalten".

regex "filtert" sozusagen das "Ergebnis" der Webseitenabfrage und gibt (wenn richtig formuliert) das gewünschte zurück.

Auf der rechten Seite siehst du immer live was die regex gerade liefert...

D.h. du musst zuerst mal das empfangene HTML-Dokument nach den Dingen durchsuchen (menschliches Auge etc. ;-)  ) die du in dem HTTPMOD modul sehen willst.

Dann mal lesen was regex sind usw. und dann überlegen, was wohl formuliert werden müsste um evtl. an die gewünschtne Daten zu kommen...

Und das kannst du dann mit der angegebenen Webseite testen und korrigieren...

Also bevor du nicht weißt was du haben willst und was wie in etwa regex funktioniert kannst du nur noch folgendes tun:

hier den HTML-Sourcecode der dich interessierenden Webseite posten (hast du wohl bereits getan) schreiben welche Daten dich interessieren und dann wünschen, bitten, beten, dass dir jemand die entsprechenden regex(en) formuliert...

Und vielleicht sogar den define des HTTPMOD moduls dass du brauchst nennt...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

MadMax-FHEM

Äh, die Seite spuckt keine regex aus, sondern zeigt dir was deine regex rausfiltert...

Also wie geschrieben:

erst schauen was interessiert

regex "lernen"

eine regex basteln von der du glaubst dass sie das macht was du willst

mit angegebener seite testen

HTTPMOD modul in fhem definieren

...
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

en-trust

habe das was unter buf stand reinkopiert und oben mal reading01Regex eingegeben, not matched. Übrigens testweise auch mal mit dem was Pollenflug liefert. Auch da gabs keinen treffer.

Puschel74

Bearbeite doch bitte mal deinen ersten Beitrag und setz alles was nicht zum Text gehört in Code-Tags.
Das kann doch kein Mensch ohne 80"-Monitor scrollen.
Es soll auch Leute geben die das Forum mit einem Tablet besuchen - versuch mal deinen Beitrag auf einem Tablet zu lesen (von einem SmartPhone mal ganz abgesehen).
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

MadMax-FHEM

Du solltest dich mal dem Punkt regex lernen widmen...

Und auch mal den Link bzgl. httpmod...

Klar, dass die regex aus den Beispielen bei der Antwort auf deine Webanfrage nichts finden weil die für eine ganz andere Webseitenanfrage (Pollen oder Wetter oder oder oder) geschrieben wurden.

Also noch mal: was aus der geposteten Antwort deiner Webanfrage interessiert dich?

Dafür musst du eine regex "basteln" (lassen falls sich jemand findet) und dann kannst du das httpmod Modul definieren...

FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

en-trust

was ein Krampf... der Editor hier nimmt nicht den code. also habe ich ihn gekürzt auf das was relevant wäre.

MadMax-FHEM

Also ich hab mir die Webseite mal angeschaut, ich wüsste nicht was daran interessant ist, dort laufen ja nur die Uhrzeiten verschiedener Orte/Börsen...

Mit "was interessiert dich" war schin gemeint was genau dich an Information aus der Web (HTTP/HTML) Antwort der von dir eingestellten URL https://www.boerse-go.de/service/termine interessiert.

Nur dann kann man evtl, mit der regex etc. helfen...

Ich bin jetzt nicht der regex Experte (aber für das was ich bislang wollte bin ich mit der "Prüf-Webseite [mein Link] immer gut zurecht gekommen) aber vielleicht hilft folgendes, dass du verstehst wie es funktioniert, also prinzipiell.


define test HTTPMOD https://www.boerse-go.de/service/termine 60
attr test userattr reading01Name reading01Regex
attr test reading01Name Time_LA
attr test reading01Regex worldtime_clock_LA:.{5,}(.\d\d\d\d\d)


liefert was hinter 'worldtime_clock_LA' kommt als Reading welches 'Time_LA' heißt.

d.h. was hinter reading01Regex steht 'worldtime_clock_LA:.{5,}(.\d\d\d\d\d)' "filtert" aus der Web/HTTP-Antwort der aufgerufenen URL die Zahl hinter 'worldtime_clock_LA:' aus.
D.h. noch mal: du musst halt herausfinden WAS dich an/in der Antwort des Web-Aufrufs interessiert und dann versuchen eine regex zu formulieren, die genau das "trifft".

Mehr kann ich dir (zum aktuellen Stand) nicht weiter helfen...

Ansonsten mal versuchen die Beispiele (wiki / allerdings vollständig, also immer passender URL-Aufruf und passende regex/Reading-Formulierungen) und auch die Commandref bzgl. HTTPMOD mal lesen...
Und wie gesagt: google oder Bücher bzgl. regex (regular expression) "studieren"...

Oder halt (wie ich meist) mit dem "regex-checker" probieren bis das gewünschte "gefunden" wird.
Auf der rechten Seite gibt es auch Hinweise was welche Teile "matcht" usw.

Gruß und viel Erfolg, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Prof. Dr. Peter Henning

Erstens kann ich mich den Ratschlägen nur anschließen: Bitte etwas mehr an den eigenen Grundlagen arbeiten, bevor man sich komplexe Aufgaben stellt.

Hier z.B.https://wiki.selfhtml.org/wiki/Perl/Regul%C3%A4re_Ausdr%C3%BCcke

Zweitens: Bei richtig komplexen Seiten wird man um eine ordentliche DOM-Adressierung per XPath nicht herumkommen.

LG

pah

en-trust

Es geht um den Teil, der unter Wirtschaftsdaten steht. Sprich welche Daten sind heute jeweils interessant bzw. liegen an.

Zeit, Aktuell, Prognose, Zuletzt

Scheint aber wohl nicht ganz so einfach zu sein.