attr WEB menuEntries: geht auf einmal nicht mehr

Begonnen von M_I_B, 23 Dezember 2017, 16:01:10

Vorheriges Thema - Nächstes Thema

M_I_B

... also so langsam fliegt mir der Draht aus der Mütze  >:(

attr WEB menuEntries Reload \
MyUtils,cmd=reload+99_myUtils.pm, \
Reload,cmd=rereadcfg, \
Restart,cmd=shutdown+restart, \
Backup,cmd=set backup_dy on, \
UCheck,cmd=update+check, \
Update,cmd=update, \
HMpair,cmd=set VCCU hmPairForSec 300, \
MXpair,cmd=set Max_Eco pairmode 300

Hat bis gestern seit ewigen Zeiten einwandfrei funktioniert; gestern damit noch den letzten MAX- Taster angelernt. Von jetzt auf gleich sind Backup, HMpair und MXpair nicht mehr aufrufbar... Das gibt es doch gar nicht! Auch Versuche die Leerzeichen mit "%20" oder "+" zu füllen fruchten nicht...

Was ist denn hier schon wieder los? Jemand eine Idee?

rudolfkoenig

Wenn ich das in eine "leere" fhem.cfg einfuege, dann funktionieren alle Befehle bis auf set VCCU und set MaxEco, da kommt please define XXX first.

M_I_B

#2
... is ja komisch  :o :o :o :o :o
Wie gesagt ging das gestern auch noch bei mir, und zwischenzeitlich hatte ich an der fhem.cfg nichts gemacht.
Bei den benannten Einträgen kommt noch nicht mal dieses kleine MouseOver mit der ANzeige des Aufrufes/URL. Es wird also bei mir gar nicht erst als Link/CMD erkannt ...

Habe mir mal gerade den Quelltext gezogen. Da scheint alles in Ordnung... Und nu verstehe ich gar nix mehr  :'( :'( :'(

<table class="room roomBlock4">
<tr><td><div class="menu_Reload___MyUtils"><a href="/fhem?cmd=reload+99_myUtils.pm">Reload
MyUtils</a></div></td>
</tr>
<tr><td><div class="menu____Reload"><a href="/fhem?cmd=rereadcfg">
Reload</a></div></td>
</tr>
<tr><td><div class="menu____Restart"><a href="/fhem?cmd=shutdown+restart">
Restart</a></div></td>
</tr>
<tr><td><div class="menu____Backup"><a href="/fhem?cmd=set backup_dy on">
Backup</a></div></td>
</tr>
<tr><td><div class="menu____UCheck"><a href="/fhem?cmd=update+check">
UCheck</a></div></td>
</tr>
<tr><td><div class="menu____Update"><a href="/fhem?cmd=update">
Update</a></div></td>
</tr>
<tr><td><div class="menu____HMpair"><a href="/fhem?cmd=set VCCU hmPairForSec 600">
HMpair</a></div></td>
</tr>
<tr><td><div class="menu____MXpair"><a href="/fhem?cmd=set Max_Eco pairmode 300">
MXpair</a></div></td>
</tr>
</table>

marvin78


M_I_B

... klar doch ... ALle Caches geleert, FF, MSIE und (gerade noch runtergeladen) Chrome zeigen alle ein identisches Verhalten. Auch auf dem Tablet mit FF und Chrome. Ist also vollkommen Browser- unabhängig ...

marvin78

Vielleicht entfernt irgendein fehlgeleiteter Werbeblocker oder Virenscanner mit einer solchen Funktion die Links?

M_I_B

... kann ich ausschließen (siehe weiter vorne im Thread). Es machen alle Browser auf WIN und Android, unabhängig von aktivierten oder deaktivierten Plugins (mein MSIE hat gar keine Plugins aktiviert, Chrome frisch installiert in Minimalconfig ohne Plugins, Androiden ähnlich).
Auffällig ist, das davon nur jene Menüeinträge betroffen sind, welche Leerzeichen beinhalten, wie z.B. beim Feuern von SET- Befehlen (set backup_dy on / set VCCU hmPairForSec 600 / set Max_Eco pairmode 300). Daher bin ich ja auch auf die Idee gekommen, die Leerzeichen durch %20 resp + zu ersetzen, was aber auch nicht zielführend war

DeeSPe

Leerzeichen in den cmd müssen mit + ersetzt werden, wie Du es ja bereits schon richtig bei z.B. "Restart,cmd=shutdown+restart" verwendest.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

M_I_B

#8
... ja, sagte ich ja, das es auch nichts geholfen hat. Zudem hat es vorher auch ohne die + funktioniert ...

Aktuell:

...
attr WEB longpollSVG 0
attr WEB menuEntries Reload \
MyUtils,cmd=reload+99_myUtils.pm, \
Reload,cmd=rereadcfg, \
Restart,cmd=shutdown+restart, \
Backup,cmd=set+backup_dy+on, \   <-- Funktioniert nicht
UCheck,cmd=update+check, \
Update,cmd=update, \
HMpair,cmd=set+VCCU+hmPairForSec+600, \  <-- Funktioniert nicht
MXpair,cmd=set+Max_Eco+pairmode+300     <-- Funktioniert nicht
attr WEB plotfork 1
attr WEB room hidden
...

marvin78

Ein vernünftiges list wäre besser gewesen...

Workaround: Mach die jeweils einen cmdalias für alle Befehle, die mit Leerzeichen nicht funktionieren.

M_I_B

... ich habe mal ein bisschen experimentiert ... Jetzt kommt es ganz schräg!

Ich habe am Ende einen Menüpunkt angehängt:

NixDummy,cmd=Garnix                           <- geht
NixDummy,cmd=Garnix Nothing              <- geht
NixDummy,cmd=Garnix Nothing 500       <- geht
NixDummy,cmd=set Garnix Nothing 500 <- GEHT NICHT

Ich habe das noch mit einigen anderen beispielen probiert mit selbem Ergebnis: Sobald vorne der SET- Befehl auftaucht, funktioniert der Link nicht mehr, wobei es keine Rolle spielt, ob Leerzeichen als solche verwendung finden oder durch %20 oder + ersetzt werden ...

:o :o :o :o :o :o :o :o :o

automatisierer

ich kann eingeben was ich will,es funktioniert...

attr WEB menuEntries Reload_MyUtils,cmd=reload+99_myUtils.pm,Reload,cmd=rereadcfg,Restart,cmd=shutdown+restart,Backup,cmd=set+backup_dy+on,UCheck,cmd=update+check,Update,cmd=update,HMpair,cmd=set+VCCU+hmPairForSec+600,MXpair,cmd=set+Max_Eco+pairmode+300

gib es mal so ein, ohne die ganzen Tabs, Leerzeichen und Zeilenumbrüche. Und am besten übers webif...

M_I_B

#12
... gerade so gemacht wie von Dir vorgeschlagen. Vorger sogar mal dsa Attribut gelöscht, gespeichert und Neustart. Dann im WEBif händisch neu eingetragen ...

Keine Änderung. Alle Menübefehle mit einem SET funktionieren nicht ...

... und für Marvin ein List des WEB (aktueller Zustand nach obigem Edit):
Internals:
   CONNECTS   1
   DEF        8083 global
   FD         7
   NAME       WEB
   NR         15
   NTFY_ORDER 50-WEB
   PORT       8083
   STATE      Initialized
   TYPE       FHEMWEB
Attributes:
   JavaScripts codemirror/fhem_codemirror.js pgm2/clock.js
   codemirrorParam { "theme":"blackboard", "lineNumbers":true }
   confirmDelete 0
   csrfToken  none
   editConfig 1
   endPlotNow 1
   fwcompress 1
   hiddenroom AlarmRoom
   longpoll   1
   longpollSVG 0
   menuEntries RelMyU,cmd=reload+99_myUtils.pm,RelCFG,cmd=rereadcfg,Restart,cmd=shutdown+restart,Backup,cmd=set+backup_dy+on,UCheck,cmd=update+check,Update,cmd=update,HMpair,cmd=set+VCCU+hmPairForSec+600,MXpair,cmd=set+Max_Eco+pairmode+300,NixDummy,cmd=set GarNix nothing 500
   plotfork   1
   room       hidden
   sortRooms  4* 3* 2* 1* 0* 5* 6* 7* 8* 9*
   stylesheetPrefix dark

rudolfkoenig

ZitatKeine Änderung. Alle Menübefehle mit einem SET funktionieren nicht ...
fhemweb.js ersetzt alle set-Links auf der Seite mit einem JavaScript Aufruf, erstens damit die Seite deswegen nicht neu geladen wird, und zweitens damit man den csrf-Token nicht haendisch hinzufuegen muss. Ich vermute bei dir geht hier was schief, und ich hoffe, dass in der JS-Konsole was zu sehen ist. Ich vermute, dass dein anderes Problem mit diesem zusammenhaengt.

Der Workaround von marvin78 sollte funktionieren.

M_I_B

#14
... ahhh ok ... Diese Interna mit dem Ersetzen war mir unbekannt ... Und ja, Du kannst mich motivieren; habe nette Geschenke bekommen und bin fröhlich  ;D ;D ;D

Der Reihe nach "Check Update, HMpair, MXpair, Backup" angeklickt:

loading pref showConsoleLogs before prefs were initialised, you will not get the correct result
content-script.bundle.js:333:7
19:22:56.910 Loading script /fhem/pgm2/station-clock.js
fhemweb.js:419:5
19:22:56.998 Inform-channel opened (HTTP) with filter
fhemweb.js:419:5
19:22:57.896 Rcvd:
fhemweb.js:419:5
19:23:11.139 FW_cmd:/fhem?cmd=set+VCCU+hmPairForSec+600&XHR=1
fhemweb.js:419:5
19:23:12.091 FW_cmd:/fhem?cmd=set+Max_Eco+pairmode+300&XHR=1
fhemweb.js:419:5
19:23:12.590 FW_cmd:/fhem?cmd=set+backup_dy+on&XHR=1
fhemweb.js:419:5



          loading pref showConsoleLogs before prefs were initialised, you will not get the correct result  content-script.bundle.js:333
19:26:29.712 Loading script /fhem/pgm2/station-clock.js  fhemweb.js:419
19:26:29.809 Inform-channel opened (HTTP) with filter   fhemweb.js:419
19:26:30.776 Rcvd:   fhemweb.js:419
19:26:33.360 Rcvd: ["HKT-HM6TH09.batteryLevel","<html><svg class=\u0022icon measure_battery_50 F5FF10\u0022 data-txt=\u002250\u0022    xmlns:dc=\u0022h...(13722)  fhemweb.js:419
19:26:33.362 Rcvd: ["HKT-HM6TH09.batteryLevel-ts","2017-12-25 19:26:32","2017-12-25 19:26:32"]  fhemweb.js:419
19:26:33.362 Rcvd: ["HKT-HM6TH09_4.ValvePosition","<html><svg class=\u0022icon sani_heating_level_0 002AE0\u0022 data-txt=\u00220\u0022    xmlns:dc=\u0...(18505)  fhemweb.js:419
19:26:33.364 Rcvd: ["HKT-HM6TH09_4.ValvePosition-ts","2017-12-25 19:26:32","2017-12-25 19:26:32"]  fhemweb.js:419
19:26:33.364 Rcvd: ["HKT-HM6TH09_4.controlMode","<html><a style=\u0022cursor:pointer\u0022 onClick=\u0022FW_cmd('/fhem?XHR=1&cmd=set HM6TH09_4 controlM...(5879)  fhemweb.js:419
19:26:33.365 Rcvd: ["HKT-HM6TH09_4.controlMode-ts","2017-12-25 19:26:32","2017-12-25 19:26:32"]  fhemweb.js:419
19:26:33.366 Rcvd: ["HKT-HM6TH09_4.measured-temp","<html><div style=\u0022color:rgb(251,63,11);\u0022>21.7 °C</div></html>","<html><div style=\u0022col...(179)  fhemweb.js:419
19:26:33.366 Rcvd: ["HKT-HM6TH09_4.measured-temp-ts","2017-12-25 19:26:32","2017-12-25 19:26:32"]  fhemweb.js:419
19:26:33.366 Rcvd: ["HKT-HM6TH09_4.desired-temp","<html>17.0 °C</html>","<html>17.0 °C</html>"]  fhemweb.js:419
19:26:33.367 Rcvd: ["HKT-HM6TH09_4.desired-temp-ts","2017-12-25 19:26:32","2017-12-25 19:26:32"]  fhemweb.js:419
19:26:33.368 Inform-channel opened (HTTP) with filter room=300%2d%2d%2dErdgeschoss  fhemweb.js:419
19:26:33.440 Rcvd:   fhemweb.js:419
19:26:34.623 FW_cmd:/fhem?cmd=set+VCCU+hmPairForSec+600&XHR=1  fhemweb.js:419
19:26:36.256 FW_cmd:/fhem?cmd=set+Max_Eco+pairmode+300&XHR=1  fhemweb.js:419
19:26:36.980 FW_cmd:/fhem?cmd=set+backup_dy+on&XHR=1


Ich habe mal auch das nicht relevante drin gelassen ...

EDIT sagt... Dsa ist mir gerade noch über den Weg gelaufen; keine Ahnung, was das bedeutet ...


          Error: Promised response from onMessage listener at u</<.value</<@moz-extension://050a5627-0a38-4632-b5ee-7c07f585d63c/dist/background.js:20:419595 went out of scope undefined
Error: WebExtension context not found!  ExtensionParent.jsm:830:13
NS_ERROR_INVALID_CONTENT_ENCODING: Component returned failure code: 0x804b001b (NS_ERROR_INVALID_CONTENT_ENCODING) [nsIStreamListener.onDataAvailable] network-monitor.js:658
Error: Promised response from onMessage listener at u</<.value</<@moz-extension://050a5627-0a38-4632-b5ee-7c07f585d63c/dist/background.js:20:419595 went out of scope undefined
Error: Promised response from onMessage listener at u</<.value</<@moz-extension://050a5627-0a38-4632-b5ee-7c07f585d63c/dist/background.js:20:419595 went out of scope undefined
Error: WebExtension context not found!  ExtensionParent.jsm:830:13
NS_ERROR_INVALID_CONTENT_ENCODING: Component returned failure code: 0x804b001b (NS_ERROR_INVALID_CONTENT_ENCODING) [nsIStreamListener.onDataAvailable] network-monitor.js:658
Error: Promised response from onMessage listener at u</<.value</<@moz-extension://050a5627-0a38-4632-b5ee-7c07f585d63c/dist/background.js:20:419595 went out of scope undefined
Error: Promised response from onMessage listener at u</<.value</<@moz-extension://050a5627-0a38-4632-b5ee-7c07f585d63c/dist/background.js:20:419595 went out of scope