[HMinfoTools.js] ein WebUI für das modul HMinfo

Begonnen von frank, 12 Juli 2020, 12:28:10

Vorheriges Thema - Nächstes Thema

edition

#90
Hier schon mal das list:

Internals:
   FUUID      61b353e2-f33f-b5e1-63d5-e34673d08c4e9ab5
   NAME       hm
   NOTIFYDEV  global
   NR         24
   NTFY_ORDER 49-hm
   STATE      updated:2021-12-11 15:53:35
   TYPE       HMinfo
   Version    01
   READINGS:
     2021-12-11 15:53:35   CRI__protocol   0
     2021-12-11 14:59:27   C_sumDefined    entities:6,device:2,channel:4,virtual:2
     2021-12-11 15:53:35   ERR__protocol   0
     2021-12-10 14:19:38   ERR__unreachable 0
     2021-12-11 15:53:35   ERR_battery     0
     2021-12-11 15:53:35   I_actTotal      0
     2021-12-10 14:19:38   I_autoReadPend  0
     2021-12-11 15:53:35   I_rssiMinLevel  59<:0 60>:0 80>:0 99>:0
     2021-12-11 15:53:35   I_sum_battery   ok:1,
     2021-12-11 15:53:35   W__protocol     0
     2021-12-11 15:15:29   lastErrChange   updated:2021-12-11 15:15:29
   helper:
     weekplanListDef ./tempList.cfg
     weekplanListDir ./
     weekplanList:
   nb:
     cnt        7
Attributes:
   autoArchive 1
   autoLoadArchive 1_load
   sumERROR   battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorErr:ok,error:none,uncertain:[no|yes],smoke_detect:none,cover:closed
   sumStatus  battery,sabotageError,powerError,motor
   webCmd     update:protoEvents short:rssi:peerXref:configCheck:models


Und die komplette Fehlermeldung aus der Konsole:

Das Skript von "http://192.168.0.104:8083/fhem//opt/fhem/www/pgm2/HMinfoTools.js" wurde geladen, obwohl sein MIME-Typ ("text/html") kein für JavaScript gültiger MIME-Typ ist.
fhem
Layout-Darstellung wurde erzwungen, bevor die Seite vollständig geladen war. Falls Stylesheet noch nicht geladen sind, kann dies zu einem kurzzeitigen Darstellung des Inhalts ohne Formatierung führen. jquery.min.js:4:29775
Uncaught TypeError: Window.getDefaultComputedStyle: Argument 1 is not an object.
    jQuery 14
    FW_okDialog http://192.168.0.104:8083/fhem/pgm2/fhemweb.js:683
    onerror http://192.168.0.104:8083/fhem/pgm2/fhemweb.js:56
    OnErrorEventHandlerNonNull* http://192.168.0.104:8083/fhem/pgm2/fhemweb.js:52
jquery.min.js:3:23596
Uncaught SyntaxError: expected expression, got '<'
HMinfoTools.js:1


Ist das Ok so?

In den Fehlermeldungen sind 2 Links mit weiterführenden Informationen enthalten. Mir sagt das leider nichts.

https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Errors/Unexpected_token
https://developer.mozilla.org/de/docs/Web/HTTP/Headers/X-Content-Type-Options

Vielleicht hilft es ja!

frank

zeig mal den inhalt (die ersten zeilen) von deiner HMinfoTools.js
so sollte es aussehen:
FW_version["HMinfoTools.js"] = "$Id: HMinfoTools.js 2005 2021-12-02 18:00:00Z frank $";

var HMinfoTools_debug = true;
var HMinfoTools_csrf;
var devMap = new Map();

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

edition

#92
FW_version["HMinfoTools.js"] = "$Id: HMinfoTools.js 2005 2021-12-02 18:00:00Z frank $";

var HMinfoTools_debug = true;
var HMinfoTools_csrf;
var devMap = new Map();


Ich bin jetzt im Büro am Windows 10 PC und habe meinen Raspi3B vorgekramt. Auf der SD-Karte ist ein Buster lite und fhem Stand Mai21 installiert. Ich habe alles gelassen, wie es ist (kein update).
HMinfoTools.js ins Verzeichniss /opt/fhem/www/pgm2 kopiert.
chown fhem:dialout auf HMinfoTools.js.
Im WEB attr JavaScripts /opt/fhem/www/pgm2/HMinfoTools.js eingetragen.
In HMInfo attr autoArchive 1 und attr autoLoadArchive 1_load eingestellt.
fhem mit shutdown restart neu gestartet, Browser geschlossen und neu gestartet, fhem aufgerufen, Unsorted, HMinfo.
Keine Zusätzliche Anzeige. In der Konsole erscheinen die gleichen Fehlermeldungen, wie gehabt!

frank

ich verstehe die fehlermeldung so, dass in zeile 1 von hminfotools.js das zeichen "<" auftaucht und probleme macht.
das gibt es aber nicht. mach mal bitte folgendes:

