Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. IOBroker Parser Daten auslesen

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    10
    1
    127

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

IOBroker Parser Daten auslesen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
parser adapter
20 Beiträge 5 Kommentatoren 3.3k Aufrufe 1 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • W Offline
    W Offline
    w_stefan
    schrieb am zuletzt editiert von
    #1

    Hallo an Alle,

    Ich beschäftige mich schon einige Zeit mit IOBroker und ich finde es einfach nur toll.
    Da ich kein Programmiere bin und fast keine Kenntnisse darüber besitze finde ich es super wie einfach zum Teil IOBroker ist und wie toll einem die Community helfen kann, meistens ;-)

    Ich habe ein kleines Problem mit dem Parser Adapter, ich möchte Daten von einer Internen Webseite auslesen und komme da nicht weiter.
    Ich habe den Quellcode schon in https://regex101.com/ kopiert und habe auch einen Full match aber ich bekomme das mit der Group nicht hin.

    Den Wert den ich auslesen möchte ist
    Production today:

    auf der Webseite wird es so dargestellt, da ist ein Leerzeichen nach dem :
    Production_today.JPG
    Wer kann mir denn da helfen ?
    bzw gibt's da eine Dokumentation ?

    Danke für die Hilfe,

    mfg Stefan

    Der Quellcode sieht so aus:

    <!doctype html>
    <html ng-app="smartpi">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700' rel='stylesheet' type='text/css'>
        <link rel="stylesheet" href="css/reset.css">
        <!-- CSS reset -->
        <link rel="stylesheet" href="vendor/font-awesome/css/font-awesome.min.css" />
        <link href="vendor/metisMenu/metisMenu.min.css" rel="stylesheet">
        <!-- MetisMenu CSS -->
        <link rel="stylesheet" href="bower_components/nvd3/build/nv.d3.css">
        <link rel="stylesheet" href="css/stretchy.css">
    
        <link href="vendor/md-data-table/dist/md-data-table.min.css" rel="stylesheet" type="text/css" />
        <!-- Resource style -->
        <link rel="stylesheet" href="css/styles.css?v=1" />
        <!-- Custom CSS -->
        <link href="css/sb-admin-2.css" rel="stylesheet">
        <!-- <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.css"> -->
        <script>
            document.write("<link rel='stylesheet' href='css/angular-material.min.css?v=" + Date.now() + "'/>");
        </script>
        <script>
            document.write(" <script type = 'text/javascript' src='vendor/md-data-table/dist/md-data-table.min.js?v=" + Date.now() + "'><\/script>");
        </script>
        <!--<link rel="stylesheet" href="css/smartpi.css?v=1" /> -->
        <script>
            document.write("<link rel='stylesheet' href='css/smartpi.css?v=" + Date.now() + "'/>");
        </script>
        <script src="js/modernizr.js"></script>
        <!-- Modernizr -->
        <script src="bower_components/angular/angular.js"></script>
        <script src="bower_components/d3/d3.js"></script>
        <script src="bower_components/nvd3/build/nv.d3.js"></script>
        <!-- or use another assembly -->
        <script src="bower_components/angular-nvd3/dist/angular-nvd3.js"></script>
        <script src="bower_components/angular-resource/angular-resource.js"></script>
        <script src="bower_components/moment/moment.js"></script>
        <script src="bower_components/angular-file-saver/dist/angular-file-saver.bundle.js"></script>
        <script src="bower_components/angular-base64/angular-base64.js"></script>
        <script src="bower_components/crypto-js/crypto-js.js"></script>
        <!-- <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script> -->
        <script>
            document.write("<script type='text/javascript' src='js/angular-animate.min.js?v=" + Date.now() + "'><\/script>");
        </script>
        <!-- <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script> -->
        <script>
            document.write("<script type='text/javascript' src='js/angular-aria.min.js?v=" + Date.now() + "'><\/script>");
        </script>
        <!-- <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-messages.min.js"></script> -->
        <script>
            document.write("<script type='text/javascript' src='js/angular-messages.min.js?v=" + Date.now() + "'><\/script>");
        </script>
        <!-- <script src="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.js"></script> -->
        <script>
            document.write("<script type='text/javascript' src='js/angular-material.min.js?v=" + Date.now() + "'><\/script>");
        </script>
        <script>
            document.write(" <script type = 'text/javascript' src='vendor/md-data-table/dist/md-data-table.min.js?v=" + Date.now() + "'><\/script>");
        </script>
        <!--<script src="js/app.js?v=1"></script>-->
        <script>
            document.write("<script type='text/javascript' src='js/app.js?v=" + Date.now() + "'><\/script>");
        </script>
        <!--<script src="js/services.js?v=1"></script>-->
        <script>
            document.write("<script type='text/javascript' src='js/services.js?v=" + Date.now() + "'><\/script>");
        </script>
        <!--<script src="js/module.js?v=1"></script>-->
        <script>
            document.write("<script type='text/javascript' src='js/module.js?v=" + Date.now() + "'><\/script>");
        </script>
        <!--<script src="js/controllers.js?v=1"></script>-->
        <script>
            <!-- <link rel="stylesheet" href="vendor/bootstrap/css/bootstrap.min.css" /> -->
            document.write("<script type='text/javascript' src='js/controllers.js?v=" + Date.now() + "'><\/script>");
        </script>
        <title>SmartPi Dashboard</title>
    </head>
    
    <body ng-app="SmartPi" ng-controller="MainCtrl">
        <header>
            <nav class="cd-stretchy-nav">
                <a class="cd-nav-trigger" href="#0">
    
                    <span aria-hidden="true"></span>
                </a>
                <ul>
                    <li><a href="index.html" class="active"><span></span></a></li>
                    <li><a href="export.html"><span></span></a></li>
                    <li><a ng-href="{{nodelocation}}" target="_blank"><span></span></a>
                        <li><a href="settings.html"><span></span></a></li>
                        <!-- <li><a href="#0"><span></span></a></li> -->
                        <!-- <li><a href="#0"><span></span></a></li> -->
                        <!-- <li><a href="#0"><span></span></a></li> -->
                </ul>
                <span aria-hidden="true" class="stretchy-nav-bg"></span>
            </nav>
        </header>
        <!--<main class="cd-main-content">
             <!-- main content here -->
        <!--</main>-->
        <md-content class="md-default-theme">
            <div class="md-toolbar-tools">
                <span flex></span>
                <div hide show-gt-sm>
                    <img src="img/enerserve.png" alt="enerserve logo" height="52">
                    <br>
                    <span style="font-size: small;">Version: {{softwareversion}}</span>
                </div>
                <div show hide-gt-sm>
                    <md-button ng-click="openSidebar()" class="md-fab md-primary" aria-label="Graph Menu" hide-gt-sm>
                        <md-icon md-svg-src="img/icons/ic_menu_24px.svg"></md-icon>
                    </md-button>
                </div>
            </div>
            </md-toolbar>
            <div flex="66">
                <section layout="row">
    
                    <md-content flex>
    
    
                        <div ng-switch="toShow">
                            <div ng-switch-when="dashboard">
    
                                <div layout="row" layout-wrap layout-sm="column">
                                    <div flex>
                                        <md-card class="md-default-theme" style="margin-top: 0px;">
                                            <md-toolbar layout="row">
                                                <div class="md-toolbar-tools">
                                                    <h2>
                                                        <span>Power</span>
                                                    </h2>
                                                    <span flex></span>
                                                    <div class="huge">{{formatNumber(momentary.power_total)}} W</div>
                                                </div>
                                            </md-toolbar>
                                            <md-toolbar layout="row">
                                                <div class="md-toolbar-tools">
                                                    <div class="flex">
                                                        <h1 class="display-2">P1: {{formatNumber(momentary.power[0])}} W</h1>
                                                    </div>
                                                    <div class="flex">
                                                        <h1 class="display-2">P2: {{formatNumber(momentary.power[1])}} W</h1>
                                                    </div>
                                                    <div class="flex">
                                                        <h1 class="display-2">P3: {{formatNumber(momentary.power[2])}} W</h1>
                                                    </div>
                                                </div>
                                            </md-toolbar>
                                            <div layout="row">
                                                <div flex>
                                                    Consumption today: {{formatNumber(dayconsumption_total/1000)}} kWh
                                                </div>
                                                <div flex>
                                                    Production today: {{formatNumber(dayproduction_total/1000)}} kWh
                                                </div>
                                            </div>
                                    </div>
                                    <div flex>
                                        <md-card class="md-default-theme" style="margin-top: 0px;">
                                            <md-toolbar layout="row">
                                                <div class="md-toolbar-tools">
                                                    <h2>
                                                        <span>Current</span>
                                                    </h2>
                                                    <span flex></span>
                                                    <div class="huge">{{formatNumber(momentary.current_total)}} A</div>
                                                </div>
                                            </md-toolbar>
                                            <md-toolbar layout="row">
                                                <div class="md-toolbar-tools">
                                                    <div class="flex">
                                                        <h1 class="display-2">I1: {{formatNumber(momentary.current[0])}} A</h1>
                                                    </div>
                                                    <div class="flex">
                                                        <h1 class="display-2">I2: {{formatNumber(momentary.current[1])}} A</h1>
                                                    </div>
                                                    <div class="flex">
                                                        <h1 class="display-2">I3: {{formatNumber(momentary.current[2])}} A</h1>
                                                    </div>
                                                </div>
                                            </md-toolbar>
                                            <div layout="row">
                                                <div flex="33">
                                                    U1: {{formatNumber(momentary.voltage[0])}} V
                                                </div>
                                                <div flex="33">
                                                    U2: {{formatNumber(momentary.voltage[1])}} V
                                                </div>
                                                <div flex="33">
                                                    U3: {{formatNumber(momentary.voltage[2])}} V
                                                </div>
                                            </div>
                                            <div layout="row">
                                                <div flex="33">
                                                    F1: {{formatNumber(momentary.frequency[0])}} Hz
                                                </div>
                                                <div flex="33">
                                                    F2: {{formatNumber(momentary.frequency[1])}} Hz
                                                </div>
                                                <div flex="33">
                                                    F3: {{formatNumber(momentary.frequency[2])}} Hz
                                                </div>
                                            </div>
                                            <div layout="row">
                                                <div flex="33">
                                                    Cos Phi 1: {{formatNumber(momentary.cosphi[0])}}
                                                </div>
                                                <div flex="33">
                                                    Cos Phi 2: {{formatNumber(momentary.cosphi[1])}}
                                                </div>
                                                <div flex="33">
                                                    Cos Phi 3: {{formatNumber(momentary.cosphi[2])}}
                                                </div>
                                            </div>
                                    </div>
                                </div>
                                <div layout="row" layout-wrap>
                                    <div flex>
                                        <md-card class="md-default-theme">
                                            <md-toolbar layout="row">
                                                <div class="md-toolbar-tools">
                                                    <h2>
                                                        <span>Consumption</span>
                                                    </h2>
                                                    <span flex></span>
                                                    <div class="huge">Week</div>
                                                </div>
                                            </md-toolbar>
                                            <nvd3 options='weekconsumptionoptions' data='weekconsumptiondata'></nvd3>
                                        </md-card>
                                    </div>
                                </div>
    
                            </div>
    
                            <div ng-switch-when="chart">
    
                                <div layout="row" layout-wrap>
                                    <div flex>
                                        <md-card class="md-default-theme" style="margin-top: 0px;">
                                            <md-toolbar layout="row">
                                                <div class="md-toolbar-tools">
                                                    <span flex></span>
                                                    <md-button ng-click="dayback()" class="md-raised">
                                                        < day back </md-button>
                                                            <md-button ng-click="dayforward()" class="md-raised" ng-disabled="disabledayforwardbutton"> day forward > </md-button>
                                                            <md-button ng-click="adddayback()" class="md-raised">
                                                                << add day back </md-button>
                                                                    <md-button ng-click="removedayback()" class="md-raised" ng-disabled="disabledayremovebutton"> >> remove day back </md-button>
                                                </div>
                                            </md-toolbar>
                                            <md-toolbar layout="row">
                                                <div class="md-toolbar-tools">
                                                    <span flex></span>
                                                    <md-button ng-init="showLinechartPower = true" ng-click="linechartPower()" class="md-raised" ng-class="btnpowerline">power</md-button>
                                                    <md-button ng-init="showLinechartEnergyPos = false" ng-click="linechartEnergy_pos()" class="md-raised" ng-class="btnenergy_posline">energy consumption</md-button>
                                                    <md-button ng-init="showLinechartEnergyNeg = false" ng-click="linechartEnergy_neg()" class="md-raised" ng-class="btnenergy_negline">energy production</md-button>
                                                    <md-button ng-init="showLinechartCurrent = false" ng-click="linechartCurrent()" class="md-raised" ng-class="btncurrentline">current</md-button>
                                                    <md-button ng-init="showLinechartVoltage = false" ng-click="linechartVoltage()" class="md-raised" ng-class="btnvoltageline">voltage</md-button>
                                                </div>
                                            </md-toolbar>
                                            <nvd3 options='options' data='data'></nvd3>
                                        </md-card>
                                    </div>
                                </div>
    
    
                            </div>
                        </div>
    
    
    
    
                    </md-content>
    
                    <md-sidenav class="md-sidenav-right" md-component-id="sidebarright" md-is-locked-open="$mdMedia('gt-sm')" md-whiteframe="4">
                        <md-toolbar class="md-theme-indigo">
                            <div layout="row">
                                <h1 class="md-toolbar-tools">Graph</h1>
                                <span flex></span>
                                <md-icon ng-click="closeSidebar()" md-svg-src="img/icons/ic_close_48px.svg" class="s48" aria-label="Close" hide-gt-sm></md-icon>
                            </div>
                        </md-toolbar>
                        <md-content layout-padding="" layout="column" layout-align="start start">
                            <md-button style="text-align:left" ng-click="show('dashboard')" class="md-primary">Dashboard</md-button>
                            <md-button style="text-align:left" ng-click="show('chart')" class="md-primary">Chart</md-button>
    
                        </md-content>
                    </md-sidenav>
    
                </section>
            </div>
        </md-content>
        <script src="js/jquery-2.1.4.js"></script>
        <script src="js/main.js"></script>
        <!-- Resource jQuery -->
        <script src="bower_components/tether/dist/js/tether.min.js"></script>
        <script src="vendor/bootstrap/js/bootstrap.min.js"></script>
        <!-- Metis Menu Plugin JavaScript -->
        <script src="vendor/metisMenu/metisMenu.min.js"></script>
        <script src="js/sb-admin-2.js"></script>
        <script src="js/scripts.js"></script>
    </body>
    
    </html>
    
    HomoranH 1 Antwort Letzte Antwort
    0
    • H Offline
      H Offline
      HenryH
      schrieb am zuletzt editiert von
      #2

      Das Hauptproblem ist, dass der Wert den du auslesen möchtest, erst durch Javascript geladen / geschrieben wird. Das bekommst du also nicht nur mit Regex hin. Auf Anhieb konnte ich auch nicht finden, wie der Wert abgerufen wird. Das ist vermutlich in einem der vielen JavaScript Includes versteckt.
      Ich würde an deiner Stelle mal im Browser die Entwickler Konsole Öffnen, dann die Seite neu laden und schauen, was alles im Reiter Network so auftaucht. Dort wird irgend wo eine Anfrage zu finden sein, die den Wert abruft.

      1 Antwort Letzte Antwort
      0
      • W w_stefan

        Hallo an Alle,

        Ich beschäftige mich schon einige Zeit mit IOBroker und ich finde es einfach nur toll.
        Da ich kein Programmiere bin und fast keine Kenntnisse darüber besitze finde ich es super wie einfach zum Teil IOBroker ist und wie toll einem die Community helfen kann, meistens ;-)

        Ich habe ein kleines Problem mit dem Parser Adapter, ich möchte Daten von einer Internen Webseite auslesen und komme da nicht weiter.
        Ich habe den Quellcode schon in https://regex101.com/ kopiert und habe auch einen Full match aber ich bekomme das mit der Group nicht hin.

        Den Wert den ich auslesen möchte ist
        Production today:

        auf der Webseite wird es so dargestellt, da ist ein Leerzeichen nach dem :
        Production_today.JPG
        Wer kann mir denn da helfen ?
        bzw gibt's da eine Dokumentation ?

        Danke für die Hilfe,

        mfg Stefan

        Der Quellcode sieht so aus:

        <!doctype html>
        <html ng-app="smartpi">
        
        <head>
            <meta charset="UTF-8">
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <link href='https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700' rel='stylesheet' type='text/css'>
            <link rel="stylesheet" href="css/reset.css">
            <!-- CSS reset -->
            <link rel="stylesheet" href="vendor/font-awesome/css/font-awesome.min.css" />
            <link href="vendor/metisMenu/metisMenu.min.css" rel="stylesheet">
            <!-- MetisMenu CSS -->
            <link rel="stylesheet" href="bower_components/nvd3/build/nv.d3.css">
            <link rel="stylesheet" href="css/stretchy.css">
        
            <link href="vendor/md-data-table/dist/md-data-table.min.css" rel="stylesheet" type="text/css" />
            <!-- Resource style -->
            <link rel="stylesheet" href="css/styles.css?v=1" />
            <!-- Custom CSS -->
            <link href="css/sb-admin-2.css" rel="stylesheet">
            <!-- <link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.css"> -->
            <script>
                document.write("<link rel='stylesheet' href='css/angular-material.min.css?v=" + Date.now() + "'/>");
            </script>
            <script>
                document.write(" <script type = 'text/javascript' src='vendor/md-data-table/dist/md-data-table.min.js?v=" + Date.now() + "'><\/script>");
            </script>
            <!--<link rel="stylesheet" href="css/smartpi.css?v=1" /> -->
            <script>
                document.write("<link rel='stylesheet' href='css/smartpi.css?v=" + Date.now() + "'/>");
            </script>
            <script src="js/modernizr.js"></script>
            <!-- Modernizr -->
            <script src="bower_components/angular/angular.js"></script>
            <script src="bower_components/d3/d3.js"></script>
            <script src="bower_components/nvd3/build/nv.d3.js"></script>
            <!-- or use another assembly -->
            <script src="bower_components/angular-nvd3/dist/angular-nvd3.js"></script>
            <script src="bower_components/angular-resource/angular-resource.js"></script>
            <script src="bower_components/moment/moment.js"></script>
            <script src="bower_components/angular-file-saver/dist/angular-file-saver.bundle.js"></script>
            <script src="bower_components/angular-base64/angular-base64.js"></script>
            <script src="bower_components/crypto-js/crypto-js.js"></script>
            <!-- <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script> -->
            <script>
                document.write("<script type='text/javascript' src='js/angular-animate.min.js?v=" + Date.now() + "'><\/script>");
            </script>
            <!-- <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script> -->
            <script>
                document.write("<script type='text/javascript' src='js/angular-aria.min.js?v=" + Date.now() + "'><\/script>");
            </script>
            <!-- <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-messages.min.js"></script> -->
            <script>
                document.write("<script type='text/javascript' src='js/angular-messages.min.js?v=" + Date.now() + "'><\/script>");
            </script>
            <!-- <script src="http://ajax.googleapis.com/ajax/libs/angular_material/1.1.0/angular-material.min.js"></script> -->
            <script>
                document.write("<script type='text/javascript' src='js/angular-material.min.js?v=" + Date.now() + "'><\/script>");
            </script>
            <script>
                document.write(" <script type = 'text/javascript' src='vendor/md-data-table/dist/md-data-table.min.js?v=" + Date.now() + "'><\/script>");
            </script>
            <!--<script src="js/app.js?v=1"></script>-->
            <script>
                document.write("<script type='text/javascript' src='js/app.js?v=" + Date.now() + "'><\/script>");
            </script>
            <!--<script src="js/services.js?v=1"></script>-->
            <script>
                document.write("<script type='text/javascript' src='js/services.js?v=" + Date.now() + "'><\/script>");
            </script>
            <!--<script src="js/module.js?v=1"></script>-->
            <script>
                document.write("<script type='text/javascript' src='js/module.js?v=" + Date.now() + "'><\/script>");
            </script>
            <!--<script src="js/controllers.js?v=1"></script>-->
            <script>
                <!-- <link rel="stylesheet" href="vendor/bootstrap/css/bootstrap.min.css" /> -->
                document.write("<script type='text/javascript' src='js/controllers.js?v=" + Date.now() + "'><\/script>");
            </script>
            <title>SmartPi Dashboard</title>
        </head>
        
        <body ng-app="SmartPi" ng-controller="MainCtrl">
            <header>
                <nav class="cd-stretchy-nav">
                    <a class="cd-nav-trigger" href="#0">
        
                        <span aria-hidden="true"></span>
                    </a>
                    <ul>
                        <li><a href="index.html" class="active"><span></span></a></li>
                        <li><a href="export.html"><span></span></a></li>
                        <li><a ng-href="{{nodelocation}}" target="_blank"><span></span></a>
                            <li><a href="settings.html"><span></span></a></li>
                            <!-- <li><a href="#0"><span></span></a></li> -->
                            <!-- <li><a href="#0"><span></span></a></li> -->
                            <!-- <li><a href="#0"><span></span></a></li> -->
                    </ul>
                    <span aria-hidden="true" class="stretchy-nav-bg"></span>
                </nav>
            </header>
            <!--<main class="cd-main-content">
                 <!-- main content here -->
            <!--</main>-->
            <md-content class="md-default-theme">
                <div class="md-toolbar-tools">
                    <span flex></span>
                    <div hide show-gt-sm>
                        <img src="img/enerserve.png" alt="enerserve logo" height="52">
                        <br>
                        <span style="font-size: small;">Version: {{softwareversion}}</span>
                    </div>
                    <div show hide-gt-sm>
                        <md-button ng-click="openSidebar()" class="md-fab md-primary" aria-label="Graph Menu" hide-gt-sm>
                            <md-icon md-svg-src="img/icons/ic_menu_24px.svg"></md-icon>
                        </md-button>
                    </div>
                </div>
                </md-toolbar>
                <div flex="66">
                    <section layout="row">
        
                        <md-content flex>
        
        
                            <div ng-switch="toShow">
                                <div ng-switch-when="dashboard">
        
                                    <div layout="row" layout-wrap layout-sm="column">
                                        <div flex>
                                            <md-card class="md-default-theme" style="margin-top: 0px;">
                                                <md-toolbar layout="row">
                                                    <div class="md-toolbar-tools">
                                                        <h2>
                                                            <span>Power</span>
                                                        </h2>
                                                        <span flex></span>
                                                        <div class="huge">{{formatNumber(momentary.power_total)}} W</div>
                                                    </div>
                                                </md-toolbar>
                                                <md-toolbar layout="row">
                                                    <div class="md-toolbar-tools">
                                                        <div class="flex">
                                                            <h1 class="display-2">P1: {{formatNumber(momentary.power[0])}} W</h1>
                                                        </div>
                                                        <div class="flex">
                                                            <h1 class="display-2">P2: {{formatNumber(momentary.power[1])}} W</h1>
                                                        </div>
                                                        <div class="flex">
                                                            <h1 class="display-2">P3: {{formatNumber(momentary.power[2])}} W</h1>
                                                        </div>
                                                    </div>
                                                </md-toolbar>
                                                <div layout="row">
                                                    <div flex>
                                                        Consumption today: {{formatNumber(dayconsumption_total/1000)}} kWh
                                                    </div>
                                                    <div flex>
                                                        Production today: {{formatNumber(dayproduction_total/1000)}} kWh
                                                    </div>
                                                </div>
                                        </div>
                                        <div flex>
                                            <md-card class="md-default-theme" style="margin-top: 0px;">
                                                <md-toolbar layout="row">
                                                    <div class="md-toolbar-tools">
                                                        <h2>
                                                            <span>Current</span>
                                                        </h2>
                                                        <span flex></span>
                                                        <div class="huge">{{formatNumber(momentary.current_total)}} A</div>
                                                    </div>
                                                </md-toolbar>
                                                <md-toolbar layout="row">
                                                    <div class="md-toolbar-tools">
                                                        <div class="flex">
                                                            <h1 class="display-2">I1: {{formatNumber(momentary.current[0])}} A</h1>
                                                        </div>
                                                        <div class="flex">
                                                            <h1 class="display-2">I2: {{formatNumber(momentary.current[1])}} A</h1>
                                                        </div>
                                                        <div class="flex">
                                                            <h1 class="display-2">I3: {{formatNumber(momentary.current[2])}} A</h1>
                                                        </div>
                                                    </div>
                                                </md-toolbar>
                                                <div layout="row">
                                                    <div flex="33">
                                                        U1: {{formatNumber(momentary.voltage[0])}} V
                                                    </div>
                                                    <div flex="33">
                                                        U2: {{formatNumber(momentary.voltage[1])}} V
                                                    </div>
                                                    <div flex="33">
                                                        U3: {{formatNumber(momentary.voltage[2])}} V
                                                    </div>
                                                </div>
                                                <div layout="row">
                                                    <div flex="33">
                                                        F1: {{formatNumber(momentary.frequency[0])}} Hz
                                                    </div>
                                                    <div flex="33">
                                                        F2: {{formatNumber(momentary.frequency[1])}} Hz
                                                    </div>
                                                    <div flex="33">
                                                        F3: {{formatNumber(momentary.frequency[2])}} Hz
                                                    </div>
                                                </div>
                                                <div layout="row">
                                                    <div flex="33">
                                                        Cos Phi 1: {{formatNumber(momentary.cosphi[0])}}
                                                    </div>
                                                    <div flex="33">
                                                        Cos Phi 2: {{formatNumber(momentary.cosphi[1])}}
                                                    </div>
                                                    <div flex="33">
                                                        Cos Phi 3: {{formatNumber(momentary.cosphi[2])}}
                                                    </div>
                                                </div>
                                        </div>
                                    </div>
                                    <div layout="row" layout-wrap>
                                        <div flex>
                                            <md-card class="md-default-theme">
                                                <md-toolbar layout="row">
                                                    <div class="md-toolbar-tools">
                                                        <h2>
                                                            <span>Consumption</span>
                                                        </h2>
                                                        <span flex></span>
                                                        <div class="huge">Week</div>
                                                    </div>
                                                </md-toolbar>
                                                <nvd3 options='weekconsumptionoptions' data='weekconsumptiondata'></nvd3>
                                            </md-card>
                                        </div>
                                    </div>
        
                                </div>
        
                                <div ng-switch-when="chart">
        
                                    <div layout="row" layout-wrap>
                                        <div flex>
                                            <md-card class="md-default-theme" style="margin-top: 0px;">
                                                <md-toolbar layout="row">
                                                    <div class="md-toolbar-tools">
                                                        <span flex></span>
                                                        <md-button ng-click="dayback()" class="md-raised">
                                                            < day back </md-button>
                                                                <md-button ng-click="dayforward()" class="md-raised" ng-disabled="disabledayforwardbutton"> day forward > </md-button>
                                                                <md-button ng-click="adddayback()" class="md-raised">
                                                                    << add day back </md-button>
                                                                        <md-button ng-click="removedayback()" class="md-raised" ng-disabled="disabledayremovebutton"> >> remove day back </md-button>
                                                    </div>
                                                </md-toolbar>
                                                <md-toolbar layout="row">
                                                    <div class="md-toolbar-tools">
                                                        <span flex></span>
                                                        <md-button ng-init="showLinechartPower = true" ng-click="linechartPower()" class="md-raised" ng-class="btnpowerline">power</md-button>
                                                        <md-button ng-init="showLinechartEnergyPos = false" ng-click="linechartEnergy_pos()" class="md-raised" ng-class="btnenergy_posline">energy consumption</md-button>
                                                        <md-button ng-init="showLinechartEnergyNeg = false" ng-click="linechartEnergy_neg()" class="md-raised" ng-class="btnenergy_negline">energy production</md-button>
                                                        <md-button ng-init="showLinechartCurrent = false" ng-click="linechartCurrent()" class="md-raised" ng-class="btncurrentline">current</md-button>
                                                        <md-button ng-init="showLinechartVoltage = false" ng-click="linechartVoltage()" class="md-raised" ng-class="btnvoltageline">voltage</md-button>
                                                    </div>
                                                </md-toolbar>
                                                <nvd3 options='options' data='data'></nvd3>
                                            </md-card>
                                        </div>
                                    </div>
        
        
                                </div>
                            </div>
        
        
        
        
                        </md-content>
        
                        <md-sidenav class="md-sidenav-right" md-component-id="sidebarright" md-is-locked-open="$mdMedia('gt-sm')" md-whiteframe="4">
                            <md-toolbar class="md-theme-indigo">
                                <div layout="row">
                                    <h1 class="md-toolbar-tools">Graph</h1>
                                    <span flex></span>
                                    <md-icon ng-click="closeSidebar()" md-svg-src="img/icons/ic_close_48px.svg" class="s48" aria-label="Close" hide-gt-sm></md-icon>
                                </div>
                            </md-toolbar>
                            <md-content layout-padding="" layout="column" layout-align="start start">
                                <md-button style="text-align:left" ng-click="show('dashboard')" class="md-primary">Dashboard</md-button>
                                <md-button style="text-align:left" ng-click="show('chart')" class="md-primary">Chart</md-button>
        
                            </md-content>
                        </md-sidenav>
        
                    </section>
                </div>
            </md-content>
            <script src="js/jquery-2.1.4.js"></script>
            <script src="js/main.js"></script>
            <!-- Resource jQuery -->
            <script src="bower_components/tether/dist/js/tether.min.js"></script>
            <script src="vendor/bootstrap/js/bootstrap.min.js"></script>
            <!-- Metis Menu Plugin JavaScript -->
            <script src="vendor/metisMenu/metisMenu.min.js"></script>
            <script src="js/sb-admin-2.js"></script>
            <script src="js/scripts.js"></script>
        </body>
        
        </html>
        
        HomoranH Nicht stören
        HomoranH Nicht stören
        Homoran
        Global Moderator Administrators
        schrieb am zuletzt editiert von
        #3

        @w_stefan sagte in IOBroker Parser Daten auslesen:

        gibt's da eine Dokumentation ?

        versuch es mal auf regex101.com

        Da habe ich es versucht, aber leider ist dein Screenshot und Quelltext nicht vom selben Zeitpunkt.

        Das "Problem" ist, dass "Production today" und der Wert nicht zusammenhängend erzegt werden, sondern anscheinend erst die Beschriftungen, dann später die Werte.
        Im Quelltext existiert aber keine 18.85

        <div flex>
                                                        Production today: {{formatNumber(dayproduction_total/1000)}} kWh
                                                    </div>
        

        Ich fürchte sogar, dass die Daten woanders her kommen und über Platzhalter eingesetzt werden

        kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

        Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

        der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

        W 1 Antwort Letzte Antwort
        0
        • H Offline
          H Offline
          HenryH
          schrieb am zuletzt editiert von
          #4

          Ich habe mal nach "smartpi" gesucht, das ist im Quelltext als Applikationsname angegeben. Falls es dieser SmartPi ist, gibt es wohl eine API: https://www.enerserve.eu/en/service/smartpi/manual/api.html

          Du kannst ja mal diese URL im Browser testen: http://ipaddress:1080/api/all/all/now

          1 Antwort Letzte Antwort
          0
          • HomoranH Homoran

            @w_stefan sagte in IOBroker Parser Daten auslesen:

            gibt's da eine Dokumentation ?

            versuch es mal auf regex101.com

            Da habe ich es versucht, aber leider ist dein Screenshot und Quelltext nicht vom selben Zeitpunkt.

            Das "Problem" ist, dass "Production today" und der Wert nicht zusammenhängend erzegt werden, sondern anscheinend erst die Beschriftungen, dann später die Werte.
            Im Quelltext existiert aber keine 18.85

            <div flex>
                                                            Production today: {{formatNumber(dayproduction_total/1000)}} kWh
                                                        </div>
            

            Ich fürchte sogar, dass die Daten woanders her kommen und über Platzhalter eingesetzt werden

            W Offline
            W Offline
            w_stefan
            schrieb am zuletzt editiert von
            #5

            @Homoran

            @HenryH

            Ich habe den Firefox Inspektor verwendet, leider kann ich da nur einen Screenshot erzeugen, aber da wird der Wert angezeigt.
            Inspektor.JPG

            Die API hat leider keine Production today: ich habe auch schon versucht die Daten über Prometheus export auszulesen da fehlen aber auch dieser Wert.

            Prometheus export: http://192.168.1.40:9246/metrics

            # HELP go_gc_duration_seconds A summary of the GC invocation durations.
            # TYPE go_gc_duration_seconds summary
            go_gc_duration_seconds{quantile="0"} 0.000202916
            go_gc_duration_seconds{quantile="0.25"} 0.000440885
            go_gc_duration_seconds{quantile="0.5"} 0.000534945
            go_gc_duration_seconds{quantile="0.75"} 0.000700986
            go_gc_duration_seconds{quantile="1"} 0.015456939
            go_gc_duration_seconds_sum 23.252685806
            go_gc_duration_seconds_count 19881
            # HELP go_goroutines Number of goroutines that currently exist.
            # TYPE go_goroutines gauge
            go_goroutines 10
            # HELP go_info Information about the Go environment.
            # TYPE go_info gauge
            go_info{version="go1.9.2"} 1
            # HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.
            # TYPE go_memstats_alloc_bytes gauge
            go_memstats_alloc_bytes 903216
            # HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
            # TYPE go_memstats_alloc_bytes_total counter
            go_memstats_alloc_bytes_total 1.4083734376e+10
            # HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.
            # TYPE go_memstats_buck_hash_sys_bytes gauge
            go_memstats_buck_hash_sys_bytes 761234
            # HELP go_memstats_frees_total Total number of frees.
            # TYPE go_memstats_frees_total counter
            go_memstats_frees_total 6.92664268e+08
            # HELP go_memstats_gc_cpu_fraction The fraction of this program's available CPU time used by the GC since the program started.
            # TYPE go_memstats_gc_cpu_fraction gauge
            go_memstats_gc_cpu_fraction 1.8929979341869276e-05
            # HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata.
            # TYPE go_memstats_gc_sys_bytes gauge
            go_memstats_gc_sys_bytes 1.907712e+07
            # HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use.
            # TYPE go_memstats_heap_alloc_bytes gauge
            go_memstats_heap_alloc_bytes 903216
            # HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used.
            # TYPE go_memstats_heap_idle_bytes gauge
            go_memstats_heap_idle_bytes 3.391488e+06
            # HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use.
            # TYPE go_memstats_heap_inuse_bytes gauge
            go_memstats_heap_inuse_bytes 1.949696e+06
            # HELP go_memstats_heap_objects Number of allocated objects.
            # TYPE go_memstats_heap_objects gauge
            go_memstats_heap_objects 14971
            # HELP go_memstats_heap_released_bytes Number of heap bytes released to OS.
            # TYPE go_memstats_heap_released_bytes gauge
            go_memstats_heap_released_bytes 2.048e+06
            # HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system.
            # TYPE go_memstats_heap_sys_bytes gauge
            go_memstats_heap_sys_bytes 5.341184e+06
            # HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.
            # TYPE go_memstats_last_gc_time_seconds gauge
            go_memstats_last_gc_time_seconds 1.5590502239117749e+09
            # HELP go_memstats_lookups_total Total number of pointer lookups.
            # TYPE go_memstats_lookups_total counter
            go_memstats_lookups_total 2.229676e+06
            # HELP go_memstats_mallocs_total Total number of mallocs.
            # TYPE go_memstats_mallocs_total counter
            go_memstats_mallocs_total 6.92679239e+08
            # HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures.
            # TYPE go_memstats_mcache_inuse_bytes gauge
            go_memstats_mcache_inuse_bytes 3472
            # HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system.
            # TYPE go_memstats_mcache_sys_bytes gauge
            go_memstats_mcache_sys_bytes 16384
            # HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures.
            # TYPE go_memstats_mspan_inuse_bytes gauge
            go_memstats_mspan_inuse_bytes 20884
            # HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system.
            # TYPE go_memstats_mspan_sys_bytes gauge
            go_memstats_mspan_sys_bytes 49152
            # HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place.
            # TYPE go_memstats_next_gc_bytes gauge
            go_memstats_next_gc_bytes 4.194304e+06
            # HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations.
            # TYPE go_memstats_other_sys_bytes gauge
            go_memstats_other_sys_bytes 1.410794e+06
            # HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator.
            # TYPE go_memstats_stack_inuse_bytes gauge
            go_memstats_stack_inuse_bytes 950272
            # HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator.
            # TYPE go_memstats_stack_sys_bytes gauge
            go_memstats_stack_sys_bytes 950272
            # HELP go_memstats_sys_bytes Number of bytes obtained from system.
            # TYPE go_memstats_sys_bytes gauge
            go_memstats_sys_bytes 2.760614e+07
            # HELP go_threads Number of OS threads created.
            # TYPE go_threads gauge
            go_threads 15
            # HELP http_request_duration_microseconds The HTTP request latencies in microseconds.
            # TYPE http_request_duration_microseconds summary
            http_request_duration_microseconds{handler="prometheus",quantile="0.5"} 24824.777
            http_request_duration_microseconds{handler="prometheus",quantile="0.9"} 24824.777
            http_request_duration_microseconds{handler="prometheus",quantile="0.99"} 24824.777
            http_request_duration_microseconds_sum{handler="prometheus"} 291210.45700000005
            http_request_duration_microseconds_count{handler="prometheus"} 5
            # HELP http_request_size_bytes The HTTP request sizes in bytes.
            # TYPE http_request_size_bytes summary
            http_request_size_bytes{handler="prometheus",quantile="0.5"} 300
            http_request_size_bytes{handler="prometheus",quantile="0.9"} 300
            http_request_size_bytes{handler="prometheus",quantile="0.99"} 300
            http_request_size_bytes_sum{handler="prometheus"} 1532
            http_request_size_bytes_count{handler="prometheus"} 5
            # HELP http_requests_total Total number of HTTP requests made.
            # TYPE http_requests_total counter
            http_requests_total{code="200",handler="prometheus",method="get"} 5
            # HELP http_response_size_bytes The HTTP response sizes in bytes.
            # TYPE http_response_size_bytes summary
            http_response_size_bytes{handler="prometheus",quantile="0.5"} 2166
            http_response_size_bytes{handler="prometheus",quantile="0.9"} 2166
            http_response_size_bytes{handler="prometheus",quantile="0.99"} 2166
            http_response_size_bytes_sum{handler="prometheus"} 10785
            http_response_size_bytes_count{handler="prometheus"} 5
            # HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
            # TYPE process_cpu_seconds_total counter
            process_cpu_seconds_total 21559.23
            # HELP process_max_fds Maximum number of open file descriptors.
            # TYPE process_max_fds gauge
            process_max_fds 1024
            # HELP process_open_fds Number of open file descriptors.
            # TYPE process_open_fds gauge
            process_open_fds 12
            # HELP process_resident_memory_bytes Resident memory size in bytes.
            # TYPE process_resident_memory_bytes gauge
            process_resident_memory_bytes 1.1280384e+07
            # HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
            # TYPE process_start_time_seconds gauge
            process_start_time_seconds 1.55666169412e+09
            # HELP process_virtual_memory_bytes Virtual memory size in bytes.
            # TYPE process_virtual_memory_bytes gauge
            process_virtual_memory_bytes 9.35559168e+08
            # HELP smartpi_active_watts Active Watts
            # TYPE smartpi_active_watts gauge
            smartpi_active_watts{phase="A"} -627.098139
            smartpi_active_watts{phase="B"} -704.090097
            smartpi_active_watts{phase="C"} -461.25288
            # HELP smartpi_amps Line current
            # TYPE smartpi_amps gauge
            smartpi_amps{phase="A"} 2.8728982733314483
            smartpi_amps{phase="B"} 3.0994031262230997
            smartpi_amps{phase="C"} 3.0415257814663175
            smartpi_amps{phase="N"} 2.136357139342743
            # HELP smartpi_apparent_power_volt_amps Line apparent power in volt amps
            # TYPE smartpi_apparent_power_volt_amps gauge
            smartpi_apparent_power_volt_amps{phase="A"} 679.785021
            smartpi_apparent_power_volt_amps{phase="B"} 723.677814
            smartpi_apparent_power_volt_amps{phase="C"} 712.321209
            # HELP smartpi_build_info A metric with a constant '1' value labeled by version, revision, branch, and goversion from which smartpi was built.
            # TYPE smartpi_build_info gauge
            smartpi_build_info{branch="",goversion="go1.9.2",revision="",version=""} 1
            # HELP smartpi_frequency_hertz Line frequency in hertz
            # TYPE smartpi_frequency_hertz gauge
            smartpi_frequency_hertz{phase="A"} 49.98047637641546
            smartpi_frequency_hertz{phase="B"} 49.99023628197617
            smartpi_frequency_hertz{phase="C"} 49.98047637641546
            # HELP smartpi_phase_angle Line voltage phase angle
            # TYPE smartpi_phase_angle gauge
            smartpi_phase_angle{phase="A"} -0.9997823934766707
            smartpi_phase_angle{phase="B"} -0.9990242823004072
            smartpi_phase_angle{phase="C"} -0.7343225094356856
            # HELP smartpi_power_factor_ratio Line power factor ratio
            # TYPE smartpi_power_factor_ratio gauge
            smartpi_power_factor_ratio{phase="A"} -47.51943482438104
            smartpi_power_factor_ratio{phase="B"} -50.117606617687464
            smartpi_power_factor_ratio{phase="C"} -33.355738534523965
            # HELP smartpi_reactive_power_volt_amps Line reactive power in volt amps reactive
            # TYPE smartpi_reactive_power_volt_amps gauge
            smartpi_reactive_power_volt_amps{phase="A"} -1104
            smartpi_reactive_power_volt_amps{phase="B"} -2469
            smartpi_reactive_power_volt_amps{phase="C"} -24768
            # HELP smartpi_volts Line voltage
            # TYPE smartpi_volts gauge
            smartpi_volts{phase="A"} 240.3552
            smartpi_volts{phase="B"} 238.6793
            smartpi_volts{phase="C"} 238.7578
            
            

            API: http://192.168.1.40/api/all/all/now

            {"serial":"smartpi","name":"House","lat":52.3667,"lng":9.7167,"time":"2019-05-28 15:33:57","softwareversion":"","ipaddress":"192.168.1.40","datasets":[{"time":"2019-05-28 15:33:54","phases":[{"phase":1,"name":"phase 1","values":[{"type":"current","unity":"A","info":"","data":2.8374162},{"type":"voltage","unity":"V","info":"","data":240.3186},{"type":"power","unity":"W","info":"","data":-615.93567},{"type":"cosphi","unity":"","info":"","data":-0.9999992},{"type":"frequency","unity":"Hz","info":"","data":49.97072}]},{"phase":2,"name":"phase 2","values":[{"type":"current","unity":"A","info":"","data":3.0533614},{"type":"voltage","unity":"V","info":"","data":239.0356},{"type":"power","unity":"W","info":"","data":-692.0152},{"type":"cosphi","unity":"","info":"","data":-0.99599},{"type":"frequency","unity":"Hz","info":"","data":49.97072}]},{"phase":3,"name":"phase 3","values":[{"type":"current","unity":"A","info":"","data":3.112565},{"type":"voltage","unity":"V","info":"","data":238.7494},{"type":"power","unity":"W","info":"","data":-456.0696},{"type":"cosphi","unity":"","info":"","data":-0.7409511},{"type":"frequency","unity":"Hz","info":"","data":49.97072}]},{"phase":4,"name":"phase 4","values":[{"type":"current","unity":"A","info":"","data":2.1447146}]}]}]}
            
            

            mfg

            Stefan

            paul53P 1 Antwort Letzte Antwort
            0
            • W w_stefan

              @Homoran

              @HenryH

              Ich habe den Firefox Inspektor verwendet, leider kann ich da nur einen Screenshot erzeugen, aber da wird der Wert angezeigt.
              Inspektor.JPG

              Die API hat leider keine Production today: ich habe auch schon versucht die Daten über Prometheus export auszulesen da fehlen aber auch dieser Wert.

              Prometheus export: http://192.168.1.40:9246/metrics

              # HELP go_gc_duration_seconds A summary of the GC invocation durations.
              # TYPE go_gc_duration_seconds summary
              go_gc_duration_seconds{quantile="0"} 0.000202916
              go_gc_duration_seconds{quantile="0.25"} 0.000440885
              go_gc_duration_seconds{quantile="0.5"} 0.000534945
              go_gc_duration_seconds{quantile="0.75"} 0.000700986
              go_gc_duration_seconds{quantile="1"} 0.015456939
              go_gc_duration_seconds_sum 23.252685806
              go_gc_duration_seconds_count 19881
              # HELP go_goroutines Number of goroutines that currently exist.
              # TYPE go_goroutines gauge
              go_goroutines 10
              # HELP go_info Information about the Go environment.
              # TYPE go_info gauge
              go_info{version="go1.9.2"} 1
              # HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.
              # TYPE go_memstats_alloc_bytes gauge
              go_memstats_alloc_bytes 903216
              # HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
              # TYPE go_memstats_alloc_bytes_total counter
              go_memstats_alloc_bytes_total 1.4083734376e+10
              # HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.
              # TYPE go_memstats_buck_hash_sys_bytes gauge
              go_memstats_buck_hash_sys_bytes 761234
              # HELP go_memstats_frees_total Total number of frees.
              # TYPE go_memstats_frees_total counter
              go_memstats_frees_total 6.92664268e+08
              # HELP go_memstats_gc_cpu_fraction The fraction of this program's available CPU time used by the GC since the program started.
              # TYPE go_memstats_gc_cpu_fraction gauge
              go_memstats_gc_cpu_fraction 1.8929979341869276e-05
              # HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata.
              # TYPE go_memstats_gc_sys_bytes gauge
              go_memstats_gc_sys_bytes 1.907712e+07
              # HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use.
              # TYPE go_memstats_heap_alloc_bytes gauge
              go_memstats_heap_alloc_bytes 903216
              # HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used.
              # TYPE go_memstats_heap_idle_bytes gauge
              go_memstats_heap_idle_bytes 3.391488e+06
              # HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use.
              # TYPE go_memstats_heap_inuse_bytes gauge
              go_memstats_heap_inuse_bytes 1.949696e+06
              # HELP go_memstats_heap_objects Number of allocated objects.
              # TYPE go_memstats_heap_objects gauge
              go_memstats_heap_objects 14971
              # HELP go_memstats_heap_released_bytes Number of heap bytes released to OS.
              # TYPE go_memstats_heap_released_bytes gauge
              go_memstats_heap_released_bytes 2.048e+06
              # HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system.
              # TYPE go_memstats_heap_sys_bytes gauge
              go_memstats_heap_sys_bytes 5.341184e+06
              # HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.
              # TYPE go_memstats_last_gc_time_seconds gauge
              go_memstats_last_gc_time_seconds 1.5590502239117749e+09
              # HELP go_memstats_lookups_total Total number of pointer lookups.
              # TYPE go_memstats_lookups_total counter
              go_memstats_lookups_total 2.229676e+06
              # HELP go_memstats_mallocs_total Total number of mallocs.
              # TYPE go_memstats_mallocs_total counter
              go_memstats_mallocs_total 6.92679239e+08
              # HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures.
              # TYPE go_memstats_mcache_inuse_bytes gauge
              go_memstats_mcache_inuse_bytes 3472
              # HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system.
              # TYPE go_memstats_mcache_sys_bytes gauge
              go_memstats_mcache_sys_bytes 16384
              # HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures.
              # TYPE go_memstats_mspan_inuse_bytes gauge
              go_memstats_mspan_inuse_bytes 20884
              # HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system.
              # TYPE go_memstats_mspan_sys_bytes gauge
              go_memstats_mspan_sys_bytes 49152
              # HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place.
              # TYPE go_memstats_next_gc_bytes gauge
              go_memstats_next_gc_bytes 4.194304e+06
              # HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations.
              # TYPE go_memstats_other_sys_bytes gauge
              go_memstats_other_sys_bytes 1.410794e+06
              # HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator.
              # TYPE go_memstats_stack_inuse_bytes gauge
              go_memstats_stack_inuse_bytes 950272
              # HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator.
              # TYPE go_memstats_stack_sys_bytes gauge
              go_memstats_stack_sys_bytes 950272
              # HELP go_memstats_sys_bytes Number of bytes obtained from system.
              # TYPE go_memstats_sys_bytes gauge
              go_memstats_sys_bytes 2.760614e+07
              # HELP go_threads Number of OS threads created.
              # TYPE go_threads gauge
              go_threads 15
              # HELP http_request_duration_microseconds The HTTP request latencies in microseconds.
              # TYPE http_request_duration_microseconds summary
              http_request_duration_microseconds{handler="prometheus",quantile="0.5"} 24824.777
              http_request_duration_microseconds{handler="prometheus",quantile="0.9"} 24824.777
              http_request_duration_microseconds{handler="prometheus",quantile="0.99"} 24824.777
              http_request_duration_microseconds_sum{handler="prometheus"} 291210.45700000005
              http_request_duration_microseconds_count{handler="prometheus"} 5
              # HELP http_request_size_bytes The HTTP request sizes in bytes.
              # TYPE http_request_size_bytes summary
              http_request_size_bytes{handler="prometheus",quantile="0.5"} 300
              http_request_size_bytes{handler="prometheus",quantile="0.9"} 300
              http_request_size_bytes{handler="prometheus",quantile="0.99"} 300
              http_request_size_bytes_sum{handler="prometheus"} 1532
              http_request_size_bytes_count{handler="prometheus"} 5
              # HELP http_requests_total Total number of HTTP requests made.
              # TYPE http_requests_total counter
              http_requests_total{code="200",handler="prometheus",method="get"} 5
              # HELP http_response_size_bytes The HTTP response sizes in bytes.
              # TYPE http_response_size_bytes summary
              http_response_size_bytes{handler="prometheus",quantile="0.5"} 2166
              http_response_size_bytes{handler="prometheus",quantile="0.9"} 2166
              http_response_size_bytes{handler="prometheus",quantile="0.99"} 2166
              http_response_size_bytes_sum{handler="prometheus"} 10785
              http_response_size_bytes_count{handler="prometheus"} 5
              # HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
              # TYPE process_cpu_seconds_total counter
              process_cpu_seconds_total 21559.23
              # HELP process_max_fds Maximum number of open file descriptors.
              # TYPE process_max_fds gauge
              process_max_fds 1024
              # HELP process_open_fds Number of open file descriptors.
              # TYPE process_open_fds gauge
              process_open_fds 12
              # HELP process_resident_memory_bytes Resident memory size in bytes.
              # TYPE process_resident_memory_bytes gauge
              process_resident_memory_bytes 1.1280384e+07
              # HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
              # TYPE process_start_time_seconds gauge
              process_start_time_seconds 1.55666169412e+09
              # HELP process_virtual_memory_bytes Virtual memory size in bytes.
              # TYPE process_virtual_memory_bytes gauge
              process_virtual_memory_bytes 9.35559168e+08
              # HELP smartpi_active_watts Active Watts
              # TYPE smartpi_active_watts gauge
              smartpi_active_watts{phase="A"} -627.098139
              smartpi_active_watts{phase="B"} -704.090097
              smartpi_active_watts{phase="C"} -461.25288
              # HELP smartpi_amps Line current
              # TYPE smartpi_amps gauge
              smartpi_amps{phase="A"} 2.8728982733314483
              smartpi_amps{phase="B"} 3.0994031262230997
              smartpi_amps{phase="C"} 3.0415257814663175
              smartpi_amps{phase="N"} 2.136357139342743
              # HELP smartpi_apparent_power_volt_amps Line apparent power in volt amps
              # TYPE smartpi_apparent_power_volt_amps gauge
              smartpi_apparent_power_volt_amps{phase="A"} 679.785021
              smartpi_apparent_power_volt_amps{phase="B"} 723.677814
              smartpi_apparent_power_volt_amps{phase="C"} 712.321209
              # HELP smartpi_build_info A metric with a constant '1' value labeled by version, revision, branch, and goversion from which smartpi was built.
              # TYPE smartpi_build_info gauge
              smartpi_build_info{branch="",goversion="go1.9.2",revision="",version=""} 1
              # HELP smartpi_frequency_hertz Line frequency in hertz
              # TYPE smartpi_frequency_hertz gauge
              smartpi_frequency_hertz{phase="A"} 49.98047637641546
              smartpi_frequency_hertz{phase="B"} 49.99023628197617
              smartpi_frequency_hertz{phase="C"} 49.98047637641546
              # HELP smartpi_phase_angle Line voltage phase angle
              # TYPE smartpi_phase_angle gauge
              smartpi_phase_angle{phase="A"} -0.9997823934766707
              smartpi_phase_angle{phase="B"} -0.9990242823004072
              smartpi_phase_angle{phase="C"} -0.7343225094356856
              # HELP smartpi_power_factor_ratio Line power factor ratio
              # TYPE smartpi_power_factor_ratio gauge
              smartpi_power_factor_ratio{phase="A"} -47.51943482438104
              smartpi_power_factor_ratio{phase="B"} -50.117606617687464
              smartpi_power_factor_ratio{phase="C"} -33.355738534523965
              # HELP smartpi_reactive_power_volt_amps Line reactive power in volt amps reactive
              # TYPE smartpi_reactive_power_volt_amps gauge
              smartpi_reactive_power_volt_amps{phase="A"} -1104
              smartpi_reactive_power_volt_amps{phase="B"} -2469
              smartpi_reactive_power_volt_amps{phase="C"} -24768
              # HELP smartpi_volts Line voltage
              # TYPE smartpi_volts gauge
              smartpi_volts{phase="A"} 240.3552
              smartpi_volts{phase="B"} 238.6793
              smartpi_volts{phase="C"} 238.7578
              
              

              API: http://192.168.1.40/api/all/all/now

              {"serial":"smartpi","name":"House","lat":52.3667,"lng":9.7167,"time":"2019-05-28 15:33:57","softwareversion":"","ipaddress":"192.168.1.40","datasets":[{"time":"2019-05-28 15:33:54","phases":[{"phase":1,"name":"phase 1","values":[{"type":"current","unity":"A","info":"","data":2.8374162},{"type":"voltage","unity":"V","info":"","data":240.3186},{"type":"power","unity":"W","info":"","data":-615.93567},{"type":"cosphi","unity":"","info":"","data":-0.9999992},{"type":"frequency","unity":"Hz","info":"","data":49.97072}]},{"phase":2,"name":"phase 2","values":[{"type":"current","unity":"A","info":"","data":3.0533614},{"type":"voltage","unity":"V","info":"","data":239.0356},{"type":"power","unity":"W","info":"","data":-692.0152},{"type":"cosphi","unity":"","info":"","data":-0.99599},{"type":"frequency","unity":"Hz","info":"","data":49.97072}]},{"phase":3,"name":"phase 3","values":[{"type":"current","unity":"A","info":"","data":3.112565},{"type":"voltage","unity":"V","info":"","data":238.7494},{"type":"power","unity":"W","info":"","data":-456.0696},{"type":"cosphi","unity":"","info":"","data":-0.7409511},{"type":"frequency","unity":"Hz","info":"","data":49.97072}]},{"phase":4,"name":"phase 4","values":[{"type":"current","unity":"A","info":"","data":2.1447146}]}]}]}
              
              

              mfg

              Stefan

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @w_stefan Möchtest Du wirklich alle Daten haben oder interessiert Dich nur die Leistung der 3 Phasen ? In dem Fall wird die JSON-Rückgabe wesentlich kürzer (übersichtlicher). Was ergibt ?

              http://192.168.1.40/api/all/power/now
              

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              W 1 Antwort Letzte Antwort
              0
              • paul53P paul53

                @w_stefan Möchtest Du wirklich alle Daten haben oder interessiert Dich nur die Leistung der 3 Phasen ? In dem Fall wird die JSON-Rückgabe wesentlich kürzer (übersichtlicher). Was ergibt ?

                http://192.168.1.40/api/all/power/now
                
                W Offline
                W Offline
                w_stefan
                schrieb am zuletzt editiert von w_stefan
                #7

                @paul53
                Ich möchte den Wert Production Today: auslesen.
                Die gemessenen Werte lese ich über MQTT aus, leider fehlt da der Wert Prodcution Today:

                mfg

                Stefan

                paul53P G 3 Antworten Letzte Antwort
                0
                • W w_stefan

                  @paul53
                  Ich möchte den Wert Production Today: auslesen.
                  Die gemessenen Werte lese ich über MQTT aus, leider fehlt da der Wert Prodcution Today:

                  mfg

                  Stefan

                  paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #8

                  @w_stefan sagte:

                  Wert Production Today: auslesen

                  Den liefert die API offenbar nicht.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • W w_stefan

                    @paul53
                    Ich möchte den Wert Production Today: auslesen.
                    Die gemessenen Werte lese ich über MQTT aus, leider fehlt da der Wert Prodcution Today:

                    mfg

                    Stefan

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #9

                    @w_stefan sagte:

                    Die gemessenen Werte lese ich über MQTT aus

                    Was ist der Wert "Production today" ? Ist es die seit Mitternacht erzeugte Energie ?
                    Da die Leistungswerte in Datenpunkten vorhanden sind, kann man die Energie auch daraus per Script ermitteln.

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    W 1 Antwort Letzte Antwort
                    0
                    • paul53P paul53

                      @w_stefan sagte:

                      Die gemessenen Werte lese ich über MQTT aus

                      Was ist der Wert "Production today" ? Ist es die seit Mitternacht erzeugte Energie ?
                      Da die Leistungswerte in Datenpunkten vorhanden sind, kann man die Energie auch daraus per Script ermitteln.

                      W Offline
                      W Offline
                      w_stefan
                      schrieb am zuletzt editiert von
                      #10

                      @paul53
                      Das ist der Strom der seit Mitternacht ins Netz geliefert wurde.
                      Ich habe noch keine Möglichkeit gefunden wie ich an Hand der vorhandenen Daten die kWh errechnen kann die seit 00:00 ins Stromnetz geliefert wurden.

                      Also um das Ganze Bild zu bekommen:
                      Ich lese zwei Wechselrichter über MODBUS aus und ermittle mir folgende Wert über Blocky scripte,

                      • Aktueller erzeugter Strom in Summe und kWh

                      Am SmartPi2 ist der Wert Production today: der Strom der seit Mitternacht geliefert also verkauft wurde
                      Wenn ich diesen Wert auslesen kann dann kann ich folgendes errechnen

                      • Aktueller erzeugter Strom in kWh
                      • Aktueller gelieferter Strom in kWh
                      • Aktueller Eigenverbrauch in kWh

                      Wie ich diese Daten dann noch weiterverwende lasse ich mal so stehen ;-)

                      mfg Stefan

                      paul53P 2 Antworten Letzte Antwort
                      0
                      • W w_stefan

                        @paul53
                        Das ist der Strom der seit Mitternacht ins Netz geliefert wurde.
                        Ich habe noch keine Möglichkeit gefunden wie ich an Hand der vorhandenen Daten die kWh errechnen kann die seit 00:00 ins Stromnetz geliefert wurden.

                        Also um das Ganze Bild zu bekommen:
                        Ich lese zwei Wechselrichter über MODBUS aus und ermittle mir folgende Wert über Blocky scripte,

                        • Aktueller erzeugter Strom in Summe und kWh

                        Am SmartPi2 ist der Wert Production today: der Strom der seit Mitternacht geliefert also verkauft wurde
                        Wenn ich diesen Wert auslesen kann dann kann ich folgendes errechnen

                        • Aktueller erzeugter Strom in kWh
                        • Aktueller gelieferter Strom in kWh
                        • Aktueller Eigenverbrauch in kWh

                        Wie ich diese Daten dann noch weiterverwende lasse ich mal so stehen ;-)

                        mfg Stefan

                        paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von paul53
                        #11

                        @w_stefan sagte:

                        an Hand der vorhandenen Daten die kWh errechnen kann die seit 00:00 ins Stromnetz geliefert wurden.

                        Welche Energiedaten (kWh) hast Du ? Bei zwei Zählern müssen es mindestens 2 sein.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        W 1 Antwort Letzte Antwort
                        0
                        • W w_stefan

                          @paul53
                          Das ist der Strom der seit Mitternacht ins Netz geliefert wurde.
                          Ich habe noch keine Möglichkeit gefunden wie ich an Hand der vorhandenen Daten die kWh errechnen kann die seit 00:00 ins Stromnetz geliefert wurden.

                          Also um das Ganze Bild zu bekommen:
                          Ich lese zwei Wechselrichter über MODBUS aus und ermittle mir folgende Wert über Blocky scripte,

                          • Aktueller erzeugter Strom in Summe und kWh

                          Am SmartPi2 ist der Wert Production today: der Strom der seit Mitternacht geliefert also verkauft wurde
                          Wenn ich diesen Wert auslesen kann dann kann ich folgendes errechnen

                          • Aktueller erzeugter Strom in kWh
                          • Aktueller gelieferter Strom in kWh
                          • Aktueller Eigenverbrauch in kWh

                          Wie ich diese Daten dann noch weiterverwende lasse ich mal so stehen ;-)

                          mfg Stefan

                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von paul53
                          #12

                          @w_stefan Habe nochmal in die API-Beschreibung geschaut: Was liefert ?

                          http://192.168.1.40/api/chart/123/energy_neg/from/2019-05-28T00:00:00.000Z/to/2019-05-28T23:59:59.000Z
                          

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          W 1 Antwort Letzte Antwort
                          0
                          • paul53P paul53

                            @w_stefan Habe nochmal in die API-Beschreibung geschaut: Was liefert ?

                            http://192.168.1.40/api/chart/123/energy_neg/from/2019-05-28T00:00:00.000Z/to/2019-05-28T23:59:59.000Z
                            
                            W Offline
                            W Offline
                            w_stefan
                            schrieb am zuletzt editiert von
                            #13

                            @paul53
                            Da bekomme ich eine sehr lange liste ich füge mal ein paar Zeilen davon ein,

                            [{"key":"energy_neg_1","values":[{"time":"2019-05-28T00:00:38+0200","value":0},{"time":"2019-05-28T00:01:38+0200","value":0},{"time":"2019-05-28T00:02:38+0200","value":0},{"time":"2019-05-28T00:03:38+0200","value":0},{"time":"2019-05-28T00:04:38+0200","value":0},{"time":"2019-05-28T00:05:38+0200","value":0},{"time":"2019-05-28T00:06:38+0200","value":0},{"time":"2019-05-28T00:07:38+0200","value":0},{"time":"2019-05-28T00:08:38+0200","value":0},{"time":"2019-05-28T00:09:38+0200","value":0},{"time":"2019-05-28T00:10:38+0200","value":0},{"time":"2019-05-28T00:11:38+0200","value":0},{"time":"2019-05-28T00:12:38+0200","value":0},{"time":"2019-05-28T00:13:38+0200","value":0},{"time":"2019-05-28T00:14:38+0200","value":0},{"time":"2019-05-28T00:15:38+0200","value":0},{"time":"2019-05-28T00:16:38+0200","value":0},{"time":"2019-05-28T00:17:38+0200","value":0},{"time":"2019-05-28T00:18:38+0200","value":0},{"time":"2019-05-28T00:19:38+0200","value":0},{"time":"2019-05-28T00:20:38+0200","value":0},{"time":"2019-05-28T00:21:38+0200","value":0},{"time":"2019-05-28T00:22:38+0200","value":0},{"time":"2019-05-28T00:23:38+0200","value":0},{"time":"2019-05-28T00:24:38+0200","value":0},{"time":"2019-05-28T00:25:38+0200","value":0},{"time":"2019-05-28T00:26:38+0200","value":0},{"time":"2019-05-28T00:27:38+0200","value":0},{"time":"2019-05-28T00:28:38+0200","value":0},{"time":"2019-05-28T00:29:38+0200","value":0},{"time":"2019-05-28T00:30:38+0200","value":0},{"time":"2019-05-28T00:31:38+0200","value":0},{"time":"2019-05-28T00:32:38+0200","value":0},{"time":"2019-05-28T00:33:38+0200","value":0},{"time":"2019-05-28T00:34:38+0200","value":0},{"time":"2019-05-28T00:35:38+0200","value":0},{"time":"2019-05-28T00:36:38+0200","value":0},{"time":"2019-05-28T00:37:38+0200","value":0},{"time":"2019-05-28T00:38:38+0200","value":0},{"time":"2019-05-28T00:39:38+0200","value":0},{"time":"2019-05-28T00:40:38+0200","value":0},{"time":"2019-05-28T00:41:38+0200","value":0},{"time":"2019-05-28T00:42:38+0200","value":0},{"time":"2019-05-28T00:43:38+0200","value":0},
                            ......
                            {"time":"2019-05-28T05:36:38+0200","value":0},{"time":"2019-05-28T05:37:38+0200","value":0.011686},{"time":"2019-05-28T05:38:38+0200","value":0.215463},{"time":"2019-05-28T05:39:38+0200","value":0.320196},{"time":"2019-05-28T05:40:38+0200","value":0.396893},{"time":"2019-05-28T05:41:38+0200","value":0.464893},{"time":"2019-05-28T05:42:38+0200","value":0.548018},{"time":"2019-05-28T05:43:38+0200","value":0.626463},{"time":"2019-05-28T05:44:38+0200","value":0.769812},{"time":"2019-05-28T05:45:38+0200","value":0.879776},{"time":"2019-05-28T05:46:38+0200","value":0.864358},{"time":"2019-05-28T05:47:38+0200","value":0.47255},{"time":"2019-05-28T05:48:38+0200","value":0.508675},{"time":"2019-05-28T05:49:38+0200","value":0.787256},{"time":"2019-05-28T05:50:38+0200","value":0.910286},{"time":"2019-05-28T05:51:38+0200","value":0.971017},{"time":"2019-05-28T05:52:38+0200","value":1.038461},{"time":"2019-05-28T05:53:38+0200","value":1.155311},{"time":"2019-05-28T05:54:38+0200","value":1.259149},{"time":"2019-05-28T05:55:38+0200","value":1.338321},{"time":"2019-05-28T05:56:38+0200","value":1.393945},{"time":"2019-05-28T05:57:38+0200","value":1.410182},{"time":"2019-05-28T05:58:38+0200","value":1.392263},{"time":"2019-05-28T05:59:38+0200","value":1.358365},{"time":"2019-05-28T06:00:38+0200","value":1.279139},{"time":"2019-05-28T06:01:38+0200","value":1.232844},{"time":"2019-05-28T06:02:38+0200","value":1.240933},{"time":"2019-05-28T06:03:38+0200","value":1.221412},{"time":"2019-05-28T06:04:38+0200","value":1.182327},{"time":"2019-05-28T06:05:38+0200","value":1.039863},{"time":"2019-05-28T06:06:38+0200","value":1.025826},{"time":"2019-05-28T06:07:38+0200","value":1.053544},{"time":"2019-05-28T06:08:38+0200","value":1.058505},{"time":"2019-05-28T06:09:38+0200","value":1.203207},{"time":"2019-05-28T06:10:38+0200","value":1.408451},{"time":"2019-05-28T06:11:38+0200","value":1.608653},{"time":"2019-05-28T06:12:38+0200","value":1.814166},{"time":"2019-05-28T06:13:38+0200","value":2.038608},{"time":"2019-05-28T06:14:38+0200","value":2.125416},{"time":"2019-05-28T06:15:38+0200","value":2.137722},
                            ....
                            
                            paul53P 1 Antwort Letzte Antwort
                            0
                            • paul53P paul53

                              @w_stefan sagte:

                              an Hand der vorhandenen Daten die kWh errechnen kann die seit 00:00 ins Stromnetz geliefert wurden.

                              Welche Energiedaten (kWh) hast Du ? Bei zwei Zählern müssen es mindestens 2 sein.

                              W Offline
                              W Offline
                              w_stefan
                              schrieb am zuletzt editiert von
                              #14

                              @paul53

                              Im IOBroker habe ich die kWh die meine SolarAnlage erzeugt.
                              Am SmartPi2 habe ich Production today: das sind die kWh die Geliefert wurden also,
                              Erzeugte kWh - Eigenverbrauch kWh = Production today

                              Der SMA Wechselrichter zeigt den Tagesertrag in kWH an
                              Der SolarEdge hat nur einen Gesamtertrag in kWh den im mir errechne indem ich den Vortageswert von 00:00 Uhr nehme und den vom aktuellen Gesamtertrag abziehe.

                              paul53P 1 Antwort Letzte Antwort
                              0
                              • W w_stefan

                                @paul53

                                Im IOBroker habe ich die kWh die meine SolarAnlage erzeugt.
                                Am SmartPi2 habe ich Production today: das sind die kWh die Geliefert wurden also,
                                Erzeugte kWh - Eigenverbrauch kWh = Production today

                                Der SMA Wechselrichter zeigt den Tagesertrag in kWH an
                                Der SolarEdge hat nur einen Gesamtertrag in kWh den im mir errechne indem ich den Vortageswert von 00:00 Uhr nehme und den vom aktuellen Gesamtertrag abziehe.

                                paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #15

                                @w_stefan Da ich keine PV habe, muss ich fragen: Wofür ist der SMA-Wechselrichter und wofür SolarEdge ?

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                W 1 Antwort Letzte Antwort
                                0
                                • W w_stefan

                                  @paul53
                                  Da bekomme ich eine sehr lange liste ich füge mal ein paar Zeilen davon ein,

                                  [{"key":"energy_neg_1","values":[{"time":"2019-05-28T00:00:38+0200","value":0},{"time":"2019-05-28T00:01:38+0200","value":0},{"time":"2019-05-28T00:02:38+0200","value":0},{"time":"2019-05-28T00:03:38+0200","value":0},{"time":"2019-05-28T00:04:38+0200","value":0},{"time":"2019-05-28T00:05:38+0200","value":0},{"time":"2019-05-28T00:06:38+0200","value":0},{"time":"2019-05-28T00:07:38+0200","value":0},{"time":"2019-05-28T00:08:38+0200","value":0},{"time":"2019-05-28T00:09:38+0200","value":0},{"time":"2019-05-28T00:10:38+0200","value":0},{"time":"2019-05-28T00:11:38+0200","value":0},{"time":"2019-05-28T00:12:38+0200","value":0},{"time":"2019-05-28T00:13:38+0200","value":0},{"time":"2019-05-28T00:14:38+0200","value":0},{"time":"2019-05-28T00:15:38+0200","value":0},{"time":"2019-05-28T00:16:38+0200","value":0},{"time":"2019-05-28T00:17:38+0200","value":0},{"time":"2019-05-28T00:18:38+0200","value":0},{"time":"2019-05-28T00:19:38+0200","value":0},{"time":"2019-05-28T00:20:38+0200","value":0},{"time":"2019-05-28T00:21:38+0200","value":0},{"time":"2019-05-28T00:22:38+0200","value":0},{"time":"2019-05-28T00:23:38+0200","value":0},{"time":"2019-05-28T00:24:38+0200","value":0},{"time":"2019-05-28T00:25:38+0200","value":0},{"time":"2019-05-28T00:26:38+0200","value":0},{"time":"2019-05-28T00:27:38+0200","value":0},{"time":"2019-05-28T00:28:38+0200","value":0},{"time":"2019-05-28T00:29:38+0200","value":0},{"time":"2019-05-28T00:30:38+0200","value":0},{"time":"2019-05-28T00:31:38+0200","value":0},{"time":"2019-05-28T00:32:38+0200","value":0},{"time":"2019-05-28T00:33:38+0200","value":0},{"time":"2019-05-28T00:34:38+0200","value":0},{"time":"2019-05-28T00:35:38+0200","value":0},{"time":"2019-05-28T00:36:38+0200","value":0},{"time":"2019-05-28T00:37:38+0200","value":0},{"time":"2019-05-28T00:38:38+0200","value":0},{"time":"2019-05-28T00:39:38+0200","value":0},{"time":"2019-05-28T00:40:38+0200","value":0},{"time":"2019-05-28T00:41:38+0200","value":0},{"time":"2019-05-28T00:42:38+0200","value":0},{"time":"2019-05-28T00:43:38+0200","value":0},
                                  ......
                                  {"time":"2019-05-28T05:36:38+0200","value":0},{"time":"2019-05-28T05:37:38+0200","value":0.011686},{"time":"2019-05-28T05:38:38+0200","value":0.215463},{"time":"2019-05-28T05:39:38+0200","value":0.320196},{"time":"2019-05-28T05:40:38+0200","value":0.396893},{"time":"2019-05-28T05:41:38+0200","value":0.464893},{"time":"2019-05-28T05:42:38+0200","value":0.548018},{"time":"2019-05-28T05:43:38+0200","value":0.626463},{"time":"2019-05-28T05:44:38+0200","value":0.769812},{"time":"2019-05-28T05:45:38+0200","value":0.879776},{"time":"2019-05-28T05:46:38+0200","value":0.864358},{"time":"2019-05-28T05:47:38+0200","value":0.47255},{"time":"2019-05-28T05:48:38+0200","value":0.508675},{"time":"2019-05-28T05:49:38+0200","value":0.787256},{"time":"2019-05-28T05:50:38+0200","value":0.910286},{"time":"2019-05-28T05:51:38+0200","value":0.971017},{"time":"2019-05-28T05:52:38+0200","value":1.038461},{"time":"2019-05-28T05:53:38+0200","value":1.155311},{"time":"2019-05-28T05:54:38+0200","value":1.259149},{"time":"2019-05-28T05:55:38+0200","value":1.338321},{"time":"2019-05-28T05:56:38+0200","value":1.393945},{"time":"2019-05-28T05:57:38+0200","value":1.410182},{"time":"2019-05-28T05:58:38+0200","value":1.392263},{"time":"2019-05-28T05:59:38+0200","value":1.358365},{"time":"2019-05-28T06:00:38+0200","value":1.279139},{"time":"2019-05-28T06:01:38+0200","value":1.232844},{"time":"2019-05-28T06:02:38+0200","value":1.240933},{"time":"2019-05-28T06:03:38+0200","value":1.221412},{"time":"2019-05-28T06:04:38+0200","value":1.182327},{"time":"2019-05-28T06:05:38+0200","value":1.039863},{"time":"2019-05-28T06:06:38+0200","value":1.025826},{"time":"2019-05-28T06:07:38+0200","value":1.053544},{"time":"2019-05-28T06:08:38+0200","value":1.058505},{"time":"2019-05-28T06:09:38+0200","value":1.203207},{"time":"2019-05-28T06:10:38+0200","value":1.408451},{"time":"2019-05-28T06:11:38+0200","value":1.608653},{"time":"2019-05-28T06:12:38+0200","value":1.814166},{"time":"2019-05-28T06:13:38+0200","value":2.038608},{"time":"2019-05-28T06:14:38+0200","value":2.125416},{"time":"2019-05-28T06:15:38+0200","value":2.137722},
                                  ....
                                  
                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  schrieb am zuletzt editiert von
                                  #16

                                  @w_stefan sagte:

                                  Da bekomme ich eine sehr lange liste

                                  Was bekommst Du, wenn als Zeitspanne eine Minute angegeben wird ?

                                  http://192.168.1.40/api/chart/123/energy_neg/from/2019-05-28T20:09:00.000Z/to/2019-05-28T20:10:00.000Z
                                  

                                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P paul53

                                    @w_stefan Da ich keine PV habe, muss ich fragen: Wofür ist der SMA-Wechselrichter und wofür SolarEdge ?

                                    W Offline
                                    W Offline
                                    w_stefan
                                    schrieb am zuletzt editiert von
                                    #17

                                    @paul53
                                    Ich habe 5kWp Photovoltaik an einem SMA Wechselrichter und 6.5kWp Photovoltaik an einem SolarEdge Wechselrichter

                                    paul53P 1 Antwort Letzte Antwort
                                    0
                                    • W w_stefan

                                      @paul53
                                      Ich habe 5kWp Photovoltaik an einem SMA Wechselrichter und 6.5kWp Photovoltaik an einem SolarEdge Wechselrichter

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      schrieb am zuletzt editiert von paul53
                                      #18

                                      @w_stefan Also hast Du für Netzeinspeisung und -bezug nur die Informationen vom Smartpi ?
                                      Dann kann man die Energiewerte mit einem Skript aus den Leistungen ermitteln. Als Anfangswerte für createState() bitte die Werte des "echten" Zählers eintragen !

                                      const idPower1 = '...';  // Phase 1
                                      const idPower2 = '...';  // Phase 2
                                      const idPower3 = '...';  // Phase 3
                                      const idBezug    = 'Smartpi.Bezug';
                                      const idEinspeis = 'Smartpi.Einspeisung';
                                      const idEinHeute = 'Smartpi.Einspeisung_heute';
                                      const idEin0Uhr  = 'Smartpi.Einspeisung_Mitternacht'; 
                                       
                                      // Energie-Datenpunkt erzeugen
                                      createState(idBezug, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
                                      createState(idEinspeis, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
                                      createState(idEinHeute, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
                                      createState(idEin0Uhr, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
                                      
                                      var e1, e2, e3;
                                      var bezug, einspeis, mitternacht;
                                      
                                      setTimeout(function() {
                                         bezug       = 1000 * getState(idBezug).val; // Wh
                                         einspeis    = 1000 * getState(idEinspeis).val;
                                         mitternacht = 1000 * getState(idEin0Uhr).val;
                                      }, 100); // Verzögerung für createState()
                                      
                                      function calcEnergy() {
                                         var energy = (e1 + e2 + e3) / 3600000; // Wh
                                         if(energy >= 0) {
                                            bezug = bezug + energy;
                                            setState(idBezug, Math.round(bezug) / 1000, true); // kWh mit 3 Nachkommastellen
                                         } else {
                                            einspeis = einspeis - energy; 
                                            setState(idEinspeis, Math.round(einspeis) / 1000, true); // kWh mit 3 Nachkommastellen
                                            setState(idEinHeute, Math.round(einspeis - mitternacht) / 1000, true);
                                         }  
                                      }
                                      
                                      on({id: idPower1}, function(dp) {
                                         e1 = dp.oldState.val * (dp.state.ts - dp.oldState.ts); // mWs
                                         setTimeout(calcEnergy, 500);
                                      });
                                      
                                      on({id: idPower2}, function(dp) {
                                         e2 = dp.oldState.val * (dp.state.ts - dp.oldState.ts); // mWs
                                      );
                                      
                                      on({id: idPower3}, function(dp) {
                                         e3 = dp.oldState.val * (dp.state.ts - dp.oldState.ts); // mWs
                                      });
                                      
                                      schedule('0 0 * * *', function() { // täglich um Mitternacht
                                         mitternacht = einspeis;
                                         setState(idEin0Uhr, Math.round(einspeis) / 1000, true); // kWh mit 3 Nachkommastellen
                                      });
                                      
                                      

                                      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                      W 1 Antwort Letzte Antwort
                                      0
                                      • paul53P paul53

                                        @w_stefan Also hast Du für Netzeinspeisung und -bezug nur die Informationen vom Smartpi ?
                                        Dann kann man die Energiewerte mit einem Skript aus den Leistungen ermitteln. Als Anfangswerte für createState() bitte die Werte des "echten" Zählers eintragen !

                                        const idPower1 = '...';  // Phase 1
                                        const idPower2 = '...';  // Phase 2
                                        const idPower3 = '...';  // Phase 3
                                        const idBezug    = 'Smartpi.Bezug';
                                        const idEinspeis = 'Smartpi.Einspeisung';
                                        const idEinHeute = 'Smartpi.Einspeisung_heute';
                                        const idEin0Uhr  = 'Smartpi.Einspeisung_Mitternacht'; 
                                         
                                        // Energie-Datenpunkt erzeugen
                                        createState(idBezug, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
                                        createState(idEinspeis, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
                                        createState(idEinHeute, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
                                        createState(idEin0Uhr, 1.11, {type: 'number', unit: 'kWh'}); // Anfangswert anpassen !
                                        
                                        var e1, e2, e3;
                                        var bezug, einspeis, mitternacht;
                                        
                                        setTimeout(function() {
                                           bezug       = 1000 * getState(idBezug).val; // Wh
                                           einspeis    = 1000 * getState(idEinspeis).val;
                                           mitternacht = 1000 * getState(idEin0Uhr).val;
                                        }, 100); // Verzögerung für createState()
                                        
                                        function calcEnergy() {
                                           var energy = (e1 + e2 + e3) / 3600000; // Wh
                                           if(energy >= 0) {
                                              bezug = bezug + energy;
                                              setState(idBezug, Math.round(bezug) / 1000, true); // kWh mit 3 Nachkommastellen
                                           } else {
                                              einspeis = einspeis - energy; 
                                              setState(idEinspeis, Math.round(einspeis) / 1000, true); // kWh mit 3 Nachkommastellen
                                              setState(idEinHeute, Math.round(einspeis - mitternacht) / 1000, true);
                                           }  
                                        }
                                        
                                        on({id: idPower1}, function(dp) {
                                           e1 = dp.oldState.val * (dp.state.ts - dp.oldState.ts); // mWs
                                           setTimeout(calcEnergy, 500);
                                        });
                                        
                                        on({id: idPower2}, function(dp) {
                                           e2 = dp.oldState.val * (dp.state.ts - dp.oldState.ts); // mWs
                                        );
                                        
                                        on({id: idPower3}, function(dp) {
                                           e3 = dp.oldState.val * (dp.state.ts - dp.oldState.ts); // mWs
                                        });
                                        
                                        schedule('0 0 * * *', function() { // täglich um Mitternacht
                                           mitternacht = einspeis;
                                           setState(idEin0Uhr, Math.round(einspeis) / 1000, true); // kWh mit 3 Nachkommastellen
                                        });
                                        
                                        
                                        W Offline
                                        W Offline
                                        w_stefan
                                        schrieb am zuletzt editiert von
                                        #19

                                        @paul53
                                        Danke für den Script ich werde das bei Gelegenheit mal testen.

                                        Ich werde den SmartPi2 mit einen anderen SmartMeter ersetzen welches mir die benötigen Werte und noch mehr über ModBus liefert.
                                        Mit dem SmartPi2 hatte bzw habe ich so einige Problem und ich glaube die Software ist noch nicht dort angekommen wo der Entwickler sie gerne haben möchte.

                                        mfg Stefan

                                        1 Antwort Letzte Antwort
                                        0
                                        • W w_stefan

                                          @paul53
                                          Ich möchte den Wert Production Today: auslesen.
                                          Die gemessenen Werte lese ich über MQTT aus, leider fehlt da der Wert Prodcution Today:

                                          mfg

                                          Stefan

                                          G Offline
                                          G Offline
                                          goi
                                          schrieb am zuletzt editiert von
                                          #20

                                          @w_stefan könntest du einem Neuling beschreiben, wie du die Daten über MQTT vom smartPi auf den ioBroker bekommst? Was muss ich im smartPi und was im IoBroker eintragen?

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          665

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe