[weitgehend gelöst] commandref_modular_DE.html kaputt - wie Verursacher finden?

Begonnen von Beta-User, 03 Juni 2019, 13:19:47

Vorheriges Thema - Nächstes Thema

rudolfkoenig

Ich meine es ist ein "low prio Schönheitsfehler", aber bei bestimmten Modulen kann es verdammt lange dauern, bis es "rauswächst".

Beta-User

Na ja, wenn wir hier noch eine Weile diskutieren, geht es ggf. auch schneller ;D .

Nachdem das heutige update von Heating_Control auch noch nicht den gewünschten Erfolg gezeitigt hat (da bestehen weitere Optimierungsmöglichkeiten) noch etwas Merkwürdiges, vielleicht hilft das jemandem weiter:

In der heutigen https://fhem.de/commandref_DE.html (bzw. auch der engl. Fassung) sind sowohl Heating_Control wie auch WeekdayTimer als "helper modules" gelistet; bisher dachte ich, das sei normal und richtig. In https://fhem.de/commandref_modular_DE.html finden sich beide aber unter Gerätemodul?!?

Letzteres ist eigentlich logisch, denn das entspricht der header-Info (die m.E. falsch ist und helper sein sollte, weswegen es dann gelegentlich nochmal ein update geben wird).

Hier auf dem Testsystem führt eine Korrektur richtung "helper" aber leider nicht dazu, dass alle Modul-Links dann plötzlich funktionieren würden (und nicht "fremde" Infos dazugenommen werden (besonders gerne Heating_Control, weswegen ich annehme, das das (mit) der Verursacher ist)), es muß also noch irgendwas anderes faul sein, wo auch immer. Um das zu verifizieren, habe ich dann testweise beide Dateien (und GHoma, das mir in der Hinsicht auch suspekt vorkam) mal umbenannt und commandref_modular.pl angeworfen. Die Bereiche waren weg, aber bei http://localhost:8083/fhem/docs/commandref_DE.html#HEATRONIC war dann folgendes zu sehen (danach kam erst die Heatronic-cref, anschließend die von harmony, zuletzt die perl Specials):

Ergo: Da läuft noch irgendwas anderes ziemlich schräg...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

nils_

Zitat von: Beta-User am 06 Juni 2019, 13:17:42
In der heutigen https://fhem.de/commandref_DE.html (bzw. auch der engl. Fassung) sind sowohl Heating_Control wie auch WeekdayTimer als "helper modules" gelistet; bisher dachte ich, das sei normal und richtig. In https://fhem.de/commandref_modular_DE.html finden sich beide aber unter Gerätemodul?!?
HourCounter hat das gleiche "Problem"
viele Wege in FHEM es gibt!

Beta-User

So, neueste Erkenntnisse:

Auf dem Testsystem mal alle "=end html..." (usw.)-Einträge korrigiert, dann commandref_join.pl (da gab es ein Modul mit unbalanced tags, das wurde umbenannt) und commandref_modular.pl drüberlaufen lassen.

Dann gab's zunächst mal keine Fehlermeldungen mehr aus diesen beiden pl-Durchläufen.

Aber:
läd man dann aus der modularen commandref nacheinander mehrere Detailseiten (@aktuellem firefox unter Linux, gestern war ebenfalls ff, aber unter win7), hat man den Effekt, dass die jeweils neueste zwischen die bereits geladenen Detailinfos geladen werden (also genau der Effekt auftritt, den der screenshot von gestern zeigt, bei 3 Stufen habe ich aufgehört...). Kann man mit einem vollen Reload der Seite wieder beheben (ff: strg+F5). Das scheint also am HTML-Code des Rahmens zu liegen.

Was bei mir auch nicht optimal aussieht, sind die abschließenden Perl-Specials; da gehört m.E. eigentlich mind. ein Zeilenumbruch rein und die Punkte sind zu weit rechts (kann aber auch an ff liegen, aber da der Rest anders angezeigt wird, ist das vermutlich allg. ein Thema).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rudolfkoenig

@Beta-User: kannst Du mir bitte eine Schritt-fuer-Schritt Anleitung fuers Reproduzieren des Problems geben?
Ich habe jetzt eine Weile herumgesucht/experimentiert, aber ich sehe das Problem nicht.
Vermutlich lade ich die Dateien anders, mache sonstwas falsch, oder erkenne das Problem nicht.

ZitatWas bei mir auch nicht optimal aussieht, sind die abschließenden Perl-Specials
Das ist eine Folge der commandref (ohne modular) Optimierung der Sprach-Links gewesen, das ist da ganz anders geloest, als bei modular.
Ich habe versucht das zu korriegieren.

Beta-User

100% kann ich das nicht aus allgemeinen Quellen nachstellen, da in https://fhem.de/commandref_modular.html die Infozeile zum Maintainer usw. nicht angezeigt wird. Aber lade diese Seite mal mit einem aktuellen firefox (hier: 67.0.1 (64-Bit) unter einem aktuellen Ubuntu, kein Addblocker oder noscript aktiv).

Klicke auf HTTPMOD (gemeint ist auch im Folgenden jeweils in der Übersichtsliste).

Fehler 1:
Am linken Rand erscheint ein "Load german doc for...". Der Link funktioniert nicht.

Zurück zur Übersicht mit Strg+Pos 1, dann klick auf "IT".
"Fehler 2a" (?): Die Doku von HTTPMOD bleibt geladen und befindet sich oberhalb von der IT-Sektion.

Zurück zur Übersicht mit Strg+Pos 1, dann klick auf "template"."Fehler 2a" (?): Die Doku von HTTPMOD und IT bleibt geladen und befindet sich oberhalb von der template-Sektion.

Zurück zur Übersicht mit Strg+Pos 1, dann klick auf "allergy".Fehler 2b: allergy wird geladen, und zwar zwischen IT und template.

Läd man die Seite dann mir Strg+F5 neu, erscheint nur die jeweilige Sektion (und natürlich der allgemeine Rahmen), die anderen sind verschwunden (was m.E. eigentlich die Darstellung sein sollte, die nach Klick auf einen der genannten Punkte erfolgen sollte).

Ist das so nachvollziehbar?




Die Deutsche Fassung verhält sich da irgendwie anders, aber da kurz weitere Dinge:
Lade mal https://fhem.de/commandref_modular_DE.html#count oder
https://fhem.de/commandref_modular_DE.html#Aurora....

Nach Klick auf Aurora, Strg+Pos 1 und Broadlink sind ebenfalls beide Sektionen geladen, aber dieses Mal in der richtigen Reihenfolge.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rudolfkoenig

ZitatAm linken Rand erscheint ein "Load german doc for...". Der Link funktioniert nicht.
Stimmt, aber HTTPMOD hat auch keine deutsche Doku.
Man koennte irgendwo abspeichern, dass sie fehlt, und eine Ausnahme machen, ich fand das aber der Muehe nicht Wert.

Zitat"Fehler 2a" (?): Die Doku von HTTPMOD bleibt geladen und befindet sich oberhalb von der IT-Sektion.
Das ist Absicht.

ZitatZurück zur Übersicht mit Strg+Pos 1, dann klick auf "allergy".Fehler 2b: allergy wird geladen, und zwar zwischen IT und template.
In meinem Browser wird sie nach IT geladen, vmtl. weil a nach I kommt.

ZitatLäd man die Seite dann mir Strg+F5 neu, erscheint nur die jeweilige Sektion (und natürlich der allgemeine Rahmen), die anderen sind verschwunden
Es wird nicht gemerkt, was bereits geladen wurde, aber der zuletzt geladene Modulname ist beim Reload noch im URL.
Deswegen wird nach dem Reload dieses Modul zum Grundgeruest dazugeladen.
Mit dieser Loesung werden Links ermoeglicht, die nur diese Moduldokumentation (+ Grundgeruest) anzeigen, was ich dem Laden der kompletten commandref vorziehe.

Ich will jetzt nicht sagen, dass man es nicht auch anders loesen kann, aber ich finde keine offensichtliche Fehlfunktion.

Beta-User

ZitatIch will jetzt nicht sagen, dass man es nicht auch anders loesen kann, aber ich finde keine offensichtliche Fehlfunktion.
Vorneweg: es geht tatsächlich (nur noch) um "Kleinkram" und optische Fragen, das Ausgangsproblem scheint soweit gelöst zu sein.

Zitat von: rudolfkoenig am 08 Juni 2019, 12:18:04
Das ist eine Folge der commandref (ohne modular) Optimierung der Sprach-Links gewesen, das ist da ganz anders geloest, als bei modular.
Ich habe versucht das zu korriegieren.
Der Versuch scheint erfolglos geblieben zu sein (ich hoffe, das liegt nicht an irgendeiner cache-Funktion; nur getestet mir Strg+F5@ff).

Zitat von: rudolfkoenig am 10 Juni 2019, 20:26:11Stimmt, aber HTTPMOD hat auch keine deutsche Doku.
Man koennte irgendwo abspeichern, dass sie fehlt, und eine Ausnahme machen, ich fand das aber der Muehe nicht Wert.
Ah, das ist nachvollziehbar, ich hatte den Mechanismus nicht wahrgenommen, sondern schlicht "irgendwas" gewählt - prompt hatte es nicht funktioniert... ::)
ZitatDas ist Absicht.
Auch ok, stört ja im Prinzip nicht, mir war das nur etwas seltsam vorgekommen iVm. den Headerzeilen, die in den neulich geposteten screenshots zu sehen waren (das war aber ein lokales System)
ZitatIn meinem Browser wird sie nach IT geladen, vmtl. weil a nach I kommt.
...auch eine Erklärung... Irritiert halt etwas, weil die Sortierung in der Übersicht "anders tickt" und Klein- und Großbuchstaben dort (nach D-Maßstäben korrekt ein-) sortiert werden.

ZitatEs wird nicht gemerkt, was bereits geladen wurde, aber der zuletzt geladene Modulname ist beim Reload noch im URL.Deswegen wird nach dem Reload dieses Modul zum Grundgeruest dazugeladen.
Mit dieser Loesung werden Links ermoeglicht, die nur diese Moduldokumentation (+ Grundgeruest) anzeigen, was ich dem Laden der kompletten commandref vorziehe.
Hatte schon vermutet, dass der Nachlademechanismus an der Stelle zur Vermeidung von - im Prinzip - unnütigen Datentransfers einfach gehalten ist; das ist m.E. auch nicht weiter schlimm.

Kurz noch zu
Zitathttps://fhem.de/commandref_modular_DE.html#count oder
https://fhem.de/commandref_modular_DE.html#Aurora....
Bei Aurora ist vermutlich der Modulautor schuld, und auch count scheint nicht aus fhem.pl, zu kommen. Aber zumindest count wird durch irgendeinen Mechanismus bei den fhem-Commands einsortiert, da ist es (für mich) irritierend, dass das (in der DE-Fassung) nicht funktionieren will. Schaut man sich https://fhem.de/commandref_DE.html an, ist es ebenfalls bei FHEM-Befehle zu finden, https://fhem.de/commandref_DE.html#count leitet einen dann aber zwischen die Gerätemodule...
Aber auch hier: nix dramatisches, nur Optik...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rudolfkoenig

Ich habe jetzt in den Modulen10_UNIRoll.pm
44_S7_AWrite.pm
45_Plugwise.pm
46_PW_Circle.pm
46_PW_Scan.pm
46_PW_Sense.pm
46_PW_Switch.pm
52_I2C_HDC1008.pm
die "=end html" Probleme gefixt.

Damit meldet commandref_join nur noch Probleme fuer SISPM und WifiLight, diese Pruefungen sind aber noch relativ frisch (14 Tage alt), deswegen warte ich erstmal auf die Autoren.