1. öffne die firefox entwicklertools auf der detailseite von hminfo => "strg+umschalt+i"
aktiviere den reiter "Konsole"
schalte alle 8 kategorien ein (siehe bild konsole.png, rechte seite oben: fehler, warnungen, log, ...)
dann mach ein reload der seite (strg+r)
poste ein screenshot aller meldungen

2. aktiviere den reiter "Debugger"
öffne HMinfoTools.js unter quellen und schau auf den anfang der datei (siehe bild debugger.png)
poste ein screenshot
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

frank

#94
ZitatIm WEB attr JavaScripts /opt/fhem/www/pgm2/HMinfoTools.js eingetragen.
ändere den eintrag zu "pgm2/HMinfoTools.js"

edit:
mit deiner falschen einstellung erhalte ich den selben fehler
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

edition

Ach, das war der Fehler? Weil ich den Pfad zur Datei absolut angegeben habe, wird nicht der Pfad selbst angemeckert, sondern die Spezifikation der Datei als falsch angesehen?
Darauf soll man aufgrund der Fehlermeldung erst mal kommen!
Ich merke gerade, dass ich nach 5 1/2 Jahren fhem immer noch Anfänger bin! Schön, dass es jetzt funktioniert und vielen Dank für die Hilfe.

Gruß
edition

frank

#96
moin.

ab sofort können die neuesten updates von HMinfoTools.js und HMdeviceTools.js über fhem update bezogen werden.

updates direkt checken:
update check https://raw.githubusercontent.com/frank962/fhem/main/autoupdate/controls_HMtools.txt
updates direkt downloaden:
update all https://raw.githubusercontent.com/frank962/fhem/main/autoupdate/controls_HMtools.txt


falls die updates automatisch mit dem normalen fhem update kommen sollen, muss das controls-file in fhem integriert werden:
update add https://raw.githubusercontent.com/frank962/fhem/main/autoupdate/controls_HMtools.txt
zum checken, ob das controls-file integriert ist:
update list
controls-file wieder auschecken, um automatische updates zu beenden:
update delete https://raw.githubusercontent.com/frank962/fhem/main/autoupdate/controls_HMtools.txt


die ausgabe des fhem cmd "version" sollte nach heutigem update folgendes anzeigen:
HMdeviceTools.js           1003 2022-01-04 16:24:18Z frank
HMinfoTools.js             2006 2022-01-04 17:29:19Z frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Benni

Hallo Frank,

gute Idee!

Allerdings habe ich ein merkwürdiges und für mich nicht erklärbares verhalten.

Version zeigt mir nach update über contros-File:


HMdeviceTools.js           1003 2022-01-04 16:24:18Z frank
HMinfoTools.js             2006 2022-01-04 17:29:19Z frank


Das Controls-File habe ich zum update per add hinzugefügt, was mir update list auch korrekt bestätigt


https://raw.githubusercontent.com/frank962/fhem/main/autoupdate/controls_HMtools.txt


Jetzt kommt's: Bei einem update check wird mir nun folgendes angezeigt:


HMtools
List of new / modified files since last update:
UPD www/pgm2/HMinfoTools.js

New entries in the CHANGED file:
HMinfoTools.js last change:
  2006 2022-01-03
  - fix: color problems with desired-io-icon for devices using no prefered io
  - fix: some improvements for rssi-table


gb#

frank

danke fürs testen benni,
ich konnte den selben fehler mit dem controls-file in meinem intranet reproduzieren.
im file war ein "windows" zeilenumbruch.
mit einem "\n" hat es bei mir nun funktioniert. also erst update, dann checken.

ich habe das control-file auf github neu hochgeladen, probier mal.
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

Benni


yersinia

Ich bekomm 'ne Fehlermeldung wenn ich hminfo aufrufe:
HMinfoTools.js line 1456:
TypeError: $(...).attr(...).match(...) is null

version:
HMdeviceTools.js           1003 2022-01-04 16:24:18Z frank
HMinfoTools.js             2006 2022-01-04 17:29:19Z frank


Wenn ich das richtig verstehe, dann wird in der Zeile 1456 das Attribut vcculist abgefragt, irgendwie ist das aber bei mir nicht vorhanden.
curVccuIoArr = (curVccu != '')? $('#hminfotools').attr('vcculist').match('(?<=^'+curVccu+':|\\s'+curVccu+':)[^\\s]+')[0].split(','): [];
Ich habe aber eine VCCU in Betrieb.

Hab ich was vergessen einzurichten? Brauchste noch was für die weitere Analyse?
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

frank

FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

yersinia

Internals:
   FUUID      5c443cf2-f33f-3151-5ba5-4115d6f1ec7f06fd
   NAME       hm
   NR         79
   NTFY_ORDER 50-hm
   STATE      updated:2022-01-06 10:05:39
   TYPE       HMinfo
   Version    01
   iERR__actDead HM_xxxxxx,HM_xxxxxx
   iERR_battery_low HM_xxxxxx,HM_xxxxxx
   iERR_cfgState_BurstUnknwn SZ_Fenster
   iERR_cfgState_PairMism Keller_Tuer_HeizungGarten
   iERR_cfgState_PeerVerf BAD_TC_Weather,Flur_Treppenlicht,SZ_TC_Weather,WZ_TC_Weather
   iERR_cfgState_RegMiss,TempChk BAD_TC_Climate
   iERR_cfgState_updating SZ_TC_Climate,SZ_TC_SwitchTr,WZ_TC_Climate
   iERR_sabotageError_on HM_xxxxxx,HM_xxxxxx
   iI_HM_IOdevices ok: nanoCUL_868_1,nanoCUL_868_2_Net;
   .attraggr:
   .attrminint:
   READINGS:
     2017-12-31 22:03:30   CRIT__protocol  -
     2022-01-06 10:05:39   CRI__protocol   0
     2021-07-29 13:02:09   C_sumDefined    entities:100,device:34,channel:86,virtual:3
     2022-01-06 10:05:39   ERR__protocol   0
     2021-05-05 08:19:43   ERR__unreachable 0
     2021-12-20 12:59:49   ERR_battery     low:2,
     2022-01-06 10:05:39   ERR_cfgState    RegMiss,TempChk:1,updating:3,PairMism:1,PeerVerf:4,BurstUnknwn:1,
     2022-01-06 10:05:39   ERR_motorErr    0
     2020-11-24 12:55:19   ERR_sabotageError on:2,
     2021-12-06 16:34:26   I_actTotal      alive:23,dead:2,unkn:0,off:0
     2020-12-06 19:31:16   I_autoReadPend  0
     2022-01-06 10:05:39   I_rssiMinLevel  59<:10 60>:14 80>:7 99>:0
     2021-12-20 12:59:49   I_sum_battery   low:2,ok:23,
     2022-01-06 10:05:39   I_sum_motor     stop:off:5,
     2020-11-24 12:55:19   I_sum_sabotageError off:12,on:2,
     2022-01-06 10:05:39   W__protocol     0
     2022-01-06 10:05:39   lastErrChange   updated:2022-01-06 10:05:39
   helper:
     cfgChkResult configCheck done:-ret-
     weekplanListDef ./TemperaturProfile/tempFile_Winter.cfg
     weekplanListDir ./TemperaturProfile/
     lastList:
     weekplanList:
        [...]
   nb:
     cnt        0
Attributes:
   HMinfoTools_deviceMode err
   configDir  TemperaturProfile
   configTempFile tempFile_Winter.cfg,tempFile_FruehlingHerbst.cfg,tempFile_Sommer.cfg,
   room       CUL_HM
   sumERROR   battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorErr:ok,error:none,uncertain:[no|yes],smoke_detect:none,cover:closed,cfgState:ok
   sumStatus  battery,sabotageError,powerError,motor
   userattr   HMinfoTools_deviceMode:all,err
   verbose    3
   webCmd     update:protoEvents short:rssi:peerXref:configCheck:models

Die TempListen habe ich rausgekürzt.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl

frank

sieht aus, als sei deine 98_HMinfo.pm nicht aktuell.
iI_HM_IOdevices ok: nanoCUL_868_1,nanoCUL_868_2_Net;
FHEM: 6.0(SVN) => Pi3(buster)
IO: CUL433|CUL868|HMLAN|HMUSB2|HMUART
CUL_HM: CC-TC|CC-VD|SEC-SD|SEC-SC|SEC-RHS|Sw1PBU-FM|Sw1-FM|Dim1TPBU-FM|Dim1T-FM|ES-PMSw1-Pl
IT: ITZ500|ITT1500|ITR1500|GRR3500
WebUI [HMdeviceTools.js (hm.js)]: https://forum.fhem.de/index.php/topic,106959.0.html

yersinia

Ah, das könnte es erklären - version sagt:
# $Id: HMConfig.pm 24773a 2021-07-19 20:00:00Z noansi $
Ich nutze die TSCUL fw und die dazugehörigen Module.
Zitat98_HMinfo.pm           -> mit der enthaltenen 10_CUL_HM.pm zwingend zu verwenden. Spaltenbreiten in Tabelle von protoEvents variabel zu verbesserten Übersicht in der Darstellung
Die dürfte nicht auf dem letzten Stand sein. Da müsste noansi nachschärfen, denke ich.
viele Grüße, yersinia
----
FHEM 6.3 (SVN) on RPi 4B with RasPi OS Bullseye (perl 5.32.1) | FTUI
nanoCUL->2x868(1x ser2net)@tsculfw, 1x433@Sduino | MQTT2 | Tasmota | ESPEasy
VCCU->14xSEC-SCo, 7xCC-RT-DN, 5xLC-Bl1PBU-FM, 3xTC-IT-WM-W-EU, 1xPB-2-WM55, 1xLC-Sw1PBU-FM, 1xES-PMSw1-Pl