Commandbar mit Historie und Syntax Highlighting im Lesemodus

Begonnen von FHEMAN, 12 März 2017, 23:41:44

Vorheriges Thema - Nächstes Thema

FHEMAN

Weil mich das Handling der Commandbar immer genervt hat (Code -> Enter -> neue Seite -> Code weg) habe ich ein jQuery History Plugin so angepasst, dass man wie in einer echten Shell mit Pfeil hoch/runter durch die letzten Kommandos blättern kann.
Im Laufe der Zeit wurden weitere kleine Features hinzugefügt, die aus meiner Sicht das Handling verbessern. Daher handelt es sich hier nicht mehr nur um die reine Input Historie.

Welche Änderungen kommen durch das Script:
- Focus auf die CMD beim Laden der Seite, damit man gleich lostippen kann
- Bei Ctrl-Enter bzw. Strg-Enter wird der gesamte Text als Perl Ausdruck in {} gesetzt
- Bei Ctrl-Space im CMD wird das aktuelle Device an die Cursorposition geschrieben
- Pfeil hoch/runter blättert durch die letzten Befehle (gespeichert im Browser Cache)
- im Lesemodus wird auch das Codemirror (Wiki) Syntaxhighlighting verwendet (ohne in den Editiermodus / DEF überzugehen)

Du darfst diesen Dateianhang nicht ansehen.

Individuelle Codemirror Parameter können bei Bedarf über folgendes web Attribut (analog Codemirror) vorgenommen werden (danke an Jörg):
attr TYPE=FHEMWEB jquery-input-historyParam { "lineNumbers":true, "theme":"blackboard" }

Die Individuelle Input-Historie kann deaktiviert werden via
attr WEB jquery-input-historyParam {"enableInputHistory":false }

Installation Variante 1: die beigefügte js Datei einfach ins www Verzeichnis kopieren und in der FHEMWEB Instanz verlinken, z.B.:
fhem\www\input\jquery-input-history.js attr WEB JavaScripts input/jquery-input-history.js
Installation Variante 2: ohne SSH und ggf. Berechtigungsvergabe die JS-Datei über die Oberfläche ins pgm2 Verzeichnis anlegen:

1. jquery-input-history.js öffnen und den Code in Zwischenablage kopieren
2. Edit files im Menü wählen und 99_myUtils.pm öffnen (oder eine andere Datei auswählen)
3. Im Editor allen Inhalt löschen und den Code aus der Zwischenablage einfügen
(ggf. als Backup den Inhalt vor dem Löschen in eine separate Textdatei kopieren, falls man den nächsten Schritt verdaddelt)
4. Den Namen hinter [Save as] ändern nach jquery-input-history.js (anstelle "99_myUtils.pm")
5. Erst jetzt, also nach Änderung des Dateinamens, [Save as] jquery-input-history.js drücken. Anschließend erscheint die Meldung "Saved jquery-input-history.js"
6. Die erstellte JS-Datei unter pgm2/jquery-input-history.js nun dem WEB Attribut JavaScripts hinzufügen

Da die History längerfristig im LocalStorage Browsercache abgelegt wird, gibt es ein kleines Favoritensymbol rechts neben der Commandline zum Löschen aller Einträge.

// 18.02.18 Nachtrag
Erweiterung: Bei Verwendung von Ctrl-Enter bzw. Strg-Enter wird der gesamte Text als Perl Ausdruck in {} gesetzt.

// 11.05.18 Nachtrag
Neuer Link zum Lösch-Icon, da sich in Fhem die Bilderpfade geändert haben.

// 10.11.21 Nachtrag
Erweiterung: Bei Verwendung von Ctrl-Space im CMD wird das aktuell besurfte Device (URL-Parameter "detail") an die aktuelle Cursorposition geschrieben (oder ggf. wieder entfernt).

// 10.11.21 Nachtrag
Symbol angepasst und Fehlermeldung gefixt, wenn kein Device ausgewählt war.

// 12.11.21 Nachtrag
Standard Event Trigger entfernt.

// 21.05.23 Nachtrag
Codemirror Syntax Higlighting hinzugefügt.

// 22.05.23 Nachtrag
web Attribut Param hinzugefügt und Vollbildmodus deaktiviert.
Außerdem für unterschiedliche DEFs angepasst.

// 23.05.23 Nachtrag
height als jquery-input-historyParam gefixt
Input-Historie kann deaktiviert werden via jquery-input-historyParam

Viel Spaß
Ronny
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

betateilchen

Das meiste davon kann FHEM schon von Haus aus, wenn man die Attribute der FHEMWEB Instanz entsprechend setzt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

FHEMAN

Was
Zitat von: betateilchen am 13 März 2017, 13:01:04
Das meiste davon kann FHEM schon von Haus aus, wenn man die Attribute der FHEMWEB Instanz entsprechend setzt.

Mag für mainInputLength gelten. Für eine Historie beziehst Du Dich aber hoffentlich nicht auf redirectCmds oder Autofill von Formularen. Das ist nämlich keine Alternative. Aber vielleicht hast Du ja ein paar Schmankerl auf Tasche.. dann halte aber bitte nicht vor dem Berg damit.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

pula

Extrem lässige Idee - das hat mir schon lange gefehlt :-)
Danke fürs implementieren!

Cheers,

Pula
fhem (debian auf proxmox), HM-LAN und wired, MySensors, FritzBoxes, Kodi, vdr, Onkyo, squeezeplayers, nanoCUL, wifilight (Ethernet-Bridge), Heizungssteuerung (python/vncdotool), doorpi, ESP/Arduinos/MQTT, Alexa, HomeConnect, Sonoff/Tasmota, espRGBWW, esphome, Telegram

kumue

gefällt mir & sehr nützlich
danke !

sash.sc

Da lässt sich aber nicht mehr die Länge des Eingabefeldes ändern.

Beim mir erscheint hinter der Eingabeleiste "Historie löschen"

Gruß und Danke
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

FHEMAN

Zitat von: sash.sc am 13 März 2017, 21:45:42
Da lässt sich aber nicht mehr die Länge des Eingabefeldes ändern.
Da es mit mainInputLength tatsächlich eine Funktion in FHEM gibt, habe ich das wieder herausgenommen (das Script File oben ist aktualisiert)
Zitat
Beim mir erscheint hinter der Eingabeleiste "Historie löschen"
Genau, das ist gewollt so. Für Ideen bin ich aber offen.

Gruß
Ronny
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

dirkcx

wie kann ich denn bei
attr JavaScripts
mehrere javascript-Dateien eintragen?
mit Komma oder Semikolon getrennt klappt das nicht, fhem konkateniert das zu einem String
Server: Gigabyte GB-BACE3160 | Ubuntu 20.04 LTS Server | aktuelles FHEM | CULUSB (busware) FS20/FHT/... | MySensors: seriell / esp8266 | ZigBee (Zigbee CC2531 / zigbee2mqtt) | homebridge / homebridge-config-ui

swsmily

Einfach mit Leerzeichen:
Beispiel:
codemirror/fhem_codemirror.js niceclocks/fhem_niceclocks.js

hartenthaler

Ich habe das verwendete Icon checkbox_checked.png bei mir nicht, sondern nur ein entsprechendes .svg. Damit geht es aber nicht, wenn ich den Pfad im Script entsprechend ändere. Oder gibt es da einen Weg? Alternativ kann ich natürlich so ein png-Icon in der Größe 9x9 direkt selber malen.
fhem 5.8 auf RaspberryPi 3 mit HMLAN und CCU2, ZWave, JeeLink, FHZ1000 für FS20, HMS, Fritz!Box, Fritz!DECT200, Harmony, Sonos, hue, netatmo, SSCam, Wetter- und Verkehrsmodule, Chat-Bot mit RiveScript/Telegram, IFTTT, pushover, ...

vbs


Det20


P.A.Trick

Zitat von: vbs am 24 März 2017, 20:41:23
Hammer Plugin! Danke!

Schließe mich an, super! Sollte mMn. als Standard in jede FHEM Instanz rein.
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

doman75

Hallo,

ich habe seit kurzem bei jeder Seite die Fehlermeldung:
jquery-input-history.js line 1:
NS_ERROR_STORAGE_IOERR:

was könnte das sein?

grüße
Doman

FHEMAN

Ich kopiere oft fertige Perl Einzeiler in die CMD und es nervt mich dann immer das Geklimpere mit den beiden geschweiften Klammern. Ich habe daher das Script für Faule wie ich es bin noch erweitert. Einfach die zweite, größere JS Datei oben wählen.

@doman75: Ich kann mir nur vorstellen, dass du bzw. dein Windows User keine Berechtigung hat, im Browser Storage etwas abzulegen (evtl. neue Gruppenrichtlinie auf Arbeit?

Gruß
Ronny
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Nogga

Ich nutze das Addon wirklich gerne - aber welche Version ist denn jetzt die richtige? Du hast 3 Stück angehängt und alle heißen gleich...

FHEMAN

Hi Nogga, ich habe die alten Versionen gelöscht.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

crusader

Heisst dieses Eingabe-Element im WEB-IF wirklich offiziell 'Commandbar` ?

Ich hatte mir schon nach vergeblicher Suche nach 'Commandline History' ein Bash-Script gebastelt.
Egal, jetzt führen diese Suchbegriffe ja auch hierhin  ;D.

FHEMAN

#18
Das teils lange Eintippen von Gerätenamen, Notifys etc. wird nun durch Ctrl-Space vereinfacht. Das Script habe ich oben im Beitrag angepasst.

Das heißt, mit beispielsweise "deletereading [CTRL-SPACE] meinReading" kann man sich das Tippen des aktuellen Gerätenamens sparen.

Ich habe durch diesen Shortcut bisher keine Kollisionen mit anderen Funktionen bemerkt.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Benni

Scheint auf einem Mac nicht zu funktionieren.
Dort öffnet dich mit command-Space die Spotlight-Suche.

i.d.R. ist command auf dem Mac das Äquivalent zum Ctrl auf Win

Btw.: der Ctrl-Enter - Shortcut funktioniert auf dem Mac auch nicht.

gb#

FHEMAN

Zitat von: Benni am 10 November 2021, 12:32:15
Scheint auf einem Mac nicht zu funktionieren.
Dort öffnet dich mit command-Space die Spotlight-Suche.

i.d.R. ist command auf dem Mac das Äquivalent zum Ctrl auf Win

Btw.: der Ctrl-Enter - Shortcut funktioniert auf dem Mac auch nicht.

gb#

Ah interessant, an MAC-User hatte ich so gar nicht dabei gedacht, sorry ;D
Danke für die Info - ich werde es oben mal nachtragen.

Zitat von: crusader am 16 Januar 2019, 10:04:08
Heisst dieses Eingabe-Element im WEB-IF wirklich offiziell 'Commandbar` ?

Ich hatte mir schon nach vergeblicher Suche nach 'Commandline History' ein Bash-Script gebastelt.
Egal, jetzt führen diese Suchbegriffe ja auch hierhin  ;D.
Die Suche nach Commandline History führt irgendwie trotzdem nicht hier her  ???
Ich kenne auch keinen offiziellen Langnamen für die CMD.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Benni

Zitat von: FHEMAN am 12 März 2017, 23:41:44
Hinweis: Funktioniert anscheinend nicht auf dem Mac.

Die History an sich mit Pfeiltaste auf/ab funktioniert schon, nur die Special Shortcuts mit Ctrl nicht.

Könnte man aber sicher auch noch irgendwie hinbekommen ;)

gb#

gestein

Hallo,

das habe ich auch schon lange vermisst. Sollte wirklich Teil der Standard-Installation sein.
Danke!
lg, Gerhard

FHEMAN

Zitat von: Benni am 10 November 2021, 12:45:48
Die History an sich mit Pfeiltaste auf/ab funktioniert schon, nur die Special Shortcuts mit Ctrl nicht.

Könnte man aber sicher auch noch irgendwie hinbekommen ;)

gb#
Bei Bedarf würde ich es mir mal anschauen. Welche Shortcuts wären denn "frei" bzw. ratsam auf dem Mac?
Welche Tasten wären z.B. in der Regel Quelltextvervollständigung?
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Benni

Also in Visual Studio wird bspw. Control+Space [⌃␣] für Wortvervollständigung genutzt.

Für die Klammer-Funktion kenne ich kein Pendant. Command+Shift+Enter [⌘⇧⏎] könnte eine passende Möglichkeit sein.

Beide haben bei mir im Browser (Chrome) und Systemweit zumindest anscheinend keine sonstige Funktion.

gb#

FHEMAN

#25
Ich habe die Keycodeabfrage um die Mac Command-Taste erweitert. Magst du die Version hier im Anhang mal testen?
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Benni

#26
Nee, leider tut sich nichts!  :'(

Bei Command-Space wird die Spotlight-Suche aufgerufen, sprich der Shorcut ist systemseitig bereits in Verwendung.
Habe den System-Shortcut mal deaktiviert, aber leider tut sich dann gar nichts.

Bei Command-Enter tut auch gar nichts.

Browser-Cache hatte ich natürlich geleert, bzw. zum Testen deaktiviert.

Edit:

Habe jetzt auch noch in Safari getestet, dort wird mit Command-Enter der aktuelle Tab dupliziert, ist also Safari-seitig vorberlegt.

Command-Space ohne Funktion.




FHEMAN

Argh.. kannst Du mal bitte die Fiddle Seite https://jsfiddle.net/ydh78k6L/2/ besurfen, in den weißen Bereich rechts klicken und einmal Control+Space und einmal Command+Shift+Enter zu drücken und hier das Ergebnis (auch im weißen Bereich, hoffe ich) posten?
Und am liebsten auch einmal mit Control-Enter und Control-Space.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Benni

Sieht (leider) eigentlich gut aus, würde ich sagen:

e.ctrlKey: true key:17
ctrlspace

e.ctrlKey: false key:91
e.ctrlKey: false key:16
enter

e.ctrlKey: true key:17
ctrlenter

e.ctrlKey: true key:17
ctrlspace

FHEMAN

Das klingt ja eigentlich gut. Ich habe das Triggern des Standardverhaltens rausgenommen (vermutlich). Magst Du nochmal testen?
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Benni

Es funktioniert jetzt beides:

Control+Space  -> Device-Name
Control+Enter -> Klammerung

Dass es gestern nicht funktioniert hat, war übrigens ein Versehen meinerseits: Ich hatte beim Download nicht darauf geachtet, dass die Datei bereits im Download-Ordner lag und beim erneuten Download die jeweils neue Datei mit einem Zähler im Dateinamen heruntergeladen wird. Ich Dussel habe immer die bereits vorhandene Datei ohne Zähler auf mein FHEM-System geschoben, sprich immer wieder den alten Stand rüber geschoben.

Sorry, dafür!
Und danke für deine Mühe!

Funktioniert jetzt also auch auf Mac!  :D

gb#

FHEMAN

Na sehr gut! Hattest Du jetzt das Script aus dem ersten Beitrag genommen oder das letzte? Da gab es nämlich noch eine kleine Anpassung, die das Standardverhalten unterdrückt (Spotlightsuche?).

Viele Grüße
Ronny
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Benni

Ich hate die letzte (aus #29) genommen!

Die Spotlght-Unterdrückung funktioniert nicht, bzw. ist auch nicht notwendig, da Control-Space die Device-Name Vervollständigung macht. Spotlight wäre, bzw. ist Command-Space.

Passt so auch! Control+Space, bzw. Control+Enter funktionieren, zumindest in Chrome und Safari wunderbar!

gb#

FHEMAN

Vervollständigung leider nicht, das wäre dann Nextlevel ;)

Dann werde ich die Version jetzt als Standard definieren und in #1 hinterlegen.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Invers

Ich hoffe, ich habe alles richtig verstanden.
Bei mir funktioniert leider nicht alles.
Ich nutze Win11
Im Firefox und im Edge wird der Cache nicht gelöscht, wenn man auf das Icon klickt.
Zitat// 10.11.21 Nachtrag
Erweiterung: Bei Verwendung von Ctrl-Space im CMD wird das aktuell besurfte Device (URL-Parameter "detail") an die aktuelle Cursorposition geschrieben (oder ggf. wieder entfernt).
Die Kombi hat keine sichtbare Wirkung in FF und edge und Chrome.
Vielleicht ein Win11 Problem?
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

FHEMAN

#35
Hi Invers,

ich habe es gerade nochmal mit Edge und Chrome (ist ja eh Chromium) ohne Auffälligkeiten getestet - unter Windows 10.
Win11 kann ich leider nicht testen, es würde mich aber wundern, wenn dies browserseitig derartige Auswirkungen hätte.
Könnte es sein, dass Dein Profil oder Browser sehr restriktiv konfiguriert ist? Evtl. Arbeitsrechner? 

//edit: Sry, wenn ich frage, aber den Cursor hattest Du beim Test im CMD?

//edit: kannst Du ansonsten auch mal https://jsfiddle.net/ydh78k6L/2/ aufrufen, auf Play drücken, in den weißen Bereich rechts klicken und dann die Shortcuts nacheinander ausführen - und das Ergebnis hier posten?
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Invers

Die Konfiguration ist ganz normal. Ist ein Privatrechner.
Den Cursor hatte ich oben in der Eingabezeile an deren Ende sich das Löschicon befindet. Ist bei mir allerdings nur ein schwarzes Kreuz.
Für ctrl+spache
e.ctrlKey: true key:17
ctrlspace

Für ctrl+enter
e.ctrlKey: true key:17
ctrlenter

Scheint also dort zu gehen.

Ich hoffe, ich bin an der richtigen Stelle.
In der Browser-Eingabezeile steht der Link
http://192.168.178.49:8083/fhem?detail=Siro_WZL

Mein Corsor ist in der fhem Eingabezeile.
ctrl+space erzeugt nichts.

ctrl space enter
setzt meinen eingegebenen Text in {}

Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

FHEMAN

Der Link sieht gut aus eigentlich. Das kleine Kreuz ist aus einer älteren Version. Könntest du mal deinen Browsercache löschen oder mindestens mit Strg-F5 die Seite einmal neu laden?
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Invers

Da hatte ich bereits getan. Da gab es ebenfalls Probleme. Erst nach mehreren Versuchen wurde dann der Cache gelöscht. Jetz wird schon wieder beim Löschen rumgezickt.
Ich habe alle Browser probiert mit gleichem Ergebnis.
Ich denke, da läuft was schief.
Ich werde mal alle Browserdaten komplett löschen, zu Not neu installieren. Melde mich dann ggf.
Danke dir.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

Invers

Alles geklärt. Habe Config-Ordner vom FF gelöscht und alles neu installiert. Läuft nun.
Vielen Dank für die Hilfe.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

FHEMAN

Ok, sehr gut. Ich hätte sonst auch kaum noch Ideen gehabt :)
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

bartman121

#41
moin, also sehr geile Arbeit.

Falls ich mir was wünschen darf....


  • Umstellung von localStorage auf Cookie, die meisten Browser synchronisieren ja cookies, dann hätte man die Command-History auf allen Endgeräten identisch
  • Löschen einzelner Commands ermöglichen
  • für den command-input bitte das Attribut autocomplete="off" setzen, dann schlägt der Browser nicht mehr selbst "alte Befehle" vor (okay, das könnte doof sein, weil die command-history auf mobilen endgeräten kaum nutzbar ist (keine Pfeiltasten ....)  ...  hier sollte man erstmal diskutieren was sinnvoll ist



Ich kann mir das auch selbst bauen, falls du mir erlaubst deinen Quellcode zu verändern :)

Viele Grüße

Andreas


FHEMAN

Hey Andreas,
ich wollte die Erweiterung eigentlich nicht unnötig komplex machen. Aus eine Historie a la Bash eine Favoritenliste oder den User bevormunden bei Einstellungen, die er alleine setzen kann.

Aber: Da ich genau diese Sachen auch schon im Hinterkopf hatte, bau sie von mir aus gerne ein - optional, also mittels Schalter bspw. im Script ganz oben, so dass man wählen kann, ob local Storage oder Cookie Storage etc.
Denn ich fänd deine Erweiterungen auch praktisch. Werde aber vor allem zu der Umstellung auf Cookies nicht so schnell kommen.
Von daher, feel free :)

Viele Grüße
Ronny
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

mtk

Hallo zusammen,
ich habe das script bei mir wie oben beschrieben installiert, aber bei mir kommt überhaupt nichts in der FHEM commandline. Keine Reaktion auf Pfeiltaste bis auf Browservervollständigung, aber keine echte command history und es tauchen auch keine icons auf.
Ich habe das letzte Skript im Feed benutzt.
Skript liegt bei mir in .../fhem/www/input# und ich habe es mit chown auf fhem und dialout sowie ausführbar gesetzt.
ls -ltra
drwxrwxr-x 16 fhem dialout 4096 Dec 20 13:29 ..
-rwxr-xr-x  1 root root    4170 Dec 20 13:56 jquery-input-history.js.old
-rwxr-xr-x  1 fhem dialout 4169 Dec 20 13:56 jquery-input-history.js
drwxr-xr-x  2 fhem dialout 4096 Dec 20 13:56 .

Im Attribut JavaScripts von WEB steht es bei mir sogar an erster Stelle: input/jquery-input-history.js codemirror/fhem_codemirror.js hausautomatisierung-com/custom.js

Kurze Frage: funktioniert es bei allen anderen und stelle ich mich an irgendeiner Stelle nur zu dumm an?
Habe es mit FF und chrome getestet.

Grüße
MIchael
aktuelles FHEM auf XEN Server, Debian VM,  usb-redirector (XEN host -> VM):  (868 MHz) CUL V3 + (868 MHz) CUL V3

Nodes: RPi with shairport-sync, cLirc, mjpg-streamer, mpd, hostapd, hifiberry, TTS (picowave), NOOBS Multiboot (raspian + openelec)

Rampler

Zitat von: mtk am 20 Dezember 2021, 14:18:06
Kurze Frage: funktioniert es bei allen anderen und stelle ich mich an irgendeiner Stelle nur zu dumm an?
Habe es mit FF und chrome getestet.
Grüße
MIchael

Bei mir funktioniert es mit FF einwandfrei, allerdings habe ich es unter pgm2 kopiert ..
Den codemirror/fhem_codemirror.js habe ich auch drin, allerdings nicht die hausautomatisierung-com/custom.js, vielleicht testest Du mal ohne die...
VG Klaus
3 HMUART (2 via ESP8266), 1 DUOFERN, 9 ESP8266, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

FHEMAN

Zitat von: mtk am 20 Dezember 2021, 14:18:06
Hallo zusammen,
ich habe das script bei mir wie oben beschrieben installiert, aber bei mir kommt überhaupt nichts in der FHEM commandline. Keine Reaktion auf Pfeiltaste bis auf Browservervollständigung, aber keine echte command history und es tauchen auch keine icons auf.
Ich habe das letzte Skript im Feed benutzt.
Hi Michael,
das erste und letzte Script im Thread sind gleich.
Kannst Du mal schauen, wenn du mit F12 die Devtools im Browser öffnest, ob in der Console ein Logeintrag in der Art "storageKeyinputHistory.cmd" erscheint?
Falls nicht, wird das Script gar nicht erst korrekt geladen (was ich vermute).
Testweise könntest Du das Script auch einmal an die letzte Stelle im JavaScripts WEB Attribut setzen, so dass es zuletzt geladen wird - oder hausautomatisierung temporär entfernen, wie Rampler vorgeschlagen hat.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

FHEMAN

Ich habe mal noch eine alternative Installationsmethode hinzugefügt, um das Thema SSH und Berechtigungen zu umgehen.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Benni

Zitat von: FHEMAN am 21 Dezember 2021, 16:49:57
Ich habe mal noch eine alternative Installationsmethode hinzugefügt, um das Thema SSH und Berechtigungen zu umgehen.

Diese 2. Installationsvariante ist übrigens nicht ganz ungefährlich!

Ich habe mir so auch schon Dateien "zerschossen", weil ich dann aus Unachtsamkeit und Gewohnheit letztendlich doch auf den "Save"-Button geklickt habe und nicht auf "Save as".

Aber deshalb macht man ja auch Backups ;)

gb#


FHEMAN

Hi Benni, da stimme ich dir zu, das ist mir auch mal passiert.
Daher der Hinweis bei Schritt 3, den Inhalt in eine separate Textdatei zu kopieren, falls man was falsch macht beim Speichern.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

FHEMAN

Ich habe das Code Highlighting von Codemirror im Lesemodus aktiviert. Es störte mich, dass Notifies und DOIFs nicht leserlich waren und man immer in den Bearbeitungsmodus wechseln musste. Codemirror muss dazu installiert sein.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

swsmily

Zitat von: FHEMAN am 21 Mai 2023, 02:43:54Ich habe das Code Highlighting von Codemirror im Lesemodus aktiviert. Es störte mich, dass Notifies und DOIFs nicht leserlich waren und man immer in den Bearbeitungsmodus wechseln musste. Codemirror muss dazu installiert sein.

Muss man dazu etwas extra einstellen? Oder ist es morgen per Update enthalten? Habe gerade eben ein Update gemacht, aber DOIFs bleiben grau.

FHEMAN

Zur Installation musst die Script Datei aus dem ersten Post verlinken. Dort ist auch beschrieben, wie. Am besten Variante 1 wählen.
Codemirror hast du schon installiert? Ich werde es auch nochmal verlinken.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

Invers

Schade, dass man sich für eine Variante entscheiden muss. Ich hätte lieber alles zusammen in einer Datei. Wird es eine Zusammenführung geben?
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

JoWiemann

Hallo,

im Script wird auf folgenden Pfad verwiesen:

<img src='/fhem/images/fhemSVG/Wunderlist.svg' width='19' height='19' onclick='showStorageElements();' style='cursor:pointer' alt='Historie l&ouml;schen' title='Historie l&ouml;schen'/></td>");

Ist in der Standard-Installation nicht /fhem/www/images/fhemSVG/Wunderlist.svg üblich?

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

FHEMAN

Zitat von: Invers am 22 Mai 2023, 06:33:39Schade, dass man sich für eine Variante entscheiden muss. Ich hätte lieber alles zusammen in einer Datei. Wird es eine Zusammenführung geben?
Doch, in der zweiten, neueren Version ist beides zusammengefasst.
Ich habe die alte Version nur parallel noch belassen, falls jemand Codemirror nicht nutzt.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

JoWiemann

#55
Zitat von: FHEMAN am 21 Mai 2023, 02:43:54Ich habe das Code Highlighting von Codemirror im Lesemodus aktiviert. Es störte mich, dass Notifies und DOIFs nicht leserlich waren und man immer in den Bearbeitungsmodus wechseln musste. Codemirror muss dazu installiert sein.

Es gibt, jedenfalls bei mir unter Edge, einen kleinen Schönheitsfehler. Ist im Attribut codemirrorParam "fullScreen":true gesetzt, wird das Def über den Bildschirm gelegt. Vielleicht kannst Du ja den Parameter temporär auf false setzen.

Mit "pcm.setOption("fullScreen", false);" ist mein Problem behoben.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

JoWiemann

Hallo,

einen Vorschlag noch.

Wenn Du die Funktion startCodemirrorReadonly() wie folgt ergänzt:

function startCodemirrorReadonly() {
...
codeTextarea.replaceWith('<textarea>' + codeTextarea.html() + '</textarea>');
AddCodeMirror($("#disp textarea"), function(pcm) {
//cm = pcm;
pcm.setOption("readOnly", true);
pcm.setOption("lineNumbers", false);
pcm.setOption("cursorBlinkRate", -1);

//<--- Ergaenzung --->

pcm.setOption("fullScreen", false);

var userAttr = scriptAttribute("jquery-input-history.js");
for(var a in userAttr)
pcm.setOption(a, userAttr[a]);

//<--- Ende Ergaenzung --->

$(".CodeMirror").css("backgroundColor", "transparent");
codeDisp.css("visibility", "visible");
});
}
}


dann werden die Parameter aus dem Attribut: jquery-input-historyParam übernommen. (Syntax wie codemirrorParam).

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

swsmily

Zitat von: FHEMAN am 21 Mai 2023, 23:55:04Zur Installation musst die Script Datei aus dem ersten Post verlinken. Dort ist auch beschrieben, wie. Am besten Variante 1 wählen.
Codemirror hast du schon installiert? Ich werde es auch nochmal verlinken.

Danke, die erste Seite hatte ich gar nicht im Blick. Hab nun die Javascript-Datei kopiert und im WEB-Device eingetragen und es funktioniert. Super!

FHEMAN

Zitat von: JoWiemann am 22 Mai 2023, 15:17:42Hallo,

einen Vorschlag noch.

Wenn Du die Funktion startCodemirrorReadonly() wie folgt ergänzt:

dann werden die Parameter aus dem Attribut: jquery-input-historyParam übernommen. (Syntax wie codemirrorParam).

Grüße Jörg

Hallo Jörg, das ist eine gute Idee. Danke für den Vorschlag samt Lösung! Ich habe es mit eingebaut. Ebenso den Vollbildfix.

Gruß
Ronny
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

swsmily

#59
Ich habe gerade die aktuellste Version nochmal runtergeladen und in FHEM kopiert. Mir ist nun aufgefallen, dass bei anderen Devices als DOIF oder Notify das DEF im Lesemodus leer bleibt. Ebenso geht die History Funktion in der Leiste in FHEM oben nicht mehr. Bisher konnte ich z.b. "up" eingeben und es wurde alle was ich mal eingegeben hatte vorgeschlagen, also "update check, uptime, update" usw...


EDIT: Gerade gemerkt, dass ich attr WEB JavaScripts input/jquery-input-history.js oder mit pgm2 vorher  nie drin hatte.

Dennoch wurde mir im Firefox immer die letzten Befehle angezeigt.

FHEMAN

Hi swsmily, anscheinend werden die DEFs unterschiedlich aufgebaut. Es sieht so aus, als ob Einzeiler im DEF anders gerendert werden. Ich habe das Script dahingehend angepasst, werde es aber später noch einmal überarbeiten, da mir der Fix nicht so ganz gefällt.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

JoWiemann

Zitat von: swsmily am 22 Mai 2023, 21:54:12EDIT: Gerade gemerkt, dass ich attr WEB JavaScripts input/jquery-input-history.js oder mit pgm2 vorher  nie drin hatte.

Dennoch wurde mir im Firefox immer die letzten Befehle angezeigt.

Hallo,

das was Du beschreibst ist die Kommando Historie, die jeder Browser mit sich bringt. Durch aktivieren der Fhem Kommando Historie wird die Browser Historie ersetzt und steht somit nicht mehr zur Verfügung. Es wird halt eine neue Historie aufgebaut, die auch etwas anders funktioniert. Vorteil ist, dass die Fhem Historie nicht in anderen Eingabefeldern des Browsers auftauchen kann.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Invers

Zitat von: JoWiemann am 23 Mai 2023, 08:19:16
Zitat von: swsmily am 22 Mai 2023, 21:54:12EDIT: Gerade gemerkt, dass ich attr WEB JavaScripts input/jquery-input-history.js oder mit pgm2 vorher  nie drin hatte.

Dennoch wurde mir im Firefox immer die letzten Befehle angezeigt.

Hallo,

das was Du beschreibst ist die Kommando Historie, die jeder Browser mit sich bringt. Durch aktivieren der Fhem Kommando Historie wird die Browser Historie ersetzt und steht somit nicht mehr zur Verfügung. Es wird halt eine neue Historie aufgebaut, die auch etwas anders funktioniert. Vorteil ist, dass die Fhem Historie nicht in anderen Eingabefeldern des Browsers auftauchen kann.

Grüße Jörg
Ich denke, damit könnte gemeint sein, dass die Auswahlliste nicht mehr aufklappt. Meine History wurde nämlich nicht gelöscht. Gebe ich einen Buchstaben U ein, wird eine Liste mit allen Eingaben ausgeklappt, die mit U anfangen. Gebe ich danach ein P ein, werden alle mit UP angezeigt, also gefiltert. Das funktioniert mit der neuen Version mit Highlight nicht mehr. Die alte Version funktionierte bereits mit Edge nicht mehr, aber mit Firefox gehts noch. Kann man das bitte wieder aktivieren? Ich finde diese Funktionalität ganz toll.
Danke  im Voraus.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

FHEMAN

Es könnte gut sein, dass im FF das alte Script noch im Browsercache war.

@Invers: Du beschreibst meiner Meinung nach das Browser Standardverhalten. Denn eine Auswahlliste klappt bei der Commandbar History nicht auf. Hier geht es nur darum, mit den Pfeiltasten hoch/runter durch die letzten Befehle zu navigieren, ähnlich einer Linux Shell.
Vergleiche mal die Befehle mit denen im Löschdialog (Symbol rechts neben der Commandbar).
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

JoWiemann

Zitat von: FHEMAN am 23 Mai 2023, 00:35:49Hi swsmily, anscheinend werden die DEFs unterschiedlich aufgebaut. Es sieht so aus, als ob Einzeiler im DEF anders gerendert werden. Ich habe das Script dahingehend angepasst, werde es aber später noch einmal überarbeiten, da mir der Fix nicht so ganz gefällt.

Hallo Ronny,

durch den Fix wird die Höhe auf 300px gesetzt. Der mögliche Parameter "height" funktioniert nicht, da er keine zugelassener Wert in setOption/getOption im CodeMirror ist, sondern gesondert behandelt wird.

Als ein erweiterter Vorschlag:
var userAttr = scriptAttribute("jquery-input-history.js");
for(var a in userAttr) {
if (a == "height") {
if(userAttr[a] == true)
userAttr[a] = "auto";
if(isNaN(userAttr[a])) {
$("head").append('<style type="text/css">.CodeMirror {height:auto;}');
        } else {
$("head").append('<style type="text/css">.CodeMirror {height:' + userAttr[a] + 'px;}');
}

} else {
pcm.setOption(a, userAttr[a]);
}
}

Wenn man jetzt "height":true als Parameter setzt, wird im DEF die Formatierung auf "auto" gesetzt, oder mit z.B. "height":100 auf 100px. Ohne Parameter oder mit false auf 300px.

Grüße Jörg
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

Invers

Wenn ich falsch liege, was ist dann das? Woher stammt das? Browsercache ist 100 Prozent ausgeschlossen, weil mein komplettes Windows und alle Programme neu installiert sind.
Meine Befehlshistorie ist einfach super. Hab ich schon seit vielen Jahren. Wenn das nicht von hier ist, kann vielleicht jemand bitte sagen, woher?
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

swsmily

Zitat von: FHEMAN am 23 Mai 2023, 10:30:29Es könnte gut sein, dass im FF das alte Script noch im Browsercache war.

@Invers: Du beschreibst meiner Meinung nach das Browser Standardverhalten. Denn eine Auswahlliste klappt bei der Commandbar History nicht auf. Hier geht es nur darum, mit den Pfeiltasten hoch/runter durch die letzten Befehle zu navigieren, ähnlich einer Linux Shell.
Vergleiche mal die Befehle mit denen im Löschdialog (Symbol rechts neben der Commandbar).

Gibts die Möglichkeit, dass das Syntaxhighlighting in Lesemodus eingebunden wird, aber ohne Commandbar History? Mir gefällt das Verhalten besser, wenn es das Auswahlmenü gibt, was vom Browser (Firefox) kommt. Ich verwende selten den gleichen Befehl mehrfach nacheinander. Allerdings ist es schon praktisch, wenn man nur "up" eingeben muss und es wird "update", "update check" und "uptime" vorgeschlagen.

FHEMAN

Zitat von: JoWiemann am 23 Mai 2023, 16:03:13Hallo Ronny,

durch den Fix wird die Höhe auf 300px gesetzt. Der mögliche Parameter "height" funktioniert nicht, da er keine zugelassener Wert in setOption/getOption im CodeMirror ist, sondern gesondert behandelt wird.
Hallo Jörg, ich habe Deine Lösung ohne große Änderungen eingebaut.

Zitat von: Invers am 23 Mai 2023, 17:51:08Wenn ich falsch liege, was ist dann das? Woher stammt das?
Aus meiner Sicht dürfte das der Browser Standard sein. Ich fand das Handling mit dem Auswahldialog immer unschön. Vielleicht hat es sich inzwischen verbessert, ich habe es nicht mehr aktiviert.

Ich habe nun einen Schalter eingebaut, mit dem Du das individuelle Input-History löschen kannst:

attr WEB jquery-input-historyParam {"enableInputHistory":false }

Aber eigentlich bin ich mir ob der Sinnhaftigkeit nicht so sicher.. ;)
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

swsmily

Zitat von: FHEMAN am 23 Mai 2023, 20:24:52Ich habe nun einen Schalter eingebaut, mit dem Du das individuelle Input-History löschen kannst:

attr WEB jquery-input-historyParam {"enableInputHistory":false }


Gerade eingespielt und sieht sehr gut aus. Vielen vielen Dank!

swsmily

Mir ist noch eine Kleinigkeit gerade aufgefallen. Bei jedem Laden einer FHEM-Seite springt der Fokus direkt in das Eingabefeld.

Hat man nur mal paar Dinge durch geklickt (z.b über Probably associated with) und will im Firefox mit der Zurück-Taste (über Enter) wieder zurück blättern, geht das nicht, da der Fokus im Eingabefeld liegt.

Ist es möglich den Fokus raus zu nehmen?

FHEMAN

Zitat von: swsmily am 25 Mai 2023, 22:51:53Mir ist noch eine Kleinigkeit gerade aufgefallen. Bei jedem Laden einer FHEM-Seite springt der Fokus direkt in das Eingabefeld.

Das Verhalten ist so gewollt und vereinfacht aus meiner Sicht das Handling. Andernfalls bekommt gar kein Feld den Fokus.

Für die Browser-Zurück Funktion nutze ich Backspace bzw. das neuere Alt-Left. Nutze aber nur Chromium. Wobei FF hier sicherlich ähnlich arbeitet. 
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

swsmily

Zitat von: FHEMAN am 26 Mai 2023, 12:19:47Das Verhalten ist so gewollt und vereinfacht aus meiner Sicht das Handling. Andernfalls bekommt gar kein Feld den Fokus.

Für die Browser-Zurück Funktion nutze ich Backspace bzw. das neuere Alt-Left. Nutze aber nur Chromium. Wobei FF hier sicherlich ähnlich arbeitet. 

Ja genau Backspace meinte ich. Das funktioniert bei mir damit nicht mehr. Alt-Left und Right kannte ich tatsächlich noch gar nicht, funkioniert im Firefox auch. Danke für den Hinweis.

Bisher war ich es gewohnt, dass erstmal gar kein Feld Focus hat und damit hat Backspace bewirkt, dass Firefox eine Seite zurück geht. Leertaste, dass es eine Seite nach unten scrollt.

Was jedoch nicht geht, dass mit Bild-runter-Taste durch die FHEM-Seite gescrollt wird, solange der Focus im Eingabefeld liegt.
Ich weiß nicht, ob es daran liegt, dass ich "jquery-input-historyParam {"enableInputHistory":false }" gesetzt habe. Jedoch wenn der Focus im Eingabefeld liegt, werden mir dann die letzten Einträge angezeigt und durchgescrollt statt die jeweilige FHEM-Seite.
Da ich viel mit Tastatur arbeite, statt mit Touchpad-Scolling oder Mausrad, ist das für mich schon eine Einschränkung.

Wäre es denn möglich, über einen weiteren Parameter den Focus an und auszuschalten, so dass jemand, der das praktisch findet es nutzen kann, andere aber es abschalten können. Also sowas jquery-input-historyParam {"enableFocus":false } ?

Falls sowas aber nicht möglich, oder zu umständlich ist (oder ich der einzige bin, der das gut finden würde), würde ich abwegen ob ich farbigen Code im Lesemodus haben möchte, oder mir die Navigation per Tastatur in FHEM wichtiger ist. Also nur wegen mir alleine bitte keine Umstände!



FHEMAN

Da das Input-History Script langsam ein Sammelsurium an kleinen Features bietet, macht es sicherlich Sinn, die einzelnen Sachen an-/abschaltbar zu machen. Der Grundstein dafür ist ja schon gelegt.

Diese neue Version würde ich dann aber wohl zum Anlass nehmen, ein paar grundlegende Änderungen am Code vorzunehmen. Die weiteren Sachen sind ja eher so nebenbei reingerutscht, wurden quasi drumherum gestrickt.

Ich arbeite gerade an einer Version, die mir à la Autocomplete alle passenden Fhem Devices im CMD vorschlägt. Aber richtig sinnvoll wäre es ja eigentlich, dies (auch) im Codemirror zu reaktivieren.
Außerdem STRG-S anstelle des modify-Button-Klicks.

@swsmiley: mit "enableInputHistory":false hast Du den Browser Standard wiederhergestellt. Durch den Fokus erfolgt beim Scrollen gleich das Vorschlagen der letzten Einträge. Somit macht die Kombination jquery-Input-Historie und Auto-Fokus schon Sinn. Ich werde hier aber wie gesagt noch einen Schalter einbauen, das ist kein Problem.
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB

cwagner

Hi, wirklich wichtige und wertvolle Idee - doch sollte man nicht in Start-Post vermerken, dass es nicht funktioniert mit dem Style f18?
Habe jetzt eine ganze Weile gebraucht, um zumindest zu diesem Punkt zu kommen: Mit FHEM-Standard funktionierte es bei mir wie beschrieben, sobald ich wieder auf f18 umstelle (was für mich den noch wertvolleren Vorteil der fixen Platzierung von Devices auf den Screens der einzelnen Räume hat, ist die Historie futsch.
Oder übersehe ich eine Möglichkeit die Vorteile beider Welten zu "verheiraten".

Christian
PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

FHEMAN

Hi Christian,

ich habe nutze seit jeher, also noch vor der Einführung des neuen f18 Styles, den alten default Style, den ich auf meine Bedürfnisse angepasst habe.
Testweise habe ich eben einmal auf den f18 Standard umgestellt (d.h. die WEB Attribute CssFiles geleert und StyleSheetPrefix auf f18 gesetzt) - mit dem Ergebnis, dass sowohl die CMD Features als auch die Codemirror Darstellung funktionieren. Natürlich nicht in dem mehrzeiligen CMD bei Klick auf +. Aber das meinst Du nicht, oder?
Also aktuell würde ich daher vermuten, es liegt doch an etwas anderem.
Kannst Du mal mit F12 die Entwicklertools starten und in der Konsole schauen, ob dort Fehler erscheinen? 
NUC7i5 | PROXMOX | FHEM 6.2 | 1 HMLAND | 2 UART | HM | LMS | HIFIBERRY | DOORBIRD | BLINK | BUDERUS | HUE | ALEXA | MILIGHT | LUFTDATENINFO | MQTT| ZIGBEE2MQTT | INDEGO | ROBOROCK | SMA | APC | OPENWB