Ungereimtheit in der commandref modular

Begonnen von Otto123, 05 November 2019, 12:37:07

Vorheriges Thema - Nächstes Thema

Otto123

Ich knüpfe nochmal an diesem Thema an. Mir fällt das immer mal wieder auf und ich finde das von der Bedienung her nicht logisch.
Gibt es einen Bug?
Nehmen wir ein Beispiel: https://fhem.de/commandref_modular.html#MQTT2_DEVICE
Hier gibt es links einen Link "Load german doc for MQTT2_DEVICE" wenn ich da drauf klicke kommt: Cannot load /cref...

Nachtrag: Ob der Link "Load german doc for MQTT2_DEVICE" auftaucht oder nicht, ist von der Breite des Browserfensters abhängig.  ::)
Hab es beim Schauen mit der F12 Console bemerkt, bei schmalem Fenster scheint es zu funktionieren.  :-\

Nehmen wir die deutsche commandref https://fhem.de/commandref_modular_DE.html und scrollen nach unten und klicken auf MQTT2_DEVICE kommt der gleiche Fehler Cannot load /cref...
Ok es gibt keine deutsche commandref für MQTT2_DEVICE, ist nicht schlimm. Aber warum gibt es den link in der englischen cref der mir genau dies vorgaukelt?

Warum verschwindet der Link "Load german doc for MQTT2_DEVICE" neben Modulen in der englischen cref die eine deutsche cref haben?
Beispiel:
https://fhem.de/commandref_modular.html#attr
https://fhem.de/commandref_modular_DE.html#attr

Warum gibt es keinen einzigen link in der deutschen cref neben den Modulen ( die ja alle eine englische Beschreibung haben)?

Sieht aus wie ein simpler Fehler: Aus: Wenn da mache link - ist - wenn nicht da mache link - geworden?  :D
Edit: Oder es stimmt die Berechnung mit dem "Scroll" Index nicht? Aber meine Kenntnisse in dieser Welt sind bescheiden

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rudolfkoenig

ZitatHier gibt es links einen Link "Load german doc for MQTT2_DEVICE" wenn ich da drauf klicke kommt: Cannot load /cref...
Die Ursache ist, dass fhemdoc_modular.js nicht weiss, in welchen Sprachen eine Moduldokumentation vorliegt. Man kann das zwar rausfinden, indem man versucht alle Sprachen zu laden, das verlangsamt aber die Anzeige, was beim Bau von commandref_modular die erste Prio war.

ZitatOb der Link "Load german doc for MQTT2_DEVICE" auftaucht oder nicht, ist von der Breite des Browserfensters abhängig.
Nicht ganz richtig. Der Link wird angezeigt, solange der Anchor (<a name="#modulname">), was vor dem <h3> sitzt "sichtbar" ist.
Beim Aendern der Fenstergroesse wurde die Berechnugn nur Teilweise aktualisert, deswegen verschwand der Link irgendwannmal.
Nach einem reload war es aber wieder da. Ich habe die Berechnung jetzt beim Groessenaenderung aktualisiert, dieser Bug sollte weg sein.

Zitathttps://fhem.de/commandref_modular.html#attr
Dieses Problem hat damit zu tun, dass die in fhem.pl implementierte Befehle nicht explizit geladen werden, sondern Teil der commandref.html sind.
Ich scheitere gerade rauszufinden, was ein Befehl ist (was man per "help <Befehl> DE" austauschen koennte), und was ein Attribut, was man einzeln nicht austauschen kann.
Deswegen kann man z.Zt. nur die nachgeladenen Abschnitte (vulgo Module) austauschen.

Beta-User

(ungeprüfte Idee):
Wäre es eigentlich für die Modulautoren möglich/sinnvoll, einfach in der "de"-Version eine Art Umleitung auf die Englische zu machen? (Wenn ja: wie?)
Oder verbiegt sowas das dann die "join"-Version?
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

Wäre es eigentlich für die Modulautoren möglich/sinnvoll, einfach in der "de"-Version eine Art Umleitung auf die Englische zu machen? (Wenn ja: wie?)Meiner Ansicht nach waere sowas einfacher im help Modul zu realisieren, als es jedem Maintainer aufzutragen.

Beta-User

Zitat von: rudolfkoenig am 24 November 2019, 18:02:14
Meiner Ansicht nach waere sowas einfacher im help Modul zu realisieren, als es jedem Maintainer aufzutragen.
...und nun...?

Ich habe jetzt zwar versucht, in 98_help.pm den richtigen Schalter zu finden, aber der Zusammenhang zwischen beiden Modulen erschließt sich mir nicht so recht; help zeigt direkt english an, wenn es keine de-Fassung gibt. Das verhält sich (einschl. des Hinweises, dass es keine de-Fassung gibt) mAn. korrekt.

Ist es nicht so, dass die dortige Logik in Zeilen 64ff eventuell das ist, was in commandref_modular.pl fehlt bei der Ermittlung der internen Links?
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

ZitatIst es nicht so, dass die dortige Logik in Zeilen 64ff eventuell das ist, was in commandref_modular.pl fehlt bei der Ermittlung der internen Links?
Das ist vmtl. die saubere Loesung, allerdungs muss _ich_ dabei etliches Umstellen, und kann die Aufgabe nicht dem Maintainer des help Moduls zuschieben :)

Ich meine es jetzt geloest zu haben: commandref_modular.pl (und commandref_static.pl) speichern die Liste der vorhandenen Sprachen in commandref.html ab, und fhemdoc_modular.js wertet es aus. Habs eingecheckt, und auch fuer https://fhem.de/commandref_modular.html ausgerollt. Bevor jemand sich beschwert: im Browser den Cache erst leeren, und dann nochmal testen.

Und wenn ich schon dabei war: "commandref_join.pl -noWarning" ist jetzt etwa 10-mal schneller.

Otto123

Hallo Rudi,

hab jetzt mal getestet. Der Fehler, dass der Link in Abhängigkeit der Breite des Browserfensters auftaucht, ist bei mir verschwunden.

Wenn ich https://fhem.de/commandref_modular.html#help aufrufe bekomme ich (unter Windows) im Chrome sofort den Link für die german doc. Im Firefox ist es etwas anders, da muss ich offenbar ein Pixel scrollen. Da ist es ganz komisch, wenn ich wiederholt refresh mache, verschwindet der Link und taucht unregelmäßig auf. Etwas gescrollt und der link ist da.
Aber:
Ich finde auf die Schnelle kein anderes Modul wo es funktioniert? z.B. https://fhem.de/commandref_modular.html#MQTT2_DEVICE - kein Link. Aber es gibt ja eine deutsche Beschreibung!

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

rudolfkoenig

Zitatz.B. https://fhem.de/commandref_modular.html#MQTT2_DEVICE - kein Link. Aber es gibt ja eine deutsche Beschreibung!
Der Uebersetzungs-Link wird bei vorhendenen Doku angezeigt, nicht bei summary.

Otto123

Ok - mein Fehler mit MQTT2_DEVICE ;)

Es scheint so zu klappen. Aber das Verhalten hat Startschwierigkeiten, ich weiß nicht genau warum: Obwohl ich den Browsercache komplett gelöscht hatte, muss ich bei jedem Thema einzelnen wiederholt auf Refresh drücken.
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz