Hauptmenü

HTTPMOD für Polar Flow

Begonnen von robertPI, 05 Oktober 2019, 22:24:19

Vorheriges Thema - Nächstes Thema

robertPI

Hallo,

ich beiße mir schon den ganzen Tag die Zähne an folgender Aufgabe aus und bin nun zu dem Schluss gekommen: Ohne eure Hilfe wird das nix! ;-)

Hintergrund: ganz am Schluss soll mal eine Bluetooth Waage an OpenScale https://github.com/oliexdev/openScale, das weiter per MQTT https://play.google.com/store/apps/details?id=com.health.openscale.sync an fhem und das wiederum per HTTPMOD an Polar Flow mein Gewicht weiterreichen. Von Polar gibt es zwar ein developer program und eine API, alledings read-only.

Als Einstieg möchte ich das bereits in Polar Flow einegebene Gewicht per HTTPMOD auslesen.

Mein derzeitiger Stand
defmod PolarFlow HTTPMOD none
attr PolarFlow userattr get09Name get09Regex get09Replacement01Value get09URL replacement09Mode:reading,internal,text,expression,key replacement09Regex replacement09Value sid01Data sid01URL
attr PolarFlow enableCookies 1
attr PolarFlow get09Name myCurrentWeight
attr PolarFlow get09Regex <input type=text id=weight name=weight value=\"([^"]*)\"
attr PolarFlow get09URL https://flow.polar.com/training/day/myDate
attr PolarFlow reAuthRegex Sign in
attr PolarFlow replacement09Mode text
attr PolarFlow replacement09Regex (myDate)
attr PolarFlow replacement09Value 05.10.2019
attr PolarFlow requestHeader.* Mozilla/5.0 (X11;; Linux x86_64;; rv:69.0) Gecko/20100101 Firefox/69.0
attr PolarFlow showBody 1
attr PolarFlow showError 1
attr PolarFlow sid01Data https%3A%2F%2Fflow.polar.com%2Ftraining%2Fday%2F05.10.2019&email=c3435221%40urhen.com&password=meinPasswort
attr PolarFlow sid01URL https://flow.polar.com/login
attr PolarFlow sslArgs SSL_verify_mode,SSL_VERIFY_NONE
attr PolarFlow verbose 3



Ich schaffe den Login nicht. Was mir aufgefallen ist: habe ich das root Zertifikat von Burp nicht installiert, "läuft" die Seite im Firefox nicht und ich erhalte Rückmeldungen die denen in fhem (wenn showBody=1 gesetzt ist) ähnlich sind.

Internals:
   BUSY       1
   CFGFN     
   CHANGED   
   DEF        none
   FUUID      5d98a9ed-f33f-d2fd-205e-69fc122cf418b2c4
   Interval   300
   LASTSEND   1570305816.06413
   LastAuthTry 2019-10-05 21:32:27
   MainURL   
   ModuleVersion 3.5.9 - 13.2.2019
   NAME       PolarFlow
   NOTIFYDEV  global
   NR         84169
   NTFY_ORDER 50-PolarFlow
   ReplacementEnabled 1
   STATE      ???
   TRIGGERTIME 1570306622.94838
   TRIGGERTIME_FMT 2019-10-05 22:17:02
   TYPE       HTTPMOD
   addr       https://flow.polar.com:443
   auth       0
   buf       
   code       200
   data       
   displayurl https://flow.polar.com/training/day/05.10.2019
   header     Cookie: NSC_eob1-qspe-gmpx-mc=ffffffffc3a0947b45525d5f4f58455e445a4a4229a1; NSC_ued1-qspe-gmpx-mc=ffffffffc3a0987945525d5f4f58455e445a4a4229a1
   host       flow.polar.com
   httpbody   



<!DOCTYPE html>
<!--[if IE 9]><html class="lt-ie10" lang="en" class="no-js"><![endif]-->
    <!--[if gt IE 9]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=EDGE">
        <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
        <meta name="apple-mobile-web-app-capable" content="yes">
        <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
       
        <link rel="apple-touch-icon" sizes="57x57" href="https://flow.cdn.polar.com/flow/5.44.0/images/PolarIcons/Polar-Symbol_57x57.png">
        <link rel="apple-touch-icon" sizes="114x114" href="https://flow.cdn.polar.com/flow/5.44.0/images/PolarIcons/Polar-Symbol_114x114.png">
        <link rel="apple-touch-icon" sizes="72x72" href="https://flow.cdn.polar.com/flow/5.44.0/images/PolarIcons/Polar-Symbol_72x72.png">
        <link rel="apple-touch-icon" sizes="144x144" href="https://flow.cdn.polar.com/flow/5.44.0/images/PolarIcons/Polar-Symbol_144x144.png">
        <link rel="apple-touch-icon" sizes="60x60" href="https://flow.cdn.polar.com/flow/5.44.0/images/PolarIcons/Polar-Symbol_60x60.png">
        <link rel="apple-touch-icon" sizes="120x120" href="https://flow.cdn.polar.com/flow/5.44.0/images/PolarIcons/Polar-Symbol_120x120.png">
        <link rel="apple-touch-icon" sizes="76x76" href="https://flow.cdn.polar.com/flow/5.44.0/images/PolarIcons/Polar-Symbol_76x76.png">
        <link rel="apple-touch-icon" sizes="152x152" href="https://flow.cdn.polar.com/flow/5.44.0/images/PolarIcons/Polar-Symbol_152x152.png">
        <link rel="icon" type="image/png" href="https://flow.cdn.polar.com/flow/5.44.0/images/PolarIcons/Polar-Symbol_196x196.png" sizes="196x196">
        <link rel="icon" type="image/png" href="https://flow.cdn.polar.com/flow/5.44.0/images/PolarIcons/Polar-Symbol_160x160.png" sizes="160x160">
        <link rel="icon" type="image/png" href="https://flow.cdn.polar.com/flow/5.44.0/images/PolarIcons/Polar-Symbol_96x96.png" sizes="96x96">
        <link rel="icon" type="image/png" href="https://flow.cdn.polar.com/flow/5.44.0/images/PolarIcons/Polar-Symbol_16x16.png" sizes="16x16">
        <link rel="icon" type="image/png" href="https://flow.cdn.polar.com/flow/5.44.0/images/PolarIcons/Polar-Symbol_32x32.png" sizes="32x32">
        <meta name="msapplication-TileColor" content="#333333">
        <meta name="msapplication-TileImage" content="https://flow.cdn.polar.com/flow/5.44.0/images/mstile-144x144.png">

       

<style>
    @font-face {
    font-family: 'Open Sans';
   

   
       
            src: url('https://flow.cdn.polar.com/flow/5.44.0/typography/open_sans/opensans-regular-webfont.eot?origin=7b5953e42f5af39b2e8998220ab41a38');
            src: url('https://flow.cdn.polar.com/flow/5.44.0/typography/open_sans/opensans-regular-webfont.eot?#iefix?origin=7b5953e42f5af39b2e8998220ab41a38') format('embedded-opentype'),
            url('https://flow.cdn.polar.com/flow/5.44.0/typography/open_sans/opensans-regular-webfont.woff?origin=7b5953e42f5af39b2e8998220ab41a38') format('woff'),
            url('https://flow.cdn.polar.com/flow/5.44.0/typography/open_sans/opensans-regular-webfont.ttf?origin=7b5953e42f5af39b2e8998220ab41a38') format('truetype'),
            url('https://flow.cdn.polar.com/flow/5.44.0/typography/open_sans/opensans-regular-webfont.svg#ywftsvg?origin=7b5953e42f5af39b2e8998220ab41a38') format('svg');
            font-weight: normal;
            font-style: normal;
       
   
    }
</style>
       

<style>
    @font-face {
    font-family: 'Open Sans Light';
   

   
       
            src: url('https://flow.cdn.polar.com/flow/5.44.0/typography/open_sans/opensans-light-webfont.eot?origin=7b5953e42f5af39b2e8998220ab41a38');
            src: url('https://flow.cdn.polar.com/flow/5.44.0/typography/open_sans/opensans-light-webfont.eot?#iefix?origin=7b5953e42f5af39b2e8998220ab41a38') format('embedded-opentype'),
            url('https://flow.cdn.polar.com/flow/5.44.0/typography/open_sans/opensans-light-webfont.woff?origin=7b5953e42f5af39b2e8998220ab41a38') format('woff'),
            url('https://flow.cdn.polar.com/flow/5.44.0/typography/open_sans/opensans-light-webfont.ttf?origin=7b5953e42f5af39b2e8998220ab41a38') format('truetype'),
            url('https://flow.cdn.polar.com/flow/5.44.0/typography/open_sans/opensans-light-webfont.svg#ywftsvg?origin=7b5953e42f5af39b2e8998220ab41a38') format('svg');
            font-weight: normal;
            font-style: normal;
       
   
    }
</style>
       
<style>
    @font-face {
    font-family: 'PolarIcons';
   

   
       
            src: url('https://flow.cdn.polar.com/flow/5.44.0/typography/polar_icons/Polar-Electro-UI-icons.eot?origin=7b5953e42f5af39b2e8998220ab41a38');
            src: url('https://flow.cdn.polar.com/flow/5.44.0/typography/polar_icons/Polar-Electro-UI-icons.eot?#iefix?origin=7b5953e42f5af39b2e8998220ab41a38') format('embedded-opentype'),
            url('https://flow.cdn.polar.com/flow/5.44.0/typography/polar_icons/Polar-Electro-UI-icons.woff?origin=7b5953e42f5af39b2e8998220ab41a38') format('woff'),
            url('https://flow.cdn.polar.com/flow/5.44.0/typography/polar_icons/Polar-Electro-UI-icons.ttf?origin=7b5953e42f5af39b2e8998220ab41a38') format('truetype'),
            url('https://flow.cdn.polar.com/flow/5.44.0/typography/polar_icons/Polar-Electro-UI-icons.svg#ywftsvg?origin=7b5953e42f5af39b2e8998220ab41a38') format('svg');
            font-weight: normal;
            font-style: normal;
       
   
    }
</style>
       
<style>
    @font-face {
        font-family: 'Druk Medium Italic';
        src: url('https://flow.cdn.polar.com/flow/5.44.0/typography/druk/Druk-MediumItalic-Cy-Web.eot');
        src: url('https://flow.cdn.polar.com/flow/5.44.0/typography/druk/Druk-MediumItalic-Cy-Web.eot?#iefix') format('embedded-opentype'),
        url('https://flow.cdn.polar.com/flow/5.44.0/typography/druk/Druk-MediumItalic-Cy-Web.woff') format('woff'),
        url('https://flow.cdn.polar.com/flow/5.44.0/typography/druk/Druk-MediumItalic-Cy-Web.woff2') format('woff2'),
        url('https://flow.cdn.polar.com/flow/5.44.0/typography/druk/Druk-MediumItalic.otf') format('truetype');
        font-weight: normal;
        font-style: normal;
    }
    @font-face {
        font-family: 'Druk Medium';
        src: url('https://flow.cdn.polar.com/flow/5.44.0/typography/druk/Druk-Medium-Cy-Web.eot');
        src: url('https://flow.cdn.polar.com/flow/5.44.0/typography/druk/Druk-Medium-Cy-Web.eot?#iefix') format('embedded-opentype'),
        url('https://flow.cdn.polar.com/flow/5.44.0/typography/druk/Druk-Medium-Cy-Web.woff') format('woff'),
        url('https://flow.cdn.polar.com/flow/5.44.0/typography/druk/Druk-Medium-Cy-Web.woff2') format('woff2'),
        url('https://flow.cdn.polar.com/flow/5.44.0/typography/druk/Druk-Medium.otf') format('truetype');
        font-weight: normal;
        font-style: normal;
    }
</style>
        <style>
    @import url('https://fonts.googleapis.com/css?family=Roboto:300,500');
</style>

        <link href="https://flow.cdn.polar.com/flow/5.44.0/stylesheets/styles_landing.min.css" rel="stylesheet" type="text/css">
        <script src="https://flow.cdn.polar.com/flow/5.44.0/javascripts/3rd_party/modernizr/modernizr.min.js" type="text/javascript"></script>
        <script src="https://flow.cdn.polar.com/flow/5.44.0/javascript/utils/appGlobal.min.js"></script>
       
        <script src="https://flow.cdn.polar.com/flow/5.44.0/javascript/utils/browserCheck.min.js" type="text/javascript"></script>

        <script>
                var compCheck = new BrowserCompatibility();
                compCheck.check();
        </script>

        <script src="/jsRoutes" type="text/javascript"></script>

        <title>
       
            Polar Flow
       
        </title>
    </head>
    <body class="landing">
        <div class="notification-panel center noscript">
    <p> <b>Javascript is disabled</b></p>
    <p>Enable Javascript to continue using the service.</p>
</div>

        <div id="loading-spinner"><div id="spinner"></div></div>

<nav role="navigation" class="fixed no-borders">
    <div class="global-nav">
        <ul class="global-nav__list" role="menu">
            <li role="menuitem" class="active"><a onclick="ga('send','event', 'Header Nav', 'Polar Flow', 'Click');" href="/">Polar Flow</a></li>
            <li role="menuitem"><a onclick="ga('send','event', 'Header Nav', 'polar.com', 'Click');" href="https://www.polar.com">Polar.com</a></li>
        </ul>           
    </div>
    <div class="main-nav">
        <div class="main-nav__wrap">
            <a id="btn-navbar" class="btn-navbar open-nav nav-element open-panel">
                <span class="icon-bar"></span>
            </a>
            <a class="brand" role="branding" href="/">
                <img src="https://flow.cdn.polar.com/flow/5.44.0/images/flow_logo.svg">
            </a>
            <div class="main-nav__menuholder">
                <ul class="main-nav__menu" role="menu" id="primaryNavigation">
                <li role="menuitem" class="hidden-md hidden-lg"><a href="/login"><span>Sign in</span></a></li>
                <li role="menuitem" class="hidden-md hidden-lg"><a href="/register"><span>Register now</span></a></li>
                </ul>
               
                <ul class="main-nav__usermenu" role="menu" id="user-profile-navigation">
                 <li role="menuitem" class="main-nav__user-dropdown dropdown hidden-xs hidden-sm">
                     <a class="dropdown-toggle sign-in" id="loginButtonNav" data-toggle="dropdown" style="text-transform:none">Sign in</a>
                     <div id="sign-in-container" class="dropdown-menu dropdown-menu--has-caret pull-right append-ajax sign-in-container" role="menu" aria-labelledby="signinLabel">
                           
                            <div class="spinner margin-top margin-bottom"></div>
                     </div>
                 </li>
                </ul>
                <div class="main-nav__mobile-global-holder"></div>
            </div>
        </div>
    </div>
</nav>
<div class="alert-wrapper relative">



</div>

        <div class="bg-img"></div>
        <main role="main" id="main" class="wrapper">
            <div class="container-fluid">
                <section class="section-landing section-landing--starter row">
                    <article class="col-xs-12 col-sm-6 col-sm-push-6 col-md-4 col-md-push-8" role="contentinfo">
                        <h1 role="heading">Polar Flow</h1>
                        <p>Free online tool for planning and following up on your training, activity and sleep. Get the most out of your Polar device with Polar Flow.</p>
                    </article>
                </section>
            </div>
            <div class="container-fluid">
                <section class="section-landing">
                    <div class="landing-cards row" id="landing-cards">
                        <article class="col-xsm-12 col-sm-12 col-md-12 landing-cards__item" role="article">
                            <div class="col-xsm-12 col-sm-12 col-md-6 landing-cards__item__content relative">
                                <span class="landing-cards__item__img img1"></span>
                                <span class="landing-cards__item_right_panel solo">
                                    <h2 class="landing-cards__item__heading" role="heading">Got a new Polar device?</h2>
                                    <div id="desktopStartLink">
                                        <p>Connect your device with Polar Flow and you're ready to go!</p>
                                        <a href="/start" id="startButton" class="btn btn-primary">Get started</a>
                                    </div>
                                    <p id="mobileGuideText">Go to flow.polar.com/start on your computer to start using your new device.</p>
                                </span>
                            </div>
                        </article>
                        <article class="col-xsm-12 col-sm-12 col-md-6 landing-cards__item" role="article">
                            <div class="landing-cards__item__content relative landing-cards__item__content--listing">
                                <span class="landing-cards__item__img img2"></span>
                                <span class="landing-cards__item_right_panel">
                                    <h2 class="landing-cards__item__heading" role="heading">Latest from Polar</h2>
                                    <ul class="landing-cards__updates" id="landing-cards__updates"></ul>
                                </span>
                            </div>
                        </article>
                        <article class="col-xsm-12 col-sm-12 col-md-6 landing-cards__item" role="article">
                            <div class="landing-cards__item__content relative">
                                <span class="landing-cards__item__img img3"></span>
                                <span class="landing-cards__item_right_panel">
                                    <h2 class="landing-cards__item__heading" role="heading">Train like a pro</h2>
                                    <p>Turn your goals into reality with Polar sports watches, fitness trackers and heart rate monitors.</p>
                                    <a href="http://www.polar.com/">Find your product</a>
                                </span>
                            </div>
                        </article>
                    </div>
                </section>
            </div>

            <footer role="footer" class="footer">
    <nav role="contentinfo" class="clearfix">
        <aside role="list" class="footer__link-list">
            <a role="list-item" href="http://www.polar.com" target="_blank">© Polar Electro 2019</a>
            <a role="list-item" href="https://www.polar.com/en/legal/terms-of-use" target="_blank">Terms of Use</a>
            <a role="list-item" href="https://www.polar.com/en/legal/privacy-notice" target="_blank">Privacy Notice</a>
            <a role="list-item" href="/support">Customer care</a>
        </aside>
        <aside role="list" class="footer__social-media muted">
            <p>Follow us on</p>
            <a role="list-item" href="http://www.facebook.com/PolarGlobal" target="_blank" class="fb">Facebook</a><a href="https://twitter.com/PolarGlobal" target="_blank" class="twitter" role="list-item">Twitter</a><a href="http://instagram.com/polarglobal" target="_blank" class="instagram">Instagram</a><a href="http://www.youtube.com/polar" class="youtube" target="_blank">Youtube</a>
        </aside>
    </nav>
</footer>

<div id="browserNotSupportedContainer"></div>

<script type="text/template" id="browserNotSupportedFooterTemplate">
    <div class="fixed-footer fixed">
        <div class="fixed-footer__left">
            <p>
                <i class="icon icon-info"></i>
                Your browser is no longer supported. Please update to the latest version or change your browser to get the most out of Polar Flow.
                <a href="" onclick="compCheck.goToNotSupportedPage(event)" id="browserNotSupportedLink">More info</a>
            </p>
        </div>
        <div class="fixed-footer__right">
            <a href="" onclick="compCheck.clearBrowserNotSupportedUrl(event)"><i class="icon icon-close"></i></a>
        </div>
    </div>
</script>

<script>
    document.addEventListener("DOMContentLoaded", function() {
        if (typeof compCheck !== 'undefined') {
            compCheck.drawFixedFooter();
        }
    });
</script>
        </main>
       
        <script src="https://flow.cdn.polar.com/flow/5.44.0/javascripts/jquery-2.1.3.min.js" type="text/javascript"></script>
       
        <script src="https://flow.cdn.polar.com/flow/5.44.0/javascripts/jquery-migrate-1.2.1.min.js" type="text/javascript"></script>
        <script src="https://flow.cdn.polar.com/flow/5.44.0/javascripts/3rd_party/jQueryTools/jquery.tools.min.js"></script>
        <script src="https://flow.cdn.polar.com/flow/5.44.0/javascript/utils/appGlobal.min.js"></script>
        <script src="https://flow.cdn.polar.com/flow/5.44.0/javascripts/3rd_party/jquery-placeholder/jquery.placeholder.js" type="text/javascript"></script>
        <script src="https://flow.cdn.polar.com/flow/5.44.0/javascripts/3rd_party/underscore/underscore.min.js" type="text/javascript"></script>


        <script type="text/javascript" charset="utf-8">
                // Initializing app wide global object
                AppGlobal.init(undefined, "https://flow.cdn.polar.com/flow/5.44.0/", true);

                var Messages = {};
               
                Messages["landing_page.resetpassword_ajax.aftermessage.success"] = "Password successfully reset. Check your email.";
                Messages["landing_page.resetpassword_ajax.aftermessage.error "] = "There was an error resetting your password.";
        </script>

        <script src="https://flow.cdn.polar.com/flow/5.44.0/javascript/utils/common_helpers.min.js"></script>
        <script src="https://flow.cdn.polar.com/flow/5.44.0/javascript/views/landing/landing.min.js"></script>
        <script src="https://flow.cdn.polar.com/flow/5.44.0/javascripts/lib/navigation.min.js"></script>
       
       
            <script>
                    var loginFirst = false;
                    $(document).ready(function () {
                        loginFirst = true;
                        $(".sign-in").click();
                    });

            </script>
       
       

    </body>
</html>

   httpheader HTTP/1.0 200 OK
Vary: Origin,Accept-Encoding
Pragma: no-cache
Expires: 0
Cache-Control: no-cache, no-store, must-revalidate
Content-Encoding: gzip
Polar-Correlation-Id: 46dd790c-24f7-4ec0-bb20-ebb54006fc50
content-length: 3658
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Date: Sat, 05 Oct 2019 19:32:29 GMT
   httpversion 1.0
   ignoreredirects 0
   loglevel   4
   path       /training/day/05.10.2019
   protocol   https
   redirects  0
   timeout    2
   url        https://flow.polar.com/training/day/05.10.2019
   value      0
   HTTPCookieHash:
     NSC_eob1-qspe-gmpx-mc;/:
       Name       NSC_eob1-qspe-gmpx-mc
       Options    path=/;secure;httponly
       Path       /
       Value      ffffffffc3a0947b45525d5f4f58455e445a4a4229a1
     NSC_ued1-qspe-gmpx-mc;/:
       Name       NSC_ued1-qspe-gmpx-mc
       Options    path=/;secure;httponly
       Path       /
       Value      ffffffffc3a0987945525d5f4f58455e445a4a4229a1
   QUEUE:
   READINGS:
     2019-10-05 21:32:29   LAST_ERROR      https://flow.polar.com:443/: Too many redirects
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 0
     type       get09
     url        https://flow.polar.com/training/day/myDate
     value      0
   sslargs:
     SSL_verify_mode SSL_VERIFY_NONE
Attributes:
   enableCookies 1
   get09Name  myCurrentWeight
   get09Regex <input type=text id=weight name=weight value=\"([^"]*)\"
   get09URL   https://flow.polar.com/training/day/myDate
   reAuthRegex Sign in
   replacement09Mode text
   replacement09Regex (myDate)
   replacement09Value 05.10.2019
   requestHeader.* Mozilla/5.0 (X11; Linux x86_64; rv:69.0) Gecko/20100101 Firefox/69.0
   showBody   1
   showError  1
   sid01Data  https%3A%2F%2Fflow.polar.com%2Ftraining%2Fday%2F05.10.2019&email=c3435221%40urhen.com&password=meinPasswort
   sid01URL   https://flow.polar.com/login
   sslArgs    SSL_verify_mode,SSL_VERIFY_NONE
   userattr   get09Name get09Regex get09Replacement01Value get09URL replacement09Mode:reading,internal,text,expression,key replacement09Regex replacement09Value sid01Data sid01URL
   verbose    3


In den burp logs ist jeweils die gleiche Abfolge von Aktionen geloggt:
https://flow.polar.com/training/day/05.10.2019 aufgerufen

Es erfolgt Umleitung auf die Login-Seite, einloggen.

Erneut https://flow.polar.com/training/day/05.10.2019 aufrufen
-> nachgeschaut ob der Wert 78.9 da ist

Im umfangreichsten log flow_fake_firefox.xml (nur hier läuft die Seite richtig) auch noch
https://flow.polar.com/training/day/04.10.2019
-> Wert 55.5 geschrieben

https://flow.polar.com/training/day/03.10.2019
-> Wie geht es dir? Auf Fantastisch gesetzt


Der Polar Flow Account ist ein fake zum Ausprobieren.

Ich bin für jede Hilfe und Idee sehr dankbar!

Robert
FHEM auf Raspbery Pi 4
HM: HM-CFG-USB-2,HM-CC-RT-DN,HM-TC-IT-WM-W-EU,HM-SEC-SCo,HM-ES-PMSw1-Pl,HM-Sen-MDIR-WM55 | Philips hue: LCT001,LWL001,FLS-PP lp | Logitech Harmony Ultimate | zigbee2mqtt: WSDCGQ01LM, WSDCGQ11LM, MFKZQ01LM, MCCGQ11LM

amenomade

#1
Bitte verbose 5 setzen, wieder ein get machen, und die Log posten.

Vermutlich greift reAuthRegex nicht.
In sid01Data heisst der 1. Parameter "returnUrl", also
sid01Data returnUrl=https://flow.polar.com/training/day/05.10.2019&email=name@domain&passwort=passwort

requestHeader.* ist kein gültiges attr
sslArgs würde ich erstmal weglassen

EDIT: es ist vielleicht keine gute Idee, über die öffentliche Webseite zu gehen. Warum nicht über die API ?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

amenomade

#2
Also...
reAuthRegex greift doch => So lassen
requestHeader.* löschen
sslArgs löschen

sid01Data kannst Du kürzen (returnUrl  kann weg)
sid01Data email=mail@domain&passwort=password
(in klar Form eingeben, nich "urlEncoded")

Dazu noch - und das scheint das entscheidende zu sein, sonst kriegt man http 303 und dann die Session Cookies nicht - :
sid01IgnoreRedirects 1

Sollte gehen


defmod PolarFlow HTTPMOD none
attr PolarFlow enableCookies 1
attr PolarFlow get09Name myCurrentWeight
attr PolarFlow get09Regex <input type=text id=weight name=weight value=\"([^"]*)\"
attr PolarFlow get09URL https://flow.polar.com/training/day/myDate
attr PolarFlow reAuthRegex Sign in
attr PolarFlow replacement09Mode text
attr PolarFlow replacement09Regex (myDate)
attr PolarFlow replacement09Value 05.10.2019
attr PolarFlow sid01Data email=mail@domain.com&password=meinPasswort
attr PolarFlow sid01IgnoreRedirects 1
attr PolarFlow sid01URL https://flow.polar.com/login
attr PolarFlow verbose 5
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

robertPI

#3
Ich glaub ich werd verrückt - läuft   :D

