KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor

KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum

Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki

[Frage] [V1.6.0 IP 3] [NodeRED 1.0.6] Werte aus HTTP-Seite extrahieren

Alles rund um Node Red im Allgemeinen und den entsprechenden Docker-Container für den Timberwolf Server im Speziellen.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten
Benutzeravatar

Ersteller
Eraser
Reactions:
Beiträge: 677
Registriert: So Aug 12, 2018 1:51 pm
Hat sich bedankt: 218 Mal
Danksagung erhalten: 281 Mal

[V1.6.0 IP 3] [NodeRED 1.0.6] Werte aus HTTP-Seite extrahieren

#1

Beitrag von Eraser »

Nach erfolgreichem Abschicken eines HTTP-Requests zur Gegensprechanlage mittels NodeRED möchte ich nun ein paar Werte vom Wechselrichter auslesen.
Dieser ist ein Kostal Piko 4.2 (altes Modell).

Auf der HTTP-Seite des Wechselrichters bekommt man ohne Einloggen bereits die aktuellen Leistungswerte angezeigt.
Diese möchte ich nun aus dieser Seite extrahieren.

HTTP-Seite:

Code: Alles auswählen

<head><style type="text/css">@charset "UTF-8";[ng\:cloak],[ng-cloak],[data-ng-cloak],[x-ng-cloak],.ng-cloak,.x-ng-cloak,.ng-hide:not(.ng-hide-animate){display:none !important;}ng\:form{display:block;}.ng-animate-shim{visibility:hidden;}.ng-anchor{position:absolute;}</style>
   <link rel="icon" href="/assets/favicon.ico">
   <title ng-bind="inverterTypeName + ' <> ' + inverterName" class="ng-binding">PIKO 4.2 &lt;&gt; Photovoltaik</title>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
   <meta http-equiv="X-UA-Compatible" content="IE=Edge">
   <!--Deaktivate Chaching to avoid problems-->
   <meta http-equiv="cache-control: private, max-age=0, no-cache" content="no-store">
   <meta http-equiv="expires" content="0">
   <meta http-equiv="pragma" content="no-cache">

   <!-- compiled CSS -->
   <link rel="stylesheet" type="text/css" href="assets/kbApp-1.1.4.css">
   
</head>
<body>
<!-- Loading -->
<div kb-hide-after-init="" class="loader" style="z-index: 3000; display: none;">
   <div class="loader-inner-big">
      <i class="icon-spinner animate-spin"></i>
      <div id="errorMsg"></div>
   </div>
</div>
<!-- Page -->
<div class="kbContainer">
   <div class="kbBanner">
      <div class="kbLogoPrim"></div>
      <div class="kbLogoSec"></div>
      <div class="kbLanguageSelectBar ng-scope" ng-controller="languageSelCtrl">
         <!-- ngRepeat: language in languages --><div ng-repeat="language in languages" class="ng-scope">
            <div kb-language-select-item=""><div id="languageSelectItem">
   <a href="" ng-click="selectLanguage(language)" class="active">
      <div ng-class="'img_language_flags_f_' + language" class="img_language_flags_f_de_DE"></div>
   </a>
</div></div>
         </div><!-- end ngRepeat: language in languages --><div ng-repeat="language in languages" class="ng-scope">
            <div kb-language-select-item=""><div id="languageSelectItem">
   <a href="" ng-click="selectLanguage(language)">
      <div ng-class="'img_language_flags_f_' + language" class="img_language_flags_f_en_GB"></div>
   </a>
</div></div>
         </div><!-- end ngRepeat: language in languages --><div ng-repeat="language in languages" class="ng-scope">
            <div kb-language-select-item=""><div id="languageSelectItem">
   <a href="" ng-click="selectLanguage(language)">
      <div ng-class="'img_language_flags_f_' + language" class="img_language_flags_f_es_ES"></div>
   </a>
</div></div>
         </div><!-- end ngRepeat: language in languages --><div ng-repeat="language in languages" class="ng-scope">
            <div kb-language-select-item=""><div id="languageSelectItem">
   <a href="" ng-click="selectLanguage(language)">
      <div ng-class="'img_language_flags_f_' + language" class="img_language_flags_f_it_IT"></div>
   </a>
</div></div>
         </div><!-- end ngRepeat: language in languages --><div ng-repeat="language in languages" class="ng-scope">
            <div kb-language-select-item=""><div id="languageSelectItem">
   <a href="" ng-click="selectLanguage(language)">
      <div ng-class="'img_language_flags_f_' + language" class="img_language_flags_f_fr_FR"></div>
   </a>
</div></div>
         </div><!-- end ngRepeat: language in languages --><div ng-repeat="language in languages" class="ng-scope">
            <div kb-language-select-item=""><div id="languageSelectItem">
   <a href="" ng-click="selectLanguage(language)">
      <div ng-class="'img_language_flags_f_' + language" class="img_language_flags_f_el_GR"></div>
   </a>
</div></div>
         </div><!-- end ngRepeat: language in languages --><div ng-repeat="language in languages" class="ng-scope">
            <div kb-language-select-item=""><div id="languageSelectItem">
   <a href="" ng-click="selectLanguage(language)">
      <div ng-class="'img_language_flags_f_' + language" class="img_language_flags_f_pt_PT"></div>
   </a>
</div></div>
         </div><!-- end ngRepeat: language in languages --><div ng-repeat="language in languages" class="ng-scope">
            <div kb-language-select-item=""><div id="languageSelectItem">
   <a href="" ng-click="selectLanguage(language)">
      <div ng-class="'img_language_flags_f_' + language" class="img_language_flags_f_nl_NL"></div>
   </a>
</div></div>
         </div><!-- end ngRepeat: language in languages --><div ng-repeat="language in languages" class="ng-scope">
            <div kb-language-select-item=""><div id="languageSelectItem">
   <a href="" ng-click="selectLanguage(language)">
      <div ng-class="'img_language_flags_f_' + language" class="img_language_flags_f_cs_CZ"></div>
   </a>
</div></div>
         </div><!-- end ngRepeat: language in languages --><div ng-repeat="language in languages" class="ng-scope">
            <div kb-language-select-item=""><div id="languageSelectItem">
   <a href="" ng-click="selectLanguage(language)">
      <div ng-class="'img_language_flags_f_' + language" class="img_language_flags_f_hu_HU"></div>
   </a>
</div></div>
         </div><!-- end ngRepeat: language in languages --><div ng-repeat="language in languages" class="ng-scope">
            <div kb-language-select-item=""><div id="languageSelectItem">
   <a href="" ng-click="selectLanguage(language)">
      <div ng-class="'img_language_flags_f_' + language" class="img_language_flags_f_zh_HANS"></div>
   </a>
</div></div>
         </div><!-- end ngRepeat: language in languages --><div ng-repeat="language in languages" class="ng-scope">
            <div kb-language-select-item=""><div id="languageSelectItem">
   <a href="" ng-click="selectLanguage(language)">
      <div ng-class="'img_language_flags_f_' + language" class="img_language_flags_f_pl_PL"></div>
   </a>
</div></div>
         </div><!-- end ngRepeat: language in languages -->
      </div>
   </div>
   <div class="kbPage">
      <div class="kbDivider"></div>
      <div class="kbNav ng-scope" ng-controller="navigationCtrl">
         <kb-navigation nodes="menu" class="ng-isolate-scope"><ul class="ng-scope">
   <!-- ngRepeat: node in nodes --><kb-navigation-node ng-repeat="node in nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/home" ng-class="{'active':isActive()}" class="active">
         <!-- ngIf: node.icon != '' --><i ng-if="node.icon != ''" class="icon-house"></i><!-- end ngIf: node.icon != '' -->
         <div translate="ID_289" class="ng-scope">Home</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in nodes --><kb-navigation-node ng-repeat="node in nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 --><div ng-if="node.nodes.length > 0" class="ng-scope">
      <a ng-click="toggleCollapse()">
         <!-- ngIf: node.icon != '' --><i ng-if="node.icon != ''" class="icon-gauge"></i><!-- end ngIf: node.icon != '' -->
         <div translate="ID_290" class="ng-scope">Momentanwerte</div>
      </a>
   </div><!-- end ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 --><ul ng-if="node.nodes.length > 0" class="ng-scope" style="display: none;">
      <!-- ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/current-values/pv-generator" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_291" class="ng-scope">PV-Generator</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/current-values/battery" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_200" class="ng-scope">Batterie</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/current-values/home" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_292" class="ng-scope">Haus</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/current-values/grid" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_202" class="ng-scope">Netz</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/current-values/analog-inputs" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_293" class="ng-scope">Analogeingänge</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/current-values/s0-in" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_351" class="ng-scope">S0-Eingang</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --></ul><!-- end ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in nodes --><kb-navigation-node ng-repeat="node in nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 --><div ng-if="node.nodes.length > 0" class="ng-scope">
      <a ng-click="toggleCollapse()">
         <!-- ngIf: node.icon != '' --><i ng-if="node.icon != ''" class="icon-graph-bar"></i><!-- end ngIf: node.icon != '' -->
         <div translate="ID_294" class="ng-scope">Statistik</div>
      </a>
   </div><!-- end ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 --><ul ng-if="node.nodes.length > 0" class="ng-scope" style="display: none;">
      <!-- ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/statistics/day" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_311" class="ng-scope">Tag</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/statistics/total" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_312" class="ng-scope">Gesamt</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/statistics/log-data" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_372" class="ng-scope">Logdaten</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --></ul><!-- end ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in nodes --><kb-navigation-node ng-repeat="node in nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 --><div ng-if="node.nodes.length > 0" class="ng-scope">
      <a ng-click="toggleCollapse()">
         <!-- ngIf: node.icon != '' --><i ng-if="node.icon != ''" class="icon-cog"></i><!-- end ngIf: node.icon != '' -->
         <div translate="ID_6" class="ng-scope">Einstellungen</div>
      </a>
   </div><!-- end ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 --><ul ng-if="node.nodes.length > 0" class="ng-scope" style="display: none;">
      <!-- ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 --><div ng-if="node.nodes.length > 0" class="ng-scope">
      <a ng-click="toggleCollapse()">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_295" class="ng-scope">Allgemein</div>
      </a>
   </div><!-- end ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 --><ul ng-if="node.nodes.length > 0" class="ng-scope" style="display: none;">
      <!-- ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/general/inverter-name" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_9" class="ng-scope">Wechselrichtername</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/general/date-time" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_11" class="ng-scope">Datum/Uhrzeit</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/general/login" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_315" class="ng-scope">Login</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --></ul><!-- end ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 --><div ng-if="node.nodes.length > 0" class="ng-scope">
      <a ng-click="toggleCollapse()">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_12" class="ng-scope">Kommunikation</div>
      </a>
   </div><!-- end ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 --><ul ng-if="node.nodes.length > 0" class="ng-scope" style="display: none;">
      <!-- ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/communication/inverter-address" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_319" class="ng-scope">Wechselrichter Adresse</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/communication/network" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_320" class="ng-scope">Netzwerk (TCP/IP)</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/communication/rs485" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_321" class="ng-scope">RS485</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/communication/modem" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_373" class="ng-scope">Modem</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --></ul><!-- end ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/portal-configuration" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_15" class="ng-scope">Portalkonfiguration</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/data-logger" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_296" class="ng-scope">Datenlogger</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/overvoltage-protection" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_443" class="ng-scope">Überspannungsschutz</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/generator-configuration" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_421" class="ng-scope">Generatorkonfiguration</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/battery-configuration" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_297" class="ng-scope">Batteriekonfiguration</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/switching-output" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_298" class="ng-scope">Schaltausgang</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/settings/analog-inputs" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_293" class="ng-scope">Analogeingänge</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --></ul><!-- end ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in nodes --><kb-navigation-node ng-repeat="node in nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope">
   <!-- ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 --><div ng-if="node.nodes.length > 0" class="ng-scope">
      <a ng-click="toggleCollapse()">
         <!-- ngIf: node.icon != '' --><i ng-if="node.icon != ''" class="icon-lightbulb"></i><!-- end ngIf: node.icon != '' -->
         <div translate="ID_300" class="ng-scope">Info</div>
      </a>
   </div><!-- end ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 --><ul ng-if="node.nodes.length > 0" class="ng-scope" style="display: none;">
      <!-- ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/info/events" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_301" class="ng-scope">Ereignisse</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --><kb-navigation-node ng-repeat="node in node.nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/info/versions" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' -->
         <div translate="ID_302" class="ng-scope">Versionen</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in node.nodes --></ul><!-- end ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in nodes --><kb-navigation-node ng-repeat="node in nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope separation">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/login" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' --><i ng-if="node.icon != ''" class="icon-login"></i><!-- end ngIf: node.icon != '' -->
         <div translate="ID_315" class="ng-scope">Login</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in nodes --><kb-navigation-node ng-repeat="node in nodes" node="node" class="ng-scope ng-isolate-scope"><li ng-show="showNode(node.options)" ng-class="{separation: node.options.separation}" class="ng-scope ng-hide separation">
   <!-- ngIf: node.nodes.length <= 0 --><div ng-if="node.nodes.length <= 0" class="ng-scope">
      <a href="#/logout" ng-class="{'active':isActive()}">
         <!-- ngIf: node.icon != '' --><i ng-if="node.icon != ''" class="icon-logout"></i><!-- end ngIf: node.icon != '' -->
         <div translate="ID_364" class="ng-scope">Logout</div>
      </a>
   </div><!-- end ngIf: node.nodes.length <= 0 -->

   <!-- ngIf: node.nodes.length > 0 -->

   <!-- ngIf: node.nodes.length > 0 -->
</li></kb-navigation-node><!-- end ngRepeat: node in nodes -->
</ul></kb-navigation>
         <div class="kbLogoSlogan"></div>
      </div>
      <div class="kbContent">
         <div class="kbContentHeading">
            <div class="kbInfo">
               <div class="kbInverter">
                  <span class="inverterType ng-binding"> PIKO 4.2</span>
                  <span class="inverterName ng-binding"> (Photovoltaik)</span>
               </div>
               <div class="kbUserAndDate">
                  <div><i class="icon-calendar"><span class="ng-binding">09.06.20 13:17</span></i></div>
                  <div><i class="icon-user"><span class="ng-binding">Gast</span></i></div>
               </div>
            </div>
            <div class="kbNavTitle ng-scope" ng-controller="navigationCtrl">
               <kb-navigation-breadcrumb breadcrumbs="breadcrumbs" class="ng-isolate-scope"><div class="breadcrumb">
   <div class="breadcrumbAnchor"></div>
   <!-- ngRepeat: node in breadcrumbs --><div ng-repeat="node in breadcrumbs" class="ng-scope">
      <p class="breadcrumbItem ng-scope" translate="ID_289">Home</p>

      <div ng-class="{'breadcrumbSeparator':!$last}"></div>
   </div><!-- end ngRepeat: node in breadcrumbs -->
</div></kb-navigation-breadcrumb>
            </div>
         </div>
         <div class="kbContentView">
            <div ng-show="appPageInfo.loadingInProgress" class="loader ng-hide" style="z-index: 2000">
               <div class="loader-inner">
                  <i class="icon-spinner animate-spin"></i>
               </div>
            </div>
            <div ng-show="appPageInfo.loadingFailed" class="loader ng-hide" style="z-index: 2000">
               <div class="loader-inner">
                  <i class="icon-error"></i>
               </div>
            </div>
            <div ng-show="appPageInfo.submitInProgress" class="loader-transparent ng-hide" style="z-index: 2000">
               <div class="loader-inner">
                  <i class="icon-spinner animate-spin"></i>
               </div>
            </div>
            <!-- ngView:  --><div class="kbView ng-scope" ng-view=""><form name="form" novalidate="" class="ng-pristine ng-valid ng-scope">
   
   <fieldset>
      <legend translate="ID_31" class="ng-scope">Leistungswerte</legend>
      
      <div class="row">
         <label translate="ID_1" class="ng-scope">DC-Eingang Gesamt</label><div class="value ng-binding">781,4W</div>
      </div>
      
      <div class="row">
         <label translate="ID_34" class="ng-scope">Ausgangsleistung</label><div class="value ng-binding">733,5W</div>
      </div>
      
      <!-- ngIf: appIsMatchingProperties("EXT_CURRENT_SENS") --><div class="row ng-scope" ng-if="appIsMatchingProperties(&quot;EXT_CURRENT_SENS&quot;)">
         <label translate="ID_273" class="ng-scope">Eigenverbrauch</label><div class="value ng-binding">0,3W</div>
      </div><!-- end ngIf: appIsMatchingProperties("EXT_CURRENT_SENS") -->
   </fieldset>
   
   <!-- ngIf: appIsMatchingProperties("BATTERY") -->
   
   <fieldset>
      <legend translate="ID_49" class="ng-scope">Status</legend>
      
      <div class="row">
         <label translate="ID_388" class="ng-scope">Betriebsstatus</label><div class="value ng-binding">Einspeisen (MPP)</div>
      </div>
   </fieldset>
</form></div>
            <div class="kbViewInfo ng-hide" ng-show="appPageInfo.submitSuccessful || appPageInfo.submitFailed">
               <div ng-show="appPageInfo.submitSuccessful" class="ng-hide">
                  <i class="icon-ok info-ok ng-binding"></i>
               </div>
               <div ng-show="appPageInfo.submitFailed" class="ng-hide">
                  <i class="icon-error info-error ng-binding"></i>
               </div>
            </div>
         </div>
      </div>
   </div>
   <div class="kbFooter">
      <div class="kbWebversion">v1.1.4</div>
   </div>
</div>

<!-- compiled JavaScript -->
<script type="text/javascript" src="assets/kbApp-1.1.4.js"></script>


</body>
Mir geht es dabei um die zwei Leistungswerte in Watt und den aktuellen Betriebsmodus:
Unbenannt.png


Kann mir da jemand helfen bzw. zeigen wie das geht?? :bow-yellow:
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
mfg
Wolfgang

Timberwolf 2500 #151 / VPN offen / Reboot nach Rücksprache
+ PBM #938

StefanW
Elaborated Networks
Elaborated Networks
Reactions:
Beiträge: 10702
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 5303 Mal
Danksagung erhalten: 8685 Mal
Kontaktdaten:

#2

Beitrag von StefanW »

Hallo Wolfgang,

das wäre eine womöglich interessante Sache für die geplante "Rest-API/Web"-Engine des Timberwolf Servers.

==> Bitte auch unter dem entsprechenden Forum posten, damit wir das auch in Zukunft dort finden


lg

Stefan
Zuletzt geändert von StefanW am Di Jun 09, 2020 1:56 pm, insgesamt 1-mal geändert.
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.
Benutzeravatar

Ersteller
Eraser
Reactions:
Beiträge: 677
Registriert: So Aug 12, 2018 1:51 pm
Hat sich bedankt: 218 Mal
Danksagung erhalten: 281 Mal

#3

Beitrag von Eraser »

Hallo Stefan,

hab einen neuen Thread im Rest-API-Forum eröffnet.

Ja wenn das dann über die API geht, wäre es ideal.
mfg
Wolfgang

Timberwolf 2500 #151 / VPN offen / Reboot nach Rücksprache
+ PBM #938
Antworten

Zurück zu „Docker Container: Node Red“