Autor Thema: [CommandRef][Bug] Konflikt zwischen Module Statistics und BOTVAC  (Gelesen 789 mal)

Offline Christoph Morrison

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1668
Hallo zusammen,

in der Commandref funktioniert der Anker #statistics nicht korrekt, denn es gibt zwei A-Elemente mit name-Attribut "statistics":
BOTVAC: https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/70_BOTVAC.pm#L2911
Statistics: https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/98_statistics.pm#L1172 bzw. https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/98_statistics.pm#L1339

Man landet aktuell bei BOTVAC, wenn man oben im Inhaltsmenü statistics auswählt.

statistics hat hier IMHO Vorrang. @vuffiraa - magst du das bei dir beheben?

Offline vuffiraa

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 844
Antw:[CommandRef][Bug] Konflikt zwischen Module Statistics und BOTVAC
« Antwort #1 am: 18 Februar 2021, 13:22:07 »
Oh klar, ich kümmere mich darum.
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Offline Christoph Morrison

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1668
Antw:[CommandRef][Bug] Konflikt zwischen Module Statistics und BOTVAC
« Antwort #2 am: 18 Februar 2021, 13:36:56 »
Betrifft aber auch nur die englische CRef, nb.

Offline vuffiraa

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 844
Antw:[CommandRef][Bug] Konflikt zwischen Module Statistics und BOTVAC
« Antwort #3 am: 18 Februar 2021, 13:51:28 »
Betrifft aber auch nur die englische CRef, nb.

Ich weiß auch warum, für mein Modul existiert nur eine englische Doku  ;)
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 24245
Antw:[CommandRef][Bug] Konflikt zwischen Module Statistics und BOTVAC
« Antwort #4 am: 18 Februar 2021, 14:01:46 »
Ich empfehle Anker der Form  <a name="bla"> gegen <a name="MODULNAMEbla"> auszutauschen, damit das eindeutig wird.
fhemweb.js sucht bereits nach Anker dieser "neuen" Form, um die Hilfe fuer ein Attribut in der FHEMWEB-Detailansicht anzuzeigen.
Jetzt bleibt nur alle Module durchzugehen, und die Anker umzustellen.

Offline Christoph Morrison

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1668
Antw:[CommandRef][Bug] Konflikt zwischen Module Statistics und BOTVAC
« Antwort #5 am: 18 Februar 2021, 14:47:02 »
Wäre das nicht ne gute Gelegenheit um mal in Richtung id zu gehen? name ist in HTML5 ja nicht mehr valide.
Dann könnte man auch gleich sowas wie modulename.subsection in Kleinbuchstaben oder so vorgeben.

Offline vuffiraa

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 844
Antw:[CommandRef][Bug] Konflikt zwischen Module Statistics und BOTVAC
« Antwort #6 am: 19 Februar 2021, 08:06:12 »
So, das Problem sollte behoben sein. Der Link https://fhem.de/commandref.html#statistics zeigt jetzt auf das Hilfsmodul.

Was mir gestern bei der Lösungssuche aufgefallen war, dass ich auf die Schnelle keine Dokumentation zu dem Ankerpunkten finden konnte. Mein erster Gedanke war DevelopmentModuleIntro im Wiki. Dort wurden dann noch Guidelines zur Dokumentation erwähnt, aber auf beiden Seiten steht nix zu den Ankerpunkten.

Als Entwickler bin ich dann natürlich der Strategie "Die Wahrheit steht im Code" gefolgt und habe die Anzeige der Hilfe im Modul debugged. Dort stand dann, dass ich noch das alte Format verwendet hatte:
      var mtype = $("#content > #workbench a[name]").attr("name"), aTag;
      if(mtype) {
        var mv = (""+mtype+val).replace(/[^a-z0-9_]/ig,'_');
        aTag = $("#content > #workbench").find("a[name="+mv+"]");
      }
      if(!$(aTag).length) { // old style syntax without type
        var v = (val).replace(/[^a-z0-9_]/ig,'_');
        aTag = $("#content > #workbench").find("a[name="+v+"]");
      }
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 24245
Antw:[CommandRef][Bug] Konflikt zwischen Module Statistics und BOTVAC
« Antwort #7 am: 23 Februar 2021, 22:50:22 »
Zitat
Wäre das nicht ne gute Gelegenheit um mal in Richtung id zu gehen? name ist in HTML5 ja nicht mehr valide.
Danke fuer den Hinweis, war mir nicht bewusst.

Die Umstellung ist leider nicht so einfach, aber ich habe schon mal eine erste Version versucht.
Erweitern musste ich fhemweb_modular.js, commandref_modular.pl, commandref_static.pl, und als Testkandidaten die drei MQTT2*.pm Dateien.
Bin gespannt, ob/was ich uebersehen habe.

Neuer Syntax (wird zusaetzlich zu den bisherigen akzeptiert):
<a id="MQTT2_DEVICE">
<a id="MQTT2_DEVICE-define">
<a id="MQTT2_DEVICE-attr">
<a id="MQTT2_DEVICE-attr-setList">
fhemweb.js sucht bei set/get nach id="MODUL-set-XXX" bzw. id="MODUL-get-XXX"

Zitat
Dann könnte man auch gleich sowas wie modulename.subsection in Kleinbuchstaben oder so vorgeben.
Das habe ich nicht verstanden.

Offline Christoph Morrison

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1668
Antw:[CommandRef][Bug] Konflikt zwischen Module Statistics und BOTVAC
« Antwort #8 am: 26 Februar 2021, 11:09:33 »
Das habe ich nicht verstanden.

Im Prinzip sowas wie du jetzt gemacht hast, $Device.$subsection, aber $Device-$subsection ist genauso gut.

 

decade-submarginal