[gelöst] FHEMWEB Befehlszeile GET auf dummybutton legen / Popup

Begonnen von holle75, 20 Dezember 2016, 10:48:20

Vorheriges Thema - Nächstes Thema

holle75

Mmh, der Betreff ist schwierig ... und auch die Erklärung dazu.

Ich versuche den Befehl

get FileLog_Stromverbrauch_statistic - - 2016-01-01 2030-12-31 4:Xtender_AC_in.statEnergy_total__kWhMonthLast:

auf einen Dummy Button zu legen.

der og Befehl, wenn in die Befehlszeile eingegeben, generiert ein Popup mit dem Auszug von "Xtender_AC_in.statEnergy_total__kWhMonthLast" im genannten Log als Liste.

Diese Liste würde ich jetzt gerne auf einen Button legen. Hab einiges probiert, aber die Liste landet immer in meinem fhem-log. Wie überzeuge ich fhem davon, mir das in einem Popup darzustellen?

Kurz gesagt, wie forciere ich das Befehlszeileverhalten beim Klick auf einen Dummy?

Danke für Ideen und Grüße

H.

justme1968

schau mal ob es so geht:

mit setList im dummy ein passendes set kommando erzeugen
mit cmdalias das set auf dein get umbiegen
das set mit webCmd (oder devStateIcon) verwenden

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rudolfkoenig

Wird vmtl nicht klappen: www/pgm2/fhemweb.js Zeile 125-136 hat speziellen Code fuer die Get-Dropdown Befehle in der Detailansicht. Zeilen 159-176 pruefen auf get in der Eingabezeile. Alles andere duerfte als Fehlermeldung oben im schwarzen Rahmen fuer ein paar Sekunden erscheinen.

Fuer eine aehnliche Aufgabe habe ich hier eine leicht andere Lösung gezeigt, das koennte als Inspiration fuer eine Loesung dienen.

holle75

Danke euch beiden. Werde beides ausprobieren.

Merci

H.

justme1968

@rudi: doch. das sollte gehen. wir hatten vor einiger zeit fhemweb so umgebaut das es kein redirekt mehr gibt wenn ein set oder get kommando etwas zurück liefert sondern das popup auf geht. das funktikoniert sogar wenn man das eingabefeld oben auf der seite verwendet.

edit: grad probiert. funktioniert wie erwartet.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rudolfkoenig

Kannst du bitte dein Test anhaengen? Will staunen. :)

justme1968

#6
define alexa alexa
attr alexa webCmd getAsHTML

define xyz cmdalias set alexa getAsHTML AS {my $txt=fhem("get alexa interactionModel");; $txt =~ s/\n/<br>/g;; return $txt}


klicken und staunen :)

edit: da fällt mir auf: sollten wir nicht das ersetzen der \n noch automatisch machen?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

holle75

... habs jetzt mal so probiert:

define StromverbrauchmonatlichDummy dummy
attr StromverbrauchmonatlichDummy webCmd getAsHTML
attr StromverbrauchmonatlichDummy room Xtender
attr StromverbrauchmonatlichDummy sortby 10
attr StromverbrauchmonatlichDummy group Xtender


define Stromverbrauchmonatlichcmdalias cmdalias set StromverbrauchmonatlichDummy getAsHTML AS {my $txt=fhem("get FileLog_Stromverbrauch_statistic - - 2016-01-01 2030-12-31 4:Xtender_AC_in.statEnergy_total__kWhMonthLast:");; $txt =~ s/\n/<br>/g;; return $txt}
attr Stromverbrauchmonatlichcmdalias room Xtender
attr Stromverbrauchmonatlichcmdalias sortby 11
attr Stromverbrauchmonatlichcmdalias group Xtender


funktioniert. Nice

Genau, vor dem edit wäre meine Frage gewesen, was das " $txt =~ s/\n/<br>/g;; return $txt" macht. Ersetzung, verstehe.

Bekommt man die drei Fragezeichen beim Dummy noch irgendwie weg?

justme1968

hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

holle75

mmh, mit

define StromverbrauchmonatlichDummy dummy
attr StromverbrauchmonatlichDummy webCmd getAsHTML
attr StromverbrauchmonatlichDummy room Xtender
attr StromverbrauchmonatlichDummy sortby 15
attr StromverbrauchmonatlichDummy group Xtender
attr StromverbrauchmonatlichDummy stateFormat &nbsp;


wird sowohl mein sortby als auch mein stateFormat ignoriert. Steh ich jetzt gerade komplett auf dem Schlauch?

rudolfkoenig

Zitatklicken und staunen
Gemacht, getan. Habs im Code nachgeschaut, ist wohl FW_replaceLink bzw. Forum Issue #38875 dafuer verantwortlich.

Zitatedit: da fällt mir auf: sollten wir nicht das ersetzen der \n noch automatisch machen?
Wieso nicht, mir waere fuer sowas aber <pre> lieber.

justme1968

@holle75: stateFormat ist eh nicht korrekt weil dein dummy keine readings aktualisiert. du kannst einfach ein mal ein setreading alexa state &nbsp;; eingeben.

@rudi: ja. genau das ist die stelle die fürs set zuständig ist.

der diff wäre der hier:Index: fhemweb.js
===================================================================
--- fhemweb.js (revision 12852)
+++ fhemweb.js (working copy)
@@ -509,7 +509,7 @@
       if(!txt)
         return;
       if(ma[2].match(/=set/)) // Forum #38875
-        FW_okDialog(txt, el);
+        FW_okDialog('<pre>'+txt+'<pre>', el);
       else
         FW_errmsg(txt, 5000);
     });


damit wäre die stelle identisch zu den meisten anderen. für get gibt es noch eine sonderbehandlung für <html>...</html> die ist im set bis jetzt nicht vorgesehen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rudolfkoenig

Habs eingecheckt. Dein Beispiel von frueher funktioniert jetzt mit
Zitatdefine xyz cmdalias set alexa getAsHTML AS get alexa interactionModel

JoeALLb

Hm, seit diesem Update wird mir am Handy (Opera-Browser) oft
das SVG-Icon als Klartext angezeigt.
Ob es definitivi mit diesem Update zu tun hat, konnte ich nicht prüfen, aber zeitlich tritt es genau seit diesem Tag auf.
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270