[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.
Antworten
Benutzeravatar

Ersteller
Eraser
Reactions:
Beiträge: 340
Registriert: So Aug 12, 2018 1:51 pm
Wohnort: Amstetten, Österreich
Hat sich bedankt: 123 Mal
Danksagung erhalten: 154 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
Reactions:
Beiträge: 4141
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Grafing
Hat sich bedankt: 1836 Mal
Danksagung erhalten: 3181 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 der Elaborated Networks GmbH
Support nur über dieses Forum und in individuellen Fällen über support@wiregate.de.
Bitte KEINE PN Impressum und Datenschutzerklärung oben

Benutzeravatar

Ersteller
Eraser
Reactions:
Beiträge: 340
Registriert: So Aug 12, 2018 1:51 pm
Wohnort: Amstetten, Österreich
Hat sich bedankt: 123 Mal
Danksagung erhalten: 154 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“