Internals:
   BUSY       0
   DEF        none
   FUUID      5d98a9ed-f33f-d2fd-205e-69fc122cf418b2c4
   Interval   300
   LASTSEND   1570341649.80996
   LastAuthTry 2019-10-06 08:00:48
   MainURL   
   ModuleVersion 3.5.9 - 13.2.2019
   NAME       PolarFlow
   NOTIFYDEV  global
   NR         307
   NTFY_ORDER 50-PolarFlow
   ReplacementEnabled 1
   STATE      ???
   TRIGGERTIME 1570342173.07651
   TRIGGERTIME_FMT 2019-10-06 08:09:33
   TYPE       HTTPMOD
   addr       https://flow.polar.com:443
   auth       0
   buf       
   code       200
   compress   1
   conn       
   data       
   displayurl https://flow.polar.com/training/day/05.10.2019
   header     Cookie: NSC_ued1-qspe-gmpx-mc=ffffffffc3a0987845525d5f4f58455e445a4a4229a1; PLAY_SESSION=eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7Imd0bUV2ZW50IjoiZmxvd0xvZ2luIiwidXNlcklkIjoiNDQ0MDE1MTMifSwiZXhwIjoxNjAxODc3NjQ5LCJuYmYiOjE1NzAzNDE2NDksImlhdCI6MTU3MDM0MTY0OX0.nIdO1Dpq1ukJTtgjKgd_yKg83ZSXECsCbtmAiwSVd2s; POLAR_SESSION=eyJhbGciOiJSUzI1NiJ9.eyJzY29wZXMiOlsiUE9MQVJfU1NPIl0sImV4cCI6MTYwMTg3NzY0OSwiaWF0IjoxNTcwMzQxNjQ5LCJ1c2VySWQiOjQ0NDAxNTEzLCJ1dWlkIjoiMjYyYmJiMDctZDQyOS00ZmJhLWI1N2UtOTExZmViZGM2M2E2In0.jP-_sDafU4oNu2WRIvr8iS7-A0lYMitZ4IuKp_ok5sKU50_jfb0UNEZsWeNasFulc8HHAE1rVfdgRunPHv2uwUdUV_ylsT-3qEVWtqdXcUf1l_paaeyKOXERFuz7Ylao2ZwKK4XLqQWbczcnLYrBGYZ-cW4l2N2mMc9wLnC9ml0Xr-zuJN4PGQcNRS3N-NdsPCRyybkWcsNTru7KEh44GCXfkteEu4osl2fj42iSd6rWOSQZrefh_YjG8vr2hpRecEHNYsib7FiTNh9JPYarqZxbkC2PGwbek8X_ahZUxpfHb2dNsL1yGf71XRqXIcApNgjbcnDA1e5et_OGGaZIZA; POLAR_SSO=1; displayDeviceRegistrationDialog=true
   host       flow.polar.com
   httpheader HTTP/1.0 200 OK
Vary: Origin,Accept-Encoding
Pragma: no-cache
Expires: 0
Set-Cookie: PLAY_SESSION=eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7InN0YXJ0RGF0ZU1pbGxpcyI6IjE1NzAyMzM2MDAwMDAiLCJjYWxlbmRhckludGVydmFsIjoiREFZIiwidXNlcklkIjoiNDQ0MDE1MTMiLCJlbmREYXRlTWlsbGlzIjoiMTU3MDIzMzYwMDAwMCJ9LCJleHAiOjE2MDE4Nzc2NTAsIm5iZiI6MTU3MDM0MTY1MCwiaWF0IjoxNTcwMzQxNjUwfQ.Jpd0dCTdRIw8KslehQt9J3YsUULIXHBYDqpblVTV5mg; Max-Age=31536000; Expires=Mon, 05 Oct 2020 06:00:50 GMT; SameSite=Lax; Path=/; Secure; HTTPOnly
Cache-Control: no-cache, no-store, must-revalidate
Content-Encoding: gzip
Polar-Correlation-Id: 4b4f99f7-e125-44e8-853e-67d6038ecc09
content-length: 14510
Content-Type: text/html; charset=utf-8
Connection: keep-alive
Date: Sun, 06 Oct 2019 06:00:50 GMT
   httpversion 1.0
   hu_blocking 0
   hu_filecount 3
   hu_port    443
   hu_portSfx
   ignoreredirects 0
   loglevel   4
   path       /training/day/05.10.2019
   protocol   https
   redirects  0
   timeout    2
   url        https://flow.polar.com/training/day/05.10.2019
   value      0
   HTTPCookieHash:
     NSC_ued1-qspe-gmpx-mc;/:
       Name       NSC_ued1-qspe-gmpx-mc
       Options    path=/;secure;httponly
       Path       /
       Value      ffffffffc3a0987845525d5f4f58455e445a4a4229a1
     PLAY_SESSION;:
       Name       PLAY_SESSION
       Options    Max-Age=31536000; Expires=Mon, 05 Oct 2020 06:00:50 GMT; SameSite=Lax; Path=/; Secure; HTTPOnly
       Path       
       Value      eyJhbGciOiJIUzI1NiJ9.eyJkYXRhIjp7InN0YXJ0RGF0ZU1pbGxpcyI6IjE1NzAyMzM2MDAwMDAiLCJjYWxlbmRhckludGVydmFsIjoiREFZIiwidXNlcklkIjoiNDQ0MDE1MTMiLCJlbmREYXRlTWlsbGlzIjoiMTU3MDIzMzYwMDAwMCJ9LCJleHAiOjE2MDE4Nzc2NTAsIm5iZiI6MTU3MDM0MTY1MCwiaWF0IjoxNTcwMzQxNjUwfQ.Jpd0dCTdRIw8KslehQt9J3YsUULIXHBYDqpblVTV5mg
     POLAR_SESSION;:
       Name       POLAR_SESSION
       Options    Max-Age=31536000; Expires=Mon, 05 Oct 2020 06:00:49 GMT; Path=/; Domain=.polar.com; Secure; HTTPOnly
       Path       
       Value      eyJhbGciOiJSUzI1NiJ9.eyJzY29wZXMiOlsiUE9MQVJfU1NPIl0sImV4cCI6MTYwMTg3NzY0OSwiaWF0IjoxNTcwMzQxNjQ5LCJ1c2VySWQiOjQ0NDAxNTEzLCJ1dWlkIjoiMjYyYmJiMDctZDQyOS00ZmJhLWI1N2UtOTExZmViZGM2M2E2In0.jP-_sDafU4oNu2WRIvr8iS7-A0lYMitZ4IuKp_ok5sKU50_jfb0UNEZsWeNasFulc8HHAE1rVfdgRunPHv2uwUdUV_ylsT-3qEVWtqdXcUf1l_paaeyKOXERFuz7Ylao2ZwKK4XLqQWbczcnLYrBGYZ-cW4l2N2mMc9wLnC9ml0Xr-zuJN4PGQcNRS3N-NdsPCRyybkWcsNTru7KEh44GCXfkteEu4osl2fj42iSd6rWOSQZrefh_YjG8vr2hpRecEHNYsib7FiTNh9JPYarqZxbkC2PGwbek8X_ahZUxpfHb2dNsL1yGf71XRqXIcApNgjbcnDA1e5et_OGGaZIZA
     POLAR_SSO;:
       Name       POLAR_SSO
       Options    Max-Age=31556926; Expires=Mon, 05 Oct 2020 11:49:35 GMT; Path=/; Domain=.polar.com; Secure; HTTPOnly
       Path       
       Value      1
     displayDeviceRegistrationDialog;:
       Name       displayDeviceRegistrationDialog
       Options    Path=/
       Path       
       Value      true
   OLDREADINGS:
   QUEUE:
   READINGS:
     2019-10-06 08:00:50   myCurrentWeight 78.9
   REQUEST:
     data       
     header     
     ignoreredirects 0
     retryCount 1
     type       get09
     url        https://flow.polar.com/training/day/myDate
     value      0
   defptr:
     readingBase:
       myCurrentWeight get
     readingNum:
       myCurrentWeight 09
     readingOutdated:
     requestReadings:
       get09:
         myCurrentWeight get 09
   sslargs:
Attributes:
   enableCookies 1
   get09Name  myCurrentWeight
   get09Regex <input type=text id=weight name=weight value=\"([^"]*)\"
   get09URL   https://flow.polar.com/training/day/myDate
   reAuthRegex Sign in
   replacement09Mode text
   replacement09Regex (myDate)
   replacement09Value 05.10.2019
   room       OnlineServices
   showBody   0
   showError  1
   sid01Data  email=c3435221@urhen.com&password=meinPasswort
   sid01IgnoreRedirects 1
   sid01URL   https://flow.polar.com/login
   userattr   get09Name get09Regex get09Replacement01Value get09URL replacement09Mode:reading,internal,text,expression,key replacement09Regex replacement09Value sid01Data sid01IgnoreRedirects:0,1 sid01URL
   verbose    5


Vielen Dank amenomade für deine Hilfe!
FHEM auf Raspbery Pi 4
HM: HM-CFG-USB-2,HM-CC-RT-DN,HM-TC-IT-WM-W-EU,HM-SEC-SCo,HM-ES-PMSw1-Pl,HM-Sen-MDIR-WM55 | Philips hue: LCT001,LWL001,FLS-PP lp | Logitech Harmony Ultimate | zigbee2mqtt: WSDCGQ01LM, WSDCGQ11LM, MFKZQ01LM, MCCGQ11LM