[FHEMWEB] Wunsch: list device als Link in Device-Übersicht

Begonnen von yersinia, 25 Oktober 2022, 11:07:18

Vorheriges Thema - Nächstes Thema

Otto123

#15
weil es "mehr weniger list " anzeigt und praktisch nicht kopierbar ist

Schnelles Beispiel:
Internals:
   DEF        ([PIRFront:?motion] and ([PIRFront:brightness] eq "0")) (set SD3 on-for-timer 30)
   FUUID      5c5f2955-f33f-520c-bc5e-d554e80f0a6a9309
   MODEL      FHEM
   NAME       di_MotionHell
   NOTIFYDEV  PIRFront,global
   NR         349
   NTFY_ORDER 50-di_MotionHell
   STATE      disabled
   TYPE       DOIF
   VERSION    26444 2022-09-25 16:29:19
   READINGS:
     2016-07-17 14:56:04   Device          PIRFront
     2016-07-15 23:28:51   cmd             1
     2016-07-15 23:28:51   cmd_event       PIRFront
     2016-07-15 23:28:51   cmd_nr          1
     2016-07-17 14:56:04   e_PIRFront_brightness 53
     2016-07-17 14:56:04   e_PIRFront_events brightness: 53,motion: on (to vccu1),motionCount: 132_next:240s,motion,trigDst_vccu1: noConfig,trigger_cnt: 132
     2016-07-17 14:59:08   mode            disabled
     2016-07-17 14:59:08   state           disabled
   Regex:
     cond:
       PIRFront:
         0:
           &STATE     ^PIRFront$
           brightness ^PIRFront$:^brightness:
   condition:
     0          ::EventDoIf('PIRFront',$hash,'motion',1) and (::ReadingValDoIf($hash,'PIRFront','brightness') eq "0")
   do:
     0:
       0          set SD3 on-for-timer 30
     1:
   helper:
     NOTIFYDEV  PIRFront,global
     globalinit 1
     last_timer 0
     sleeptimer -1
   perlblock:
   readings:
     all         PIRFront:brightness
   trigger:
     all         PIRFront
   uiState:
   uiTable:
Attributes:
   do         always
   room       Arbeitszimmer,Test


und wenn kopiert ist es praktisch unlesbar

DeviceOverview
di_MotionHell
disabled
di_MotionHell
checkall
Internals
DEF
([PIRFront:?motion] and ([PIRFront:brightness] eq "0")) (set SD3 on-for-timer 30)
FUUID
5c5f2955-f33f-520c-bc5e-d554e80f0a6a9309
MODEL
FHEM
NAME
di_MotionHell
NOTIFYDEV
PIRFront,global
NR
349
NTFY_ORDER
50-di_MotionHell
STATE
disabled
TYPE
DOIF
VERSION
26444 2022-09-25 16:29:19
Readings
Device
PIRFront
2016-07-17 14:56:04
cmd
1
2016-07-15 23:28:51
cmd_event
PIRFront
2016-07-15 23:28:51
cmd_nr
1
2016-07-15 23:28:51
e_PIRFront_brightness
53
2016-07-17 14:56:04
e_PIRFront_events
brightness: 53,motion: on (to vccu1),motionCount: 132_next:240s,motion,trigDst_vccu1: noConfig,trigger_cnt: 132
2016-07-17 14:56:04
mode
disabled
2016-07-17 14:59:08
state
disabled
2016-07-17 14:59:08
di_MotionHell
room
Arbeitszimmer,Test
Attributes
do
always
deleteattr
room
Arbeitszimmer,Test
deleteattr
Probably associated with
PIRFront
noMotion
CUL_HM
SD3
off
CUL_HM
Select icon Extend devStateIcon Raw definition Delete this device (di_MotionHell) Device specific help

Es geht eher nicht um die eigene Ansicht sondern darum im Textmodus eine "Ansicht" des aktuellen Zustandes an den Helfer zu transportieren.
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

Zitatweil es eben " weniger list " ist und praktisch nicht kopierbar
Ok, aber wer braucht das Zeug kopiert?
Vermutlich der Hilfesuchende, der es weiterhin zunaechst unlesbar kopieren wird.
Bis man ihm sagt, er moege list eintippen bzw. (wie vorgeschlagen) auf "list" klicken.

Da kann man auch sagen, er moege auf "Raw definition" klicken.
Wenn die Internals so wichtig sind, dann kann ich das auch einbauen, von mir aus immer als Kommentar, ohne Option.
Mich persoenlich stoert sehr, wenn man mit der Ausgabe von List ankommt, weil ich zum Nachstellen alles umformatieren darf, inkl \ und ;

Beta-User

Zitat von: rudolfkoenig am 25 Oktober 2022, 14:02:01
Ok, aber wer braucht das Zeug kopiert?
(Unabhängig vom konkreten Format) - in der Regel der Helfende. Wenn es dem Hilfesuchenden einfach gemacht wird, das bereit zu stellen, was erwartet wird, ist das imo eine Verbesserung. Macht wenig Freude, Formatierungsfragen etc. mit den Usern zu diskutieren, zumal die häufig auch nicht nachvollziehen können, warum der Transfer von FHEMWEB nach FHEM-Forum so "frickelig" ist.

Zitat
Mich persoenlich stoert sehr, wenn man mit der Ausgabe von List ankommt, weil ich zum Nachstellen alles umformatieren darf, inkl \ und ;
Ich kann das für viele Module sehr gut nachvollziehen, insbesondere im MQTT-Umfeld. Es gibt aber andere Fälle, da ist man als Helfer mit einer RAW-Ausgabe schlicht nicht informiert (CUL_HM, wobei das ja seine eigenen Methoden bereitstellen würde, oder RHASSPY).

Es kommt also sehr stark darauf an, und m.E. tun wir gut daran, die User für beide Varianten zu sensibilisieren (auch für die Selbsthilfe)...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

yersinia

Zitat von: rudolfkoenig am 25 Oktober 2022, 13:46:13Nach dem Motto: Einigen wir uns auf einem Kompromiss: du machst es so, wie ich es haben will :)
Ich verstehe den Kompromiss als "ja, verstehe, ist dir zu kompliziert - aber hey, guck mal, eine andere komplizierte Lösung kann ich dir anbieten" ;)
Das Dropdown wäre smart weil universell um Funktionen zu erweitern wenn Bedarf - aber es ist keine ein-Klick-Lösung für den FHEM-Anfänger/noob.



Imho sind -auf das Device bezogen- raw und list zwei verschiedene Ausgabeformen. Das raw hilft dem Helfenden uU ein Device einfach nachzubauen (obwohl das relativ ist mMn), ein list zeigt nebenher auch noch Device/Modul/Systemvariablen in einer strukturierten Form an, welche von Interesse sein könnten.

So zeigt mir raw keinerlei Timer für twilight, list schon.
NUT zeigt im list alle möglichen readings welche nut-server bereitstellt, raw nicht.

raw und list haben ihre Daseinsberechtigung - aber warum kann raw einfach erreicht werden und list nicht obwohl es hier im Forum oft nachgefragt wird!?

Wenn man die Werte benötigt, kann man diese explizit anfragen:
- raw eines Devices -> ein Klick in der device page
- list eines devices -> als unerfahrener FHEM user suchst du erstmal im wiki oder commandref oder fragst nach, wie es geht <= find ich schade, ein einfacher Zugang für den Durchschnittsuser wäre imho besser



Zitat von: Beta-User am 25 Oktober 2022, 14:31:43(Unabhängig vom konkreten Format) - in der Regel der Helfende. Wenn es dem Hilfesuchenden einfach gemacht wird, das bereit zu stellen, was erwartet wird, ist das imo eine Verbesserung. Macht wenig Freude, Formatierungsfragen etc. mit den Usern zu diskutieren, zumal die häufig auch nicht nachvollziehen können, warum der Transfer von FHEMWEB nach FHEM-Forum so "frickelig" ist.
Man stelle sich vor, es gäbe eine Funktion, welche nach einem Klick des Anwenders die Ausgabe von list und raw des Devices kopierfertig in BB-Code zur Verfügung stellt...undenkbar. ;D
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | 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

rudolfkoenig

Zitatraw und list haben ihre Daseinsberechtigung - aber warum kann raw einfach erreicht werden und list nicht obwohl es hier im Forum oft nachgefragt wird!?
Weil list die Leute dazu erzieht, im Forum ein von mir ungeliebtes Format zu verwenden.
Aber vielleicht koennen wir irgendwo in der Mitte treffen, siehe Anhang.

Man kriegt damit Folgendes:
define m2s MQTT2_SERVER 1883
attr m2s SSL 1
#   CONNECTS   1
#   Clients    :MQTT2_DEVICE:MQTT_GENERIC_BRIDGE:
#   ClientsKeepOrder 1
#   DEF        1883
#   FD         7
#   FUUID      63594f39-f33f-c296-6300-cc8f06fad7c49f46
#   NAME       m2s
#   NR         7
#   PORT       1883
#   SSL        1
#   STATE      Initialized
#   TYPE       MQTT2_SERVER
#   eventCount 1
#   .attraggr:
#   .attrminint:
#   MatchList:
#     1:MQTT2_DEVICE ^.
#     2:MQTT_GENERIC_BRIDGE ^.
#   READINGS:
#     2022-10-26 17:16:15   nrclients       1
#     2022-10-26 17:16:09   state           Initialized
#   clients:
#     m2s_127.0.0.1_45280 1
#   retain:

setstate m2s 2022-10-26 17:16:15 nrclients 1
setstate m2s 2022-10-26 17:16:09 state Initialized


inclusive code Tags.

frank

Zitat von: rudolfkoenig am 25 Oktober 2022, 13:14:07
Ja, wobei alle was leicht Anderes wollen, und manche Vorstellungen passen mir nicht, wie z.Bsp. die Link-Leiste nach oben zu schieben, oder list und help als set Befehl zu verkaufen.
aber alle wünschen sich weitere, direkt erreichbare cmds, passend zum aktuellen device. und diese natürlich an prominenter position.  :)

zur zeit gibt es 2 eingabemasken (set, get) für device spezifische cmds und die cmdline für "nerds", also 3 blöcke zum eingeben von cmds. mit der attribut eingabemaske sogar 4.
dazu noch die über die gesamte seite verteilten cmd-links, die je nach style nicht einmal als links zu erkennen sind.

wie wäre es denn, wenn du daraus nur einen block machen würdest, der alles enthält (die attribute lassen wir vielleicht erst einmal aussen vor).
dieser "cmd block" beginnt mit einer "cmd-selectbox". die selectbox ersetzt quasi die buttons von set/get.
cmds mit 3 punkten erzeugen eingabemasken, der rest wird direkt ausgeführt.

set...
get...
-----------
help
rename...
delete
list...
raw def
-----------
cmd_line...


in der raumübersicht hätte die box natürlich anderen inhalt.
bei der auswahl einer eingabemaske müsste dann zb am ende der maske noch ein execute button erscheinen.

das spart kostbaren platz auf der seite und alle cmds sind gleichberechtigt an prominenter stelle.
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

Adimarantis

Der Vorschlag gefällt mir recht gut.

Jetzt bei der Forumsversion noch am Besten private Informationen unkenntlich machen.
Telefonnummer: +4912345 -> +49XXXXX
Homematic IDs: [A-Z]EQ12345678 - [A-Z]XXXX (Hmm. HMIP wird schwieriger - evtl HMIP_.*0001231AC788 -> HMIP_.*XXXXXX )
IPAdressen 1.2.3.4 -> X.X.X.X 

Gibt es sicher mehr. Zumindest für die gut erkennbaren und häufigen.
Ich fände in meinem Umfeld die Telefonnummern sehr wichtig. Die rutscht einem schnell mal durch (Telegram, Signal) und hat im Forum echt nichts verloren.

Jörg
Raspberry 4 + HM-MOD-RPI-PCB (pivCCU)/RfxTrx433XL/Zigbee
Module: 50_Signalbot, 48_HomeConnect, 52_I2C_ADS1x1x , 58_RPI_1Wire, (50_SPI_MAX31865)

betateilchen

Es ist ja bald Weihnachten...

Wo wir gerade beim Umbau der Detailansicht von devices sind, wünsche ich mir gleich noch verlinkte ReadingName dazu, die beim Anklicken die Auswahl zwischen "deletereading" und "setreading <value>" mit anbieten.

Bei Attributen gibt es ja zumindest schon den Link zu "deleteattr" ganz rechts - das könnte man ähnlich umgestalten.

*duck-und-weg*
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wernieman

Und ich wünsche mir schon mal Popcorn .... ;9

Aber die Idee von Rudi finde ich schon mal gut. Vorallem das es gleich in "Forum-Kompartiebler" Form gegossen wird.

Ich weiß, das eigentlich der User passend dafür sorgen sollte, nur ... wie häufig muß man den Kollegen sagen: Bitte in "Code" tags o.Ä.?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

enno

Moin,

ich habe heute nach dem Update das Problem, dass ich zwar Dropdown z.B. "Copy for forum,fhem.de" anklicken kann, dann passiert aber nichts. Genauso die anderen Punkte. Wo müsste ich suchen, um herauszufinden warum das nicht geht? Ich nutze Linux mit Firefox und Chrome.

Gruss
  Enno
Einfacher FHEM Anwender auf Intel®NUC mit Proxmox und Debian

marvin78

#25
Bei mir ist es auch so, dass nichts passiert. Es gibt auch keinen Fehler auf der Konsole. Es passiert einfach nichts. Auch nicht nach leeren des Caches im Browser.

Können wir bitte den alten Zustand wieder herstellen oder echte Links daraus machen? Wofür benötigt man ein Copy for forum? Die Leute sollen sich einfach an die Regeln im Forum halten und raw und/oder list einfügen und gut ist. Man kann den Leuten ihren Hintern nicht immer hinterhertragen...

Edit: Im Übrigen wäre ein rename besser direkt bei den Internals aufgehoben. Warum sollte ich das da unten suchen?

rudolfkoenig

Koennt ihr mir bitte den Inhalt der JavaScript Console zeigen, samt Screenshot?

yersinia

