FHEM Forum

FHEM => Frontends => Thema gestartet von: holle75 am 20 Dezember 2016, 10:48:20

Titel: [gelöst] FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: holle75 am 20 Dezember 2016, 10:48:20
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.
Titel: Antw:FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: justme1968 am 20 Dezember 2016, 10:55:39
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
Titel: Antw:FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: rudolfkoenig am 20 Dezember 2016, 11:35:19
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 (https://forum.fhem.de/index.php/topic,62603.msg540327.html#msg540327) eine leicht andere Lösung gezeigt, das koennte als Inspiration fuer eine Loesung dienen.
Titel: Antw:FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: holle75 am 20 Dezember 2016, 11:55:57
Danke euch beiden. Werde beides ausprobieren.

Merci

H.
Titel: Antw:FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: justme1968 am 20 Dezember 2016, 11:59:53
@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.
Titel: Antw:FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: rudolfkoenig am 20 Dezember 2016, 12:04:37
Kannst du bitte dein Test anhaengen? Will staunen. :)
Titel: Antw:FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: justme1968 am 20 Dezember 2016, 12:13:31
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?
Titel: Antw:FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: holle75 am 20 Dezember 2016, 12:36:21
... 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?
Titel: Antw:(gelöst) FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: justme1968 am 20 Dezember 2016, 12:38:55
stateFomat auf &nbsp; setzen.
Titel: Antw:(gelöst) FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: holle75 am 20 Dezember 2016, 12:53:51
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?
Titel: Antw:[gelöst] FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: rudolfkoenig am 20 Dezember 2016, 16:55:13
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.
Titel: Antw:[gelöst] FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: justme1968 am 20 Dezember 2016, 21:12:43
@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.
Titel: Antw:[gelöst] FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: rudolfkoenig am 22 Dezember 2016, 18:16:15
Habs eingecheckt. Dein Beispiel von frueher funktioniert jetzt mit
Zitatdefine xyz cmdalias set alexa getAsHTML AS get alexa interactionModel
Titel: Antw:[gelöst] FHEMWEB Befehlszeile GET auf dummybutton legen / Popup
Beitrag von: JoeALLb am 24 Dezember 2016, 10:26:06
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.