Wetter Widget für Timberwolf VISU

Bild


Neues Wetter-Widget im Detail vorgestellt

Beschreibung: viewtopic.php?f=105&t=4129&start=360#p65730


AKTION: Wir haben viele tolle Upgrades geplant sowie 150 Videos und 800 Wiki Seiten. Bitte unterstütze uns mit einem Software-Wartungsvertrag, damit wir dieses alles erreichen können. Und damit Dein Server weiterhin Updates, Upgrades und Support erhält. Jetzt in der Aktion schenken wir Dir den Insider Club mit derselben Laufzeit wie der am längsten laufende aktive Wartungsvertrag dazu - bei sofortigem Laufzeitbeginn PLUS den Wetter-Service für ZWEI Jahre. Damit profitierst Du auch von einer vorzeitigen Verlängerung. Alle Infos: https://elabnet.atlassian.net/wiki/x/GQB8z

[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
Beiträge: 678
Registriert: So Aug 12, 2018 1:51 pm
Hat sich bedankt: 221 Mal
Danksagung erhalten: 283 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
Beiträge: 11108
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 5465 Mal
Danksagung erhalten: 9474 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
Beiträge: 678
Registriert: So Aug 12, 2018 1:51 pm
Hat sich bedankt: 221 Mal
Danksagung erhalten: 283 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“