#27
Zitat von: rudolfkoenig am 26 Oktober 2022, 17:25:27Weil list die Leute dazu erzieht, im Forum ein von mir ungeliebtes Format zu verwenden.
Trotz deiner Abneigung wird es subjektiv oft nachgefragt; insb im Anfängerforum. Gerade weil es mMn ein umfassendes Bild des Devices und die durch das Modul zur Verfügung gestellten Parameter anzeigt.
Viele Module, Devices und deren Rahmenbedingungen sind mMn zu komplex um diese 'mal eben' mittels raw zu kopieren und nachzustellen wenn man als Helfender nicht ungefähr das gleiche System hat (sprich: gleiche IOs in gleicher Version, gleiches Systemsetup (OS, Container) usw). Das klappt vlt mit Dummy oder at ganz gut - aber CuL_HM? Schwierig mMn.
Raw ist praktisch wenn man Device Definitonen teilen möchte wie bei MQTT-templates oder JsonMod oder oder oder.

Was stört dich eigentlich an der list device Ausgabe eigentlich? Ich find dies eigtl recht übersichtlich.

Den Kompromiss finde ich ein guter Anfang und Diskussionsgrundlage. :) Ich bin dennoch für eine einfache Ein-Klick-Lösung, welche die vorgestellte Lösung imho bezogen auf list(-Ersatz) nicht ist.

Zitat von: betateilchen am 26 Oktober 2022, 17:57:36wünsche ich mir gleich noch verlinkte ReadingName dazu, die beim Anklicken die Auswahl zwischen "deletereading" und "setreading <value>" mit anbieten.
+1 das hab ich mich gar nicht getraut zu fragen....

Zitat von: marvin78 am 27 Oktober 2022, 08:20:28Können wir bitte den alten Zustand wieder herstellen oder echte Links daraus machen?
Das war mein Vorschlag: einfache links, kein Dropdown.

Zitat von: marvin78 am 27 Oktober 2022, 08:20:28Wofür benötigt man ein Copy for forum? Die Leute sollen sich einfach an die Regeln im Forum halten und raw und/oder list einfügen und gut ist. Man kann den Leuten ihren Hintern nicht immer hinterhertragen...
Die Realität zeigt, dass es eben nicht so ist - das Anwender, insb Anfänger und Lernresistente, Schwierigkeiten haben, die nötigen Informationen in einer vernünftig strukturierten (aka für den Helfenden einfach zu interpretierenden) zur Verfügung zu stellen. Welcher Anfänger liest sich denn die Forenregeln durch? Die Einsteiger-PDF? Das Wiki? Wer nutzt die Forensuche? Es ist einfach ein niederschwelliger Einstieg im Anfängerbereich eine Frage zu stellen....
Für mich ist die "fertig um es im Forum zu kopieren"-Funktion einfach ein nettes Gimmick, der vergoldete Balkon. Vielleicht ein kleiner Beitrag, die Nutzung FHEMs angenehmer zu gestalten.

Zitat von: marvin78 am 27 Oktober 2022, 08:20:28Edit: Im Übrigen wäre ein rename besser direkt bei den Internals aufgehoben. Warum sollte ich das da unten suchen?
+1
viele Grüße, yersinia
----
FHEM 6.4 (SVN) on RPi 4B with RasPi OS Bookworm (perl 5.36.0) | 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

marvin78

Nicht so spektakulär:


fhemweb.js:576 09:54:36.449 FW_queryValue:{ReadingsVal("MiniSchildis_alt","replaceBatteryForSec","")}
fhemweb.js:576 09:54:36.453 FW_queryValue:{AttrVal("MiniSchildis_alt","room","")}
fhemweb.js:576 09:54:36.505 f18.js resize W:1701 S:3440
fhemweb.js:576 09:54:36.511 f18.js resize W:1701 S:3440
fhemweb.js:576 09:54:36.512 HMdeviceTools: jsonlist2 MiniSchildis_alt
fhemweb.js:576 09:54:36.513 HMinfoTools: jsonlist2 MiniSchildis_alt
fhemweb.js:576 09:54:36.604 Inform-channel opened (websocket) with filter MiniSchildis_alt


Screenshot kann ich gerade nicht machen. Es ändert sich aber auch nichts, wenn man das Dropdown betätigt. Wie gesagt: Es passiert nichts. Kein Fehler, keine Warnung.




marvin78

@yersinia: Wer diese einfachen Sachen nicht hinbekommt (lesen, schreiben), fällt hinten runter. So handle ich immer und das passt. Der Einstieg im Anfängerforum ist schon sehr tief. Wir können auch noch ein paar Herzchen und Sternchen dran malen....

Meinetwegen soll es diese Dinge ja geben aber NICHT auf kosten von funktionierenden Dingen. Ein Dropdown hat an dieser Stelle einfach nichts verloren. Selbst wenn es funktioniert...