NEWS
Anfänger sucht Hilfe bei Install. proxmox auf INTELNUC8i3BEK
-
@meister-mopper said in Anfänger sucht Hilfe bei Install. proxmox auf INTELNUC8i3BEK:
sudo apt-get update && sudo apt-get dist-upgrade -y
Ja, dies hat jetzt so ohne Fehlermeldung funktioniert !
Danke
-
@bbtown bin zwar kein Linux Experte, aber ja,
in neuen Distros nur noch apt update,
aber beiapt upgrade
vsapt dist-upgrade
, zieht letzteres auch den Kernel hoch, bin ich zumindest der Meinung -
@goetschhofer
Vielleicht hat ja ein Wissender die Muße, dieses Phänomen zu erklären @Thomas-Braun -
karl@LXC-INFLUXDB-192:~$ sudo apt update && apt upgrade
Da fehlt schlicht und einfach ein sudo vor apt upgrade
-
@goetschhofer sagte in Anfänger sucht Hilfe bei Install. proxmox auf INTELNUC8i3BEK:
bekomme ich wieder diesen Hinweis,
geb das in der shell ein und danach deinen Browser neu starten, danach ist die Meldung wieder weg
sed -i.backup -z "s/res === null || res === undefined || \!res || res\n\t\t\t.data.status.toLowerCase() \!== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
-
@crunchip sagte in Anfänger sucht Hilfe bei Install. proxmox auf INTELNUC8i3BEK:
sed -i.backup -z "s/res === null || res === undefined || !res || res\n\t\t\t.data.status.toLowerCase() !== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
hat funktioniert
Proxmox 6.4-12
-
Vielen Dank für den Tipp !
-
@goetschhofer Du benötigst aber dann ein script, damit dies auch nach jedem upgrade wieder gesetzt wird.
-
@meister-mopper sagte in Anfänger sucht Hilfe bei Install. proxmox auf INTELNUC8i3BEK:
nach jedem upgrade
Doch nur wenn sich auch die PVE Version ändert
-
@crunchip Ja klar, aber mit 'nem Script ist man immer auf der sicheren Seite
-
@meister-mopper said in Anfänger sucht Hilfe bei Install. proxmox auf INTELNUC8i3BEK:
@crunchip Ja klar, aber mit 'nem Script ist man immer auf der sicheren Seite
Ich hätte dies jetzt jedesmal händisch durchgeführt, aber wenn dies mit einem Skript und damit komfortabler möglich ist, dann wäre dies eine effiziente Sache.
Hättest du solch ein Skript für mich ?
Danke im Voraus.
-
@meister-mopper sofern die Variante auch mit der zukünftigen Version funktioniert.
So oft rufe ich die Seite nicht auf, von daher ist es mir egal, ob da ne Meldung kommt.
Andernfalls zahlt man dafür, dann bekommt man auch im Zweifelsfall entsprechend Hilfe, direkt bei Proxmox
-
Ein Verzeichnis erstellen, in dem Anpassungen gespeichert werden. Der Name ist egal.
sudo mkdir /usr/share/custom
Jetzt ein Script erstellen, dass die Anpassungen anwendet und anschließend ausführbar machen:
sudo echo '#!/usr/bin/env bash' > /usr/share/custom/apply.sh
sudo chmod a+x /usr/share/custom/apply.sh
In das Script folgendes eintragen (hier können auch weitere Anpassungen, wie z. B. themes, reingeschrieben werden:
sed -i.backup -z "s/res === null || res === undefined || \!res || res\n\t\t\t.data.status.toLowerCase() \!== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
Abschließend eine Datei erstellen, die apt sagt, dass es nach einem upgrade das Script startet:
sudo echo 'DPkg::Post-Invoke { "/usr/share/custom/apply.sh"; };' > /etc/apt/apt.conf.d/90custom
Jetzt wird /usr/share/custom/apply.sh ausgeführt, nachdem apt installiert oder upgradet.
Sehr vorsichtig sein, was man in das script reinpackt, das kann fatale Folgen haben!!!
-
@goetschhofer wurde zwar beschrieben wie es mit einem script funktioniert, jedoch HIER noch ne andere Beschreibung und paar andere nützlichen Sachen auf der Seite zu finden.
-
@meister-mopper said in Anfänger sucht Hilfe bei Install. proxmox auf INTELNUC8i3BEK:
Ein Verzeichnis erstellen, in dem Anpassungen gespeichert werden. Der Name ist egal.
sudo mkdir /usr/share/custom
Jetzt ein Script erstellen, dass die Anpassungen anwendet und anschließend ausführbar machen:
sudo echo '#!/usr/bin/env bash' > /usr/share/custom/apply.sh
sudo chmod a+x /usr/share/custom/apply.sh
In das Script folgendes eintragen (hier können auch weitere Anpassungen, wie z. B. themes, reingeschrieben werden:
sed -i.backup -z "s/res === null || res === undefined || \!res || res\n\t\t\t.data.status.toLowerCase() \!== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
Abschließend eine Datei erstellen, die apt sagt, dass es nach einem upgrade das Script startet:
sudo echo 'DPkg::Post-Invoke { "/usr/share/custom/apply.sh"; };' > /etc/apt/apt.conf.d/90custom
Jetzt wird /usr/share/custom/apply.sh ausgeführt, nachdem apt installiert oder upgradet.
Sehr vorsichtig sein, was man in das script reinpackt, das kann fatale Folgen haben!!!
Hallo meister-popper,
vielen Dank für die sehr ausführliche Erläuterung
Ich befürchte nur, dass ich hier fachlich etwas überfordert bin, dies traue ich mir nicht umzusetzen.
Aber gut zu wissen, dass es hier auch eine automatisierte Lösung gibt.Bei meinen minimalen Linux-Kenntnissen ist die händische Rücksetzung der Fehlermeldung durch den Befehl fast risikolos.
ed -i.backup -z "s/res === null || res === undefined || \!res || res\n\t\t\t.data.status.toLowerCase() \!== 'active'/false/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js && systemctl restart pveproxy.service
-
@goetschhofer sagte in Anfänger sucht Hilfe bei Install. proxmox auf INTELNUC8i3BEK:
fachlich etwas überfordert bin
das ist aber genau der grund, warum @Meister-Mopper das genau so detailiert beschrieben hat!
wenn du das genau so durchführst, kann nichts passieren! backup vorher sicherheitshalber anlegen!
du glaubst nur überfordert zu sein. versuche zu verstehen, was da abgeht. man lernt daraus...
das warning zum schluss ist ja nur für den fall, daß du da noch andere sachen mit reinpackst. da kanns dann zu einem schuss ins knie kommen. ja und? backup haste ja... -
Ich lese seit ca. 1 Monat meinen EVU-Smartmeter Siemens TD-3511 über einen Infrarotlesekopf alle 2 Sekunden aus.
Über MQTT werden die Daten an den iobroker gesandt und in Grafana visualisiert.Jetzt würde ich noch gerne die Tageswerte Bezug und Einspeisung der letzten 7 Tage in iobroker übernehmen, da ich diese in dieser App ja schon habe.
Da ich die Tagesdaten Bezug/Einspeisung in kWh über MQTT nicht direkt bekomme, wollte ich euch fragen, ob man diese Werte auch parsen könnte ?Das Problem ist, dass ich in diesem Bereich überhaupt keine Ahnung habe.
Ich weiß nur, dass es einen eigenen Adapter parser gibt.Unten habe ich den gesamten Quelltext in Codetex eingefügt.
Vielen Dank im Voraus für Eure Hilfe.
Karl
Die Werte heute bis 6 Tage retour sind meines Erachtens für Bezug wd_in0 bis wd_in6 und für Einspeisung wd_out0 bis wd_out6.
<div class="pure-u-1"> <table class="pure-table pure-table-striped" width="100%"> <thead><tr><th>Tag</th><th align="right">Bezug</th><th align="right">Lfrg.</th><th align="right">Diff.</th></tr></thead> <Tbody> <tr><td>Heute</td> <td align="right" id="tdy_in"></td><td align="right" id="tdy_out"></td><td align="right" id="tdy_diff"></td></tr> <tr><td id="wd0"></td><td align="right" id="wd_in0"></td><td align="right" id="wd_out0"></td><td align="right" id="wd_diff0"></td></tr> <tr><td id="wd1"></td><td align="right" id="wd_in1"></td><td align="right" id="wd_out1"></td><td align="right" id="wd_diff1"></td></tr> <tr><td id="wd2"></td><td align="right" id="wd_in2"></td><td align="right" id="wd_out2"></td><td align="right" id="wd_diff2"></td></tr> <tr><td id="wd3"></td><td align="right" id="wd_in3"></td><td align="right" id="wd_out3"></td><td align="right" id="wd_diff3"></td></tr> <tr><td id="wd4"></td><td align="right" id="wd_in4"></td><td align="right" id="wd_out4"></td><td align="right" id="wd_diff4"></td></tr> <tr><td id="wd5"></td><td align="right" id="wd_in5"></td><td align="right" id="wd_out5"></td><td align="right" id="wd_diff5"></td></tr> <tr><td id="wd6"></td><td align="right" id="wd_in6"></td><td align="right" id="wd_out6"></td><td align="right" id="wd_diff6"></td></tr>
GESAMTER QUELLTEXT:
<!doctype html> <html lang="de"> <head> <!--<meta http-equiv="Content-Security-Policy" content="default-src * 'unsafe-inline' 'unsafe-eval';">--> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>ESP-Device</title> <link rel="stylesheet" href="custom.css"> <link rel="icon" type="image/png" href="data:image/png;base64,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"> <script src="jquery351.js"></script> </head> <body> <div id="layout"> <!--This is the parent `<div>` that contains the menu and the content area :: side-menu.css--> <!-- Menu toggle --> <!--<a href="#menu" id="menuLink" class="menu-link">--> <a id="menuLink" class="menu-link"> <!-- Hamburger icon --> <span></span> </a> <div id="menu"> <div class="pure-menu"> <!--<a class="pure-menu-heading" href="#">Device</a>--> <span class="pure-menu-heading" name="devicetype">DeviceType</span> <ul class="pure-menu-list"> <li class="pure-menu-item"><a class="pure-menu-link" data="panel-home">Zähler</a></li> <li class="pure-menu-item menu-graf"><a class="pure-menu-link" data="panel-graf">Grafik</a></li> <li class="pure-menu-item"><a class="pure-menu-link" data="panel-log">Log</a></li> <li class="pure-menu-item"><a class="pure-menu-link" data="panel-status">Status</a></li> <li class="pure-menu-item"><a class="pure-menu-link" data="panel-general">Allgemein</a></li> <li class="pure-menu-item"><a class="pure-menu-link" data="panel-wifi">WiFi</a></li> <li class="pure-menu-item"><a class="pure-menu-link" data="panel-mqtt">MQTT</a></li> <li class="pure-menu-item"><a class="pure-menu-link" data="panel-update">Update</a></li> <li class="pure-menu-item"><a class="pure-menu-link" data="panel-hist">Versionsinfo</a></li> </ul> </div> </div> <div class="content"> <!--The content `<div>` is where all your content goes. :: side-menu.css--> <div class="panel" id="panel-graf"> <div id="chart-container" class="chart"> <br>Daten von Thingspeak werden geladen...<br> </div> <div class="chart-below"> <div class="pure-g"> <div class="pure-u-1 pure-u-sm-1-5"> <button class="pure-button button-load" onclick="loadOneChannel();" style="margin-left: 10px;width:160px;">Daten nachladen:</button> </div> <select class="pure-u-1 pure-u-sm-1-5" style="margin-left: 10px;" id="Loads"> <option selected="selected" value="1">1 Tag</option> <option value="2">2 Tage</option> <option value="3">3 Tage</option> <option value="4">4 Tage</option> <option value="5">5 Tage</option> <option value="6">6 Tage</option> <option value="7">7 Tage</option> <option value="8">8 Tage</option> <option value="9">9 Tage</option> <option value="10">10 Tage</option> </select> <select id="ChannelSelect" class="pure-u-1 pure-u-sm-1-5" style="margin-left: 10px;"></select> <div class="pure-u-1 pure-u-sm-1-5"> <button class="pure-button button-graf" style="margin-left:10px;width:160px;">Chart neu laden</button> </div> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Grafikdaten autom. aktualisieren</label> <div class="pure-u-1 pure-u-sm-1-5 on_off"> <input id="Update" name="Update" type="checkbox" class=""> </div> <div class="pure-u-1 pure-u-sm-2-5"></div> </div> </div> </div> <div class="panel" id="panel-home"> <div class="header"> <h1>AMIS-Zähler</h1> <br> </div><br> <div class="amis"> <div class="pure-u-11-24">Uhrzeit (Zähler)</div> <div class="pure-u-11-24" name="now"></div> <div class="pure-u-11-24">1.8.0 (Energie A+)</div> <strong><div class="pure-u-11-24" name="1_8_0" post=" kWh" div="1000"></div></strong> <div class="pure-u-11-24">2.8.0 (Energie A-)</div> <strong><div class="pure-u-11-24" name="2_8_0" post=" kWh" div="1000"></div></strong> <div class="pure-u-11-24">3.8.1 (Energie R+)</div> <div class="pure-u-11-24" name="3_8_1" post=" kVarh" div="1000"></div> <div class="pure-u-11-24">4.8.1 (Energie R-)</div> <div class="pure-u-11-24" name="4_8_1" post=" kVarh" div="1000"></div> <div class="pure-u-11-24">1.7.0 (Wirk. P+)</div> <strong><div class="pure-u-11-24" name="1_7_0" post=" kW" div="1000"></div></strong> <div class="pure-u-11-24">2.7.0 (Wirk. P-)</div> <strong><div class="pure-u-11-24" name="2_7_0" post=" kW" div="1000"></div></strong> <div class="pure-u-11-24">Saldo 1.7.0-2.7.0</div> <strong><div class="pure-u-11-24" id="saldo"></div></strong> <div class="pure-u-11-24">3.7.0 (Blind. Q+)</div> <div class="pure-u-11-24" name="3_7_0" post=" kVar" div="1000"></div> <div class="pure-u-11-24">4.7.0 (Blind. Q-)</div> <div class="pure-u-11-24" name="4_7_0" post=" kVar" div="1000"></div> <div class="pure-u-11-24">1.128.0 (Inkasso)</div> <div class="pure-u-11-24" name="1_128_0"></div> <br><hr> <div class="pure-u-11-24">Uptime</div> <div class="pure-u-11-24" name="uptime"></div> <div class="pure-u-11-24">Upload Thingspeak</div> <div class="pure-u-11-24" name="things_up"></div> <br><hr> <h3>Energie [kWh]</h3> <div class="pure-u-1"> <table class="pure-table pure-table-striped" width="100%"> <thead><tr><th>Tag</th><th align="right">Bezug</th><th align="right">Lfrg.</th><th align="right">Diff.</th></tr></thead> <Tbody> <tr><td>Heute</td> <td align="right" id="tdy_in"></td><td align="right" id="tdy_out"></td><td align="right" id="tdy_diff"></td></tr> <tr><td id="wd0"></td><td align="right" id="wd_in0"></td><td align="right" id="wd_out0"></td><td align="right" id="wd_diff0"></td></tr> <tr><td id="wd1"></td><td align="right" id="wd_in1"></td><td align="right" id="wd_out1"></td><td align="right" id="wd_diff1"></td></tr> <tr><td id="wd2"></td><td align="right" id="wd_in2"></td><td align="right" id="wd_out2"></td><td align="right" id="wd_diff2"></td></tr> <tr><td id="wd3"></td><td align="right" id="wd_in3"></td><td align="right" id="wd_out3"></td><td align="right" id="wd_diff3"></td></tr> <tr><td id="wd4"></td><td align="right" id="wd_in4"></td><td align="right" id="wd_out4"></td><td align="right" id="wd_diff4"></td></tr> <tr><td id="wd5"></td><td align="right" id="wd_in5"></td><td align="right" id="wd_out5"></td><td align="right" id="wd_diff5"></td></tr> <tr><td id="wd6"></td><td align="right" id="wd_in6"></td><td align="right" id="wd_out6"></td><td align="right" id="wd_diff6"></td></tr> </Tbody> </table> </div> </div> </div> <div class="panel pure-form" id="panel-status"> <div class="header"> <h1>STATUS 🛈</h1> <br> </div> <div class="pure-u-1 pure-u-lg-1-2 state"> <div class="pure-u-1-2">Chip ID</div> <div class="pure-u-11-24"><span class="right" name="chipid"></span></div> <div class="pure-u-1-2">Wifi MAC</div> <div class="pure-u-11-24"><span class="right" name="mac"></span></div> <div class="pure-u-1-2">SDK version</div> <div class="pure-u-11-24"><span class="right" name="sdk"></span></div> <div class="pure-u-1-2">Core version</div> <div class="pure-u-11-24"><span class="right" name="core"></span></div> <div class="pure-u-1-2">App version</div> <div class="pure-u-11-24"><span class="right" name="version"></span></div> <div class="pure-u-1-2">App name</div> <div class="pure-u-11-24"><span class="right" name="app_name"></span></div> <div class="pure-u-1-2">Firmware size</div> <div class="pure-u-11-24"><span class="right" name="sketchsize" post=" bytes"></span></div> <div class="pure-u-1-2">Free space</div> <div class="pure-u-11-24"><span class="right" name="freesize" post=" bytes"></span></div> <div class="pure-u-1-2">LITTLE-FS size</div> <div class="pure-u-11-24"><span class="right" name="littlefs_size" post=" bytes"></span></div> <div class="pure-u-1-2">LITTLE-FS used</div> <div class="pure-u-11-24"><span class="right" name="littlefs_used" post=" bytes"></span></div> <div class="pure-u-1-2">Max. free block size</div> <div class="pure-u-11-24"><span class="right" name="max_free_blocksz" post=" bytes"></span></div> <div class="pure-u-1-2">Free heap</div> <div class="pure-u-11-24"><span class="right" name="heap_free" post=" bytes"></span></div> <div class="pure-u-1-2">Heap fragmentation</div> <div class="pure-u-11-24"><span class="right" name="heap_fragment" post=" %"></span></div> <div class="pure-u-1-2">Flash speed</div> <div class="pure-u-11-24"><span class="right" name="flashspeed" post=" Hz"></span></div> <div class="pure-u-1-2">Flash size</div> <div class="pure-u-11-24"><span class="right" name="flashsize" post=" bytes"></span></div> <div class="pure-u-1-2">Flash mode</div> <div class="pure-u-11-24"><span class="right" name="flashmode"></span></div> <div class="pure-u-1-2">CPU Frequ.</div> <div class="pure-u-11-24"><span class="right" name="cpu" post=" MHz"></span></div> </div> <div class="pure-u-1 pure-u-lg-11-24 state"> <div class="pure-u-1-2">Network</div> <div class="pure-u-11-24" name="ssid"></div> <div class="pure-u-1-2">Channel</div> <div class="pure-u-11-24" name="channel"></div> <div class="pure-u-1-2">RSSI</div> <div class="pure-u-11-24" name="rssi" post=" dB"></div> <div class="pure-u-1-2">IP</div> <div class="pure-u-11-24" name="deviceip"></div> <div class="pure-u-1-2">DNS</div> <div class="pure-u-11-24" name="dns"></div> <div class="pure-u-1-2">Gateway</div> <div class="pure-u-11-24" name="gateway"></div> <div class="pure-u-1-2">Netmask</div> <div class="pure-u-11-24" name="netmask"></div> <div class="pure-u-1-2">VCC</div> <div class="pure-u-11-24"><span class="right" name="vcc">? </span><span>mV</span></div> <div class="pure-u-1-2 module-mqtt">MQTT Status</div> <div class="pure-u-11-24 module-mqtt" name="mqttStatus"></div> <div class="pure-u-1-2 module-ntp">NTP Status</div> <div class="pure-u-11-24 module-ntp" name="ntpSynced"></div> <div class="pure-u-1-2 module-ntp">Current time</div> <div class="pure-u-11-24 module-ntp" name="now"></div> <div class="pure-u-1-2">Uptime</div> <div class="pure-u-11-24" name="uptime"></div> </div> </div> <div class="panel pure-form" id="panel-general"> <div class="header"> <h1>Allgemein</h1> <!--<h3>Current configuration</h3>--> <br> </div> <br> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Name Gerät:</label> <input class="pure-u-1 pure-u-sm-2-5 general" type="text" name="devicename" placeholder="ESP-Device" /> </div> <br> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Authentifizierung:</label> <div class="pure-u-1 pure-u-sm-2-5"><input type="checkbox" name="use_auth" id="use_auth" class="general"/></div> </div> <div class="auth_details"> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Benutzer:</label> <input class="pure-u-1 pure-u-sm-2-5 general" name="auth_user" value="Admin"/> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Passwort:</label> <input class="pure-u-1 pure-u-sm-2-5 general" name="auth_passwd" type="password" spellcheck="false" /> <span class="no-select password-reveal"></span> </div> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">System-Log:</label> <div class="pure-u-1 pure-u-sm-2-5"><input type="checkbox" name="log_sys" id="log_sys" class="general"/></div> </div> <br> <div style="display:block;"> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Amis-Key:</label> <input class="pure-u-1 pure-u-sm-2-5 general" type="text" name="amis_key"/> </div> <br> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">ThingSpeak/Highcharts aktiv:</label> <div class="pure-u-1 pure-u-sm-1-5"><input type="checkbox" name="thingspeak_aktiv" id="thingspeak_aktiv" class="general"/></div> </div> <div class="things_details"> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Channel ID:</label> <input class="pure-u-1 pure-u-sm-2-5 general" type="text" name="channel_id"/> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Write API Key:</label> <input class="pure-u-1 pure-u-sm-2-5 general" type="text" name="write_api_key"/> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Read API Key:</label> <input class="pure-u-1 pure-u-sm-2-5 general" type="text" name="read_api_key"/> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Intervall (sec):</label> <input class="pure-u-1 pure-u-sm-2-5 general" type="number" min="30" name="thingspeak_iv"/> </div> <hr> <br> Daten für einen zweiten Zähler abrufen: <br><br> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Channel ID:</label> <input class="pure-u-1 pure-u-sm-2-5 general" type="text" name="channel_id2"/> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Read API Key:</label> <input class="pure-u-1 pure-u-sm-2-5 general" type="text" name="read_api_key2"/> </div> </div> </div> <hr> <div class="pure-g"> <div class="pure-u-1 pure-u-sm-1-5"><progress id="prgbar_general"></progress></div> <div style="min-height: 40px"></div> </div> <div class="pure-g"> <div class="pure-u-1 pure-u-sm-3-5"> <button class="pure-button button-update-general">Übernehmen</button> <button class="pure-button button-reboot">Neustart</button> </div> </div> </div> <div class="panel pure-form" id="panel-wifi"> <div class="header"> <h1>WiFi 📶</h1> <h2>Gerätebezeichnung (Hostname) bei "Allgemein" festlegen</h2> </div> <br> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">SSID:</label> <input class="pure-u-1 pure-u-sm-2-5 wifi" name="ssid" type="text"/> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Passwort:</label> <input class="pure-u-1 pure-u-sm-2-5 wifi" name="wifipassword" type="password"/> <span class="no-select password-reveal"></span> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">DHCP</label> <div class="pure-u-1 pure-u-sm-2-5 on_off"><input type="checkbox" name="dhcp" id="dhcp" class="wifi" /></div> </div> <div class="wifi_details"> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Static IP:</label> <input class="pure-u-1 pure-u-sm-2-5 wifi" name="ip_static" type="text"/> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Netmask:</label> <input class="pure-u-1 pure-u-sm-2-5 wifi" name="ip_netmask" type="text"/> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Gateway:</label> <input class="pure-u-1 pure-u-sm-2-5 wifi" name="ip_gateway" type="text"/> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Nameserver:</label> <input class="pure-u-1 pure-u-sm-2-5 wifi" name="ip_nameserver" type="text"/> </div> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">RF-Power:</label> <input class="pure-u-1 pure-u-sm-1-5 wifi" name="rfpower" type="number" min="0" max="25" placeholder="0..25dBm"/> <span class="pure-u-1 pure-u-sm-1-5"> dBm</span> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">MDNS</label> <div class="pure-u-1 pure-u-sm-2-5 on_off"><input type="checkbox" name="mdns" class="wifi" /></div> <div class="pure-u-1 pure-u-sm-3-5"></div> <div class="pure-u-1 pure-u-sm-1-5"></div> <div class="pure-u-1 pure-u-sm-4-5 hint"> Wenn der Browser / das BS MDNS unterstützen, kann dieses Gerät unter "<span name="devicename" class="wifi"></span>.local" erreicht werden. Das Verfahren ist auch als Bonjour bekannt. </div> </div> <div class="pure-g"> <div class="pure-u-1 pure-u-sm-1-5"><progress id="prgbar_wifi"></progress></div> <div style="min-height:40px"></div> </div> <div class="pure-g"> <div class="pure-u-1 pure-u-sm-3-5"> <button class="pure-button button-update-wifi">Übernehmen</button> <button class="pure-button button-reboot">Neustart</button> </div> </div> <hr> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">WiFi-Scan</label> <div class="pure-u-1 pure-u-sm-4-5"><span name="stations"></span></div> </div> </div> <div class="panel pure-form" id="panel-mqtt"> <div class="header"> <h1>MQTT</h1> <h2>Einen MQTT broker im lokalen Netzwerk definieren.</h2> </div> <br> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">MQTT aktiv:</label> <div class="pure-u-1 pure-u-sm-2-5"><input type="checkbox" name="mqtt_enabled" id="mqtt_enabled" class="mqtt"/></div> </div> <div class="mqtt_details"> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">MQTT Broker</label> <input class="pure-u-1 pure-u-sm-2-5 mqtt" name="mqtt_broker" type="text" placeholder="IP or address of your broker" /> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">MQTT Port</label> <input class="pure-u-1 pure-u-sm-2-5 mqtt" name="mqtt_port" type="number" value="1883" /> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">MQTT User</label> <input class="pure-u-1 pure-u-sm-2-5 mqtt" name="mqtt_user" type="text" placeholder="Frei lassen wenn kein Benutzer definiert ist" autocomplete="off" /> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">MQTT Passwort</label> <input class="pure-u-1 pure-u-sm-2-5 mqtt" name="mqtt_password" type="password" placeholder="Frei lassen wenn kein Passwort definiert ist" autocomplete="new-password" spellcheck="false" /> <span class="no-select password-reveal"></span> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">MQTT Client ID</label> <input class="pure-u-1 pure-u-sm-2-5 mqtt" name="mqtt_clientid" type="text"/> <div class="pure-u-0 pure-u-sm-2-5"></div> <div class="pure-u-0 pure-u-sm-1-5"></div> <div class="pure-u-1 pure-u-sm-2-5 hint"> Wenn nicht definiert, wird automatisch eine ID generiert </div> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">MQTT QoS</label> <select class="pure-u-1 pure-u-sm-2-5 mqtt" name="mqtt_qos"> <option value="0">0: At most once</option> <option value="1">1: At least once</option> <option value="2">2: Exactly once</option> </select> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">MQTT Retain</label> <div class="pure-u-1 pure-u-sm-2-5"><input type="checkbox" name="mqtt_retain" class="mqtt"/></div> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">MQTT Keep Alive</label> <input class="pure-u-1 pure-u-sm-1-5 mqtt" type="number" name="mqtt_keep" min="0" max="3600" value="30"/> <span class="pure-u-1 pure-u-sm-1-5"> sec</span> </div> <div class="pure-g"> <div class="pure-u-1 pure-u-sm-1-5"></div> <div class="pure-u-1 pure-u-sm-2-5 hint"> Die publish-message wird im definierten Intervall gesendet. </div> </div> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">MQTT publish:</label> <input class="pure-u-1 pure-u-sm-2-5 mqtt" name="mqtt_pub" type="text"/> </div> <!--<div class="pure-g">--> <!--<label class="pure-u-1 pure-u-sm-1-5">MQTT subscribe:</label>--> <!--<input class="pure-u-1 pure-u-sm-2-5 mqtt" name="mqtt_sub" type="text"/>--> <!--</div>--> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">MQTT Last Will:</label> <input class="pure-u-1 pure-u-sm-2-5 mqtt" name="mqtt_will" type="text"/> </div> </div> <hr> <div class="pure-g"> <div class="pure-u-1 pure-u-sm-1-5"><progress id="prgbar_mqtt"></progress></div> <div style="min-height:40px"></div> </div> <div class="pure-g"> <div class="pure-u-1 pure-u-sm-3-5"> <button class="pure-button button-update-mqtt">Übernehmen</button> <button class="pure-button button-reboot">Neustart</button> </div> </div> </div> <div class="panel pure-form" id="panel-update"> <div class="header"> <h1>Software-Update ♺</h1> <!--<h4>Configure your NTP (Network Time Protocol) servers and local configuration to keep your device time up to the second for your location.</h4>--> <br> </div> <br><br><br> <div class="pure-g"> <label class="pure-u-1 pure-u-sm-1-5">Datei:</label> <input class="pure-u-1 pure-u-sm-2-5" name="filename" type="text" readonly /> </div> <div class="pure-g"> <div class="pure-u-1 pure-u-sm-1-5"><progress id="prgbar_update"></progress></div> <div style="min-height:40px"></div> </div> <div class="main-buttons pure-g"> <button class="pure-button button-upgrade-browse pure-u-1 pure-u-sm-2-24">Auswahl</button> <div class="pure-u-1 pure-u-sm-1-24"></div> <button class="pure-button button-upgrade pure-u-1 pure-u-sm-2-24">Update</button> <div class="pure-u-1 pure-u-sm-1-24"></div> <button class="pure-button button-reboot pure-u-1 pure-u-sm-2-24">Neustart</button> </div> <input name="upgrade" type="file" style="display:none;"/> </div> <div class="panel" id="panel-log"> <div class="header"> <h1>LOG 🗊</h1> <!--<h2> style="color:#555;">--> <h2> Ereignisse anzeigen </h2> </div> <br> <div class="pure-g"> <div class="pure-u-2-5 "><span name="page"></span></div> </div> <div class="pure-g"> <div class="pure-u-1 log"><span class="terminal" name="list"></span></div> <!--<div class=""><span class="terminal" name="list"></span></div>--> </div> <br> <div class="pure-g"> <div class="pure-u-1 pure-u-sm-1-5"><button class="pure-button button-log-prev">Seite -</button></div> <div class="pure-u-1 pure-u-sm-1-5"><button class="pure-button button-log-next">Seite +</button></div> <div class="pure-u-1 pure-u-sm-1-5"><button class="pure-button button-log-clear">Log löschen</button></div> </div> <br> <div class="pure-g"> <div class="pure-u-1 pure-u-sm-1-5">Tagesverbrauch</div> <div class="pure-u-1 pure-u-sm-1-5"><button class="pure-button button-hist_clear">Löschen</button></div> </div> </div> <div class="panel" id="panel-hist"> <div class="header"> <h1>Versionsinfo</h1> </div> <br> <div class="pure-g hist"> <div class="pure-u-1"> <h3>Version 1.2.0</h3> Neues Filesystem LittleFs eingeführt. Leider gehen dadurch alle Konfigurations- und Logdateien verloren. Kleine Bugs behoben. <br> <h3>Version 1.1.5</h3> Antwort auf rest-Anfrage ist gesperrt, so lange Zähler nicht synchron ist. <br> <h3>Version 1.1.4</h3> Alle Web-Dateien werden vom lokalen Server bereitgestellt, d.h. kein Nachladen aus externen Quellen ist notwendig. Ausnahme: Chart-Grafik, aber dazu ist grundsätzlich eine Internetverbindung notwendig. <br> Logdatei und Log-Anzeige: übersteigt die Größe der Logdatei ca. 1000 Zeilen, dann wird sie gelöscht und neu erzeugt. Der Seitenabruf wurde verbessert wegen Timeout-Problemen. <br> <h3>Version 1.1.3</h3> Leerzeichen in SSID erlaubt. Einige HTML-Bugs bereinigt. <br> <h3>Version 1.1.2</h3> Saldo 1.7.0 - 2.7.0 wird angezeigt.<br> Die Energie-History wurde ergänzt und zeigt jetzt auch die Lieferung und den Saldo per Tag an. <br> <h3>Version 1.1.1</h3> Einführung Versionsinfo.<br> Bugfix MQTT.<br> Die blaue LED leuchtet jetzt dauernd, sobald eine Verbindung zu einem Router (Access-Point) aufgebaut ist.<br> Wenn das Modul selbst als Access-Point auftritt (Jumper gesetzt), blinkt die LED. Die Netzwerkkennung (SSID) ist dann "ESP8266_AP", die Verbindung kann unter 192.168.4.1 aufgebaut werden.<br> <h3>Version 1.1.0</h3> Der Datenabruf von Thingspeak musste geändert werden, weil die bisherige Methhode mit jsonp nicht mehr unterstützt wird. Durch die Änderung des API können sehr restriktive Webbrowser u.U. keine Daten mehr abrufen.<br> Die gesamte Oberfläche wurde neu gestaltet, im Hintergrund laufen jetzt alle Vorgänge asynchron ab. Die Betriebssicherheit sollte dadurch noch besser werden. </div> </div> </div> </div> </div> <!--<script src="chart.js"></script>--> <script src="cust.js"></script> </body> </html>
-
@goetschhofer sagte in Anfänger sucht Hilfe bei Install. proxmox auf INTELNUC8i3BEK:
Jetzt würde ich noch gerne die Tageswerte Bezug und Einspeisung der letzten 7 Tage in iobroker übernehmen, da ich diese in dieser App ja schon habe.
Mit Parser kenn ich mich überhaupt nicht aus, da kann ich dir nicht weiterhelfen.
Aber
Möchtest du die Daten in iobroker oder geht es dir eher ums Grafana Dashboard?
Grafana kann doch rechnen, somit kannst du dir das direkt anzeigen lassen. -
@crunchip said in Anfänger sucht Hilfe bei Install. proxmox auf INTELNUC8i3BEK:
@goetschhofer sagte in Anfänger sucht Hilfe bei Install. proxmox auf INTELNUC8i3BEK:
Jetzt würde ich noch gerne die Tageswerte Bezug und Einspeisung der letzten 7 Tage in iobroker übernehmen, da ich diese in dieser App ja schon habe.
Mit Parser kenn ich mich überhaupt nicht aus, da kann ich dir nicht weiterhelfen.
Aber
Möchtest du die Daten in iobroker oder geht es dir eher ums Grafana Dashboard?
Grafana kann doch rechnen, somit kannst du dir das direkt anzeigen lassen.Ja, ich möchte auf jeden Fall die Daten Tag Bezug u. Einspeisung in kWh in iobroker haben und anschließend in mein Grafana Dashboard-AMIS-Reader übernehmen.
Das Problem, welches ich habe ist, dass er den Saldo jede Sekunde aus 1.7.0.-Bezug und 2.7.0 Einspeisung, wenn >0 als Bezug in den Tagessaldo-Bezug rechnen muss und wenn der Saldo <0 in den Tagessaldo-Einspeisung rechnen muss oder könnte man die Differenzen aus den kumulierten Zählerständen täglich ermitteln ?
Danke
-
@hormoran
Hallo hormoran,
ich würde gerne die Werte Tageswerte Bezug und Einspeisung aus meinem AMIS-Reader-IP192.168.1.35 parsen und in den iobroker schreiben.
Die Doku befindet sich 2 posts weiter oben.
Habe aber das Problem, dass ich mich bei der Syntax bei den Eingaben im Adaper parser nicht wirklich auskenne.Könntest du mir hier weiterhelfen ?
Vielen Dank im Voraus.
Karl