Online Attributhilfe für ähnliche Attribute duplizieren/übernehmen

Begonnen von DS_Starter, 01 Mai 2021, 08:03:04

Vorheriges Thema - Nächstes Thema

DS_Starter

Guten Morgen,

es gibt ja für Attribute/Setter/Getter die Möglichkeit die Hilfe im FHEMWEB einzublenden wenn das Attr ausgewählt wird.
Gibt es die Möglichkeit den identischen Hilfetext nicht immer duplizieren zu müssen wenn er für mehrere Attr gilt ?

Zum Beispiel habe ich ein Attr consumer01 mit der entsprechenden (recht umfangreichen) Hilfe.
Nun gibt es noch die Attr consumer02,consumer03,consumer04,...  für die ebenfalls die identische Hilfe gilt.
Die müsste ich nun entsprechend oft in der CommandRef kopieren.

Geht das besser ?

LG und einen schönen Feiertag allen.
Heiko
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

rudolfkoenig

Ich gehe davon aus, dass du damit das "In der FHEMWEB Detailseite beim Attribut auswaehlen die passende Doku einblenden" meinst.
Ich kann fhemweb.js erweitern, damit bei nicht gefundener Doku und Zahl am Ende nach dem Namen ohne Zahl am Ende gesucht wird.
Ich brauche nur ein OK, will nicht sinnlos Code einbauen.

ich ich ich :)

DS_Starter

ZitatIch gehe davon aus, dass du damit das "In der FHEMWEB Detailseite beim Attribut auswaehlen die passende Doku einblenden" meinst.
Ja genau, das meine ich  :)

Diese Erweiterung wäre bestimmt auch für andere Entwickler hilfreich, denn solche Attribut/Setter/Getter-Fortschreibungen sind sicher kein Einzelfall.

Danke !  :D
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Thorsten Pferdekaemper

Hi,

ich habe sowas ähnliches, aber halt nicht mit Zahl am Ende...
Allerdings habe ich auch sowas wie "backend_.*" in der Attributliste. Vielleicht könnte man dessen Doku einblenden, wenn man ein "passendes" Attribut bearbeitet.

Ach ja, wenn wir gerade dabei sind: Es wäre außerdem schön, wenn das mit den Sprachen nicht ganz so strikt gehandhabt werden würde. D.h. wenn es die Doku nicht in der richtigen Sprache, aber in einer anderen Sprache gibt, dann wäre es schön, wenn eben die andere Sprache angezeigt wird.

Gruß,
   Thorsten
FUIP

rudolfkoenig

Hab was eingebaut.

- die Doku kommt erst, wenn man den Attribut-Namen per Dropdown auswaehlt. Das funktioniert bei Regexp-Namen nicht direkt, erst muss man auf ein bereits gesetzten Attributnamen klicken (damit kommt er in die Auswahlliste), dann was Anderes auswaehlen, dann wieder zurueck.
- es wird nur fuer Attribute mit Zahl am Ende eine erneute Suche in der Hilfe ohne Zahl unternommen. Falls jemand einen Vorschlag hat, wie man vom Attributnamen auch in anderen Faellen zum Hilfstext-ID kommt, bitte melden.

P.S.: Bitte bei der Doku die neue Syntax benutzen (<a id="modulName-[set|get|attr]-attrName"> und nicht mehr <a name="attrName"> )

ZitatEs wäre außerdem schön, wenn das mit den Sprachen nicht ganz so strikt gehandhabt werden würde. D.h. wenn es die Doku nicht in der richtigen Sprache, aber in einer anderen Sprache gibt, dann wäre es schön, wenn eben die andere Sprache angezeigt wird.
Ich meine das ist eine Aufgabe fuer das help Modul.
fhemweb.js versucht es trotzdem nochmal auf deutsch, wenn "No help found" zurueckkommt.
Kannst du mir den Fall nennen, wo das nicht funktioniert?

DS_Starter

Habs mal ausprobiert. Neue fhemweb.js aus SVN geladen und restartet.
Klappt aber noch nicht. Vllt. mache ich etwas falsch.

In der Doku jetzt so definiert:


       <a id="SolarForecast-attr-consumer"></a>
       <li><b>consumerXX &lt;Device Name&gt; type=&lt;type&gt; power=&lt;power&gt; [mode=&lt;mode&gt;] [icon=&lt;Icon&gt;] [mintime=&lt;minutes&gt;] [on=&lt;Kommando&gt;] [off=&lt;Kommando&gt;] [etotal=&lt;Readingname&gt;:&lt;Einheit&gt;] </b><br>
        Registriert einen Verbraucher &lt;Device Name&gt; beim SolarForecast Device. Dabei ist &lt;Device Name&gt;
....


Die Attr heißen wie oben angegeben consumer01, consumer02, ...
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Thorsten Pferdekaemper

Hi,
ich wollte jetzt auch mal sehen, ob meine Problemchen vielleicht an einem alten Stand liegen und habe ein update gemacht.
Tja:

2021.05.01 13:14:32 1: ERROR: Select error -1 (128), error count= 0
Select error -1 (128)
Der Befehl "uptime" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

...das muss ich jetzt erstmal finden.
Gruß,
   Thorsten
FUIP

Thorsten Pferdekaemper

Hi,
so, ich habe das Problem gefunden. Das Modul SYSSTAT schmiert inzwischen unter Windows ab. Das ist wohl nicht so schlimm da es für Windows sowieso nicht funktioniert.

Zitat von: rudolfkoenig am 01 Mai 2021, 12:33:51
- die Doku kommt erst, wenn man den Attribut-Namen per Dropdown auswaehlt. Das funktioniert bei Regexp-Namen nicht direkt, erst muss man auf ein bereits gesetzten Attributnamen klicken (damit kommt er in die Auswahlliste), dann was Anderes auswaehlen, dann wieder zurueck.
Du hattest mir den Tipp mit $hash->{'.AttrList'} gegeben, wobei $hash der Hash des Geräts ist. Dort trage ich die "Instanzen" des Regexp-Attributs ein. Dadurch sieht man das auch sofort in der Drop-Down-Liste und kann es sofort auswählen. Im Prinzip könnte man da dann auch die passende Doku anzeigen. (Ich habe wahrscheinlich auch vor, zu "backend_.*" passende "Instanzen" anzubieten, um es dem Anwender einfacher zu machen.)
Allerdings sehe ich momentan auch die Doku zum Attribut "backend_.*" nicht, wenn man es auswählt. Mir ist klar, dass man einem Attribut wie "backend_.*" keinen Wert zuordnen kann, aber es wäre trotzdem schön, wenn man die Doku sehen würde.
Ich kann aber auch selbst mal nachschauen, warum das nicht klappt.

Zitat
Ich meine das ist eine Aufgabe fuer das help Modul.
fhemweb.js versucht es trotzdem nochmal auf deutsch, wenn "No help found" zurueckkommt.
Kannst du mir den Fall nennen, wo das nicht funktioniert?
Ich habe nochmal nachgesehen. Das funktioniert in meiner Produktivumgebung nicht, aber da habe ich ein relativ altes FHEM. In einer aktuellen Installation klappt das tatsächlich so, wie ich es mir gewünscht hatte.

Gruß,
   Thorsten
FUIP

DS_Starter

@Thorsten, klappt bei dir dieses Konstrukt mit <a id= ...  ?
Geht bei mir nicht wie ich in #5  geschrieben habe. Inzwischen noch Browser Cash gelöscht, nochmal update gemacht, restartet etc.
Entweder klappt es wirklich noch nicht oder ich habe etwas falsch geschrieben.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Thorsten Pferdekaemper

Zitat von: Thorsten Pferdekaemper am 01 Mai 2021, 17:20:28
Allerdings sehe ich momentan auch die Doku zum Attribut "backend_.*" nicht, wenn man es auswählt. Mir ist klar, dass man einem Attribut wie "backend_.*" keinen Wert zuordnen kann, aber es wäre trotzdem schön, wenn man die Doku sehen würde.
Ich kann aber auch selbst mal nachschauen, warum das nicht klappt.
Ich habe jetzt mal den JavaScript-Debugger angeworfen...
Wenn ich das hier mache:

<a name="backend_____">backend_.*</a>

Anstatt

<a name="backend_.*">backend_.*</a>

...dann wird die Doku zumindest mal angezeigt, wenn ich "backend_.*" auswähle. (Ja, ich weiß, die Version mit FUIP-attr-backend... wäre besser.)
Bei der Implementierung ist dann auch klar, warum es schwierig ist, die Doku zum Regexp-Attribut anzuzeigen, wenn eine "Instanz" davon ausgewählt wird. Ich glaube, dass man prinzipiell zwar Zeichen wie . und * in ein HTML-id-Tag aufnehmen kann, aber schön ist das tatsächlich nicht.

Zitat von: DS_Starter am 01 Mai 2021, 17:31:39
@Thorsten, klappt bei dir dieses Konstrukt mit <a id= ...  ?
Ich habe das nicht ausprobiert und mir würde es ja auch nichts nützen. Mein Szenario ist ein klein wenig anders.

Gruß,
   Thorsten
FUIP

rudolfkoenig

@DS_Starter: ich habe mit deiner Doku kein Problem, siehe Anhang.
Wichtig: das erste gefundene ID enthaelt den Modulnamen: <a id="SolarForecast">, es wird mit diesem Namen weitergesucht nach <a id="SolarForecast-attr-consumer">.

rudolfkoenig

ZitatMir ist klar, dass man einem Attribut wie "backend_.*" keinen Wert zuordnen kann, aber es wäre trotzdem schön, wenn man die Doku sehen würde.
Ausser Zahlen wird am Ende auch .* abgeschnitten, und ohne diese erneut versucht :)

DS_Starter

Hmm, ich habe am Anfang der Doku stehen:


=begin html_DE

<a id="SolarForecast"></a>
<h3>SolarForecast</h3>
<br>

Das Modul SolarForecast erstellt auf Grundlage der Werte aus generischen Quellendevices eine
...


Dann kommen keinerlei Marken mehr bis zu dieser:


       <a id="SolarForecast-attr-consumer"></a>
       <li><b>consumer01 &lt;Device Name&gt; type=&lt;type&gt; power=&lt;power&gt; [mode=&lt;mode&gt;] [icon=&lt;Icon&gt;] [mintime=&lt;minutes&gt;] [on=&lt;Kommando&gt;] [off=&lt;Kommando&gt;] [etotal=&lt;Readingname&gt;:&lt;Einheit&gt;] </b><br>
        Registriert einen Verbraucher &lt;Device Name&gt; beim SolarForecast Device. Dabei ist &lt;Device Name&gt;
....


Klappt bei mir leider nicht. Irgendwas mache ich offensichtlich falsch.
Alternative Browser hab ich auch schon probiert. Werde morgen früh auch mal meine produktive Instanz frisch updaten und dort probieren.
Mal schauen ob sich noch etwas ergibt.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

rudolfkoenig

Ansonsten bitte komplette Doku hier anhaengen, und ich teste es mal selbst.

DS_Starter

Ich habe die Doku mal radikal eingekürzt. Geht bei mir trotzdem nicht und habe es als File hier angehängt.
Vielleicht siehst du den Fehler ...
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter