FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: cocojambo am 11 April 2017, 11:07:34

Titel: [gelöst] Event Monitor - Einige Events ignorieren bzw ausblenden
Beitrag von: cocojambo am 11 April 2017, 11:07:34
Ich hatte bisher (FHEM 5.7) Events so gefiltert das sie beim Auftreten ignoriert wurden:

define EventMonitor weblink htmlCode { '<a href="http://192.168.115.72:8086/fhem?cmd=style%20eventMonitor ^(?:(?!Solarlog)(?!AgroWeather)(?!mySL).)*$"><img src="/fhem/icons/Event_Monitor_txt" height="24" width="96"></a>' }

Den Code habe ich aus diesem alten Thread gehabt: https://forum.fhem.de/index.php/topic,12398.0.html (https://forum.fhem.de/index.php/topic,12398.0.html)

Das hat, wie gesagt bis Fhem 5.7. wunderbar geklappt. Ab FHEM 5.8 funktioniert das nicht mehr und es erscheint ein weißer Bildschirm. Ich bin dann hiingegangen und habe den Event Monitor normal aufgerufen und dann die Url kopiert und dann so eingefügt:

define EventMonitor weblink htmlCode { '<a href="http://192.168.115.72:8083/fhem?cmd=style%20eventMonitor&fwcsrf=%3CDMP210%3E"><img src="/fhem/icons/Event_Monitor_txt" height="24" width="96"></a>' }


So läßt sich jetzt der Event Monitor wunderbar aufrufen, jedoch kann ich den Filter,^(?:(?!Solarlog)(?!AgroWeather)(?!mySL).)*$ der einige Events ausblenden soll, nicht mehr einfügen. Zumindest weiß ich nicht wie.
Kann mir einer sagen wie ich das jetzt anstellen muß?
Gruß aus Köln
Norbert
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden
Beitrag von: Phill am 12 April 2017, 01:14:11
Schuld das der link nicht mehr geht ist vermutlich der neu eingeführte csrfToken.

Wie sah denn die zeile aus nachdem du den filter eingefügt hast? Versuche mal fwcsrf nach vorne zu setzen.
http://192.168.115.72:8083/fhem?fwcsrf=%3CDMP210%3E&cmd=style%20eventMonitor ^(?... usw.
Wobei ich nicht sicher bin ob der link dauerhaft funktioniert. Siehe csrfToken.
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden
Beitrag von: cocojambo am 12 April 2017, 22:02:52
@Phill
Dein Vorschlag war klasse, ein bisschen "rumgebastelt" und dann ging es so.

define EventMonitor weblink htmlCode { '<a href="http://192.168.115.72:8086/fhem?fwcsrf=csrf_42482517066769&cmd=style%20eventMonitor ^(?:(?!Solarlog)(?!AgroWeather)(?!mySL).)*$"><img src="/fhem/icons/Event_Monitor_txt" height="24" width="96"></a>' }

Das csrfToken mußte ich nur ändern, weil der Zugriff über enen anderen Port passiert.

Gruß
Norbert
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden [gelöst]
Beitrag von: justme1968 am 12 April 2017, 22:17:45
nein. das token ändert sich bei jedem fhem start.

z.b. hier: https://forum.fhem.de/index.php/topic,67543.msg590584.html#msg590584 (https://forum.fhem.de/index.php/topic,67543.msg590584.html#msg590584) steht wie man automatisch das korrekte token in einen weblink bekommt.

gruss
  andre
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden [gelöst]
Beitrag von: Otto123 am 12 April 2017, 22:42:55
bzw. gibt es auch einen Wikiartikel dazu -> https://wiki.fhem.de/wiki/CsrfToken-HowTo

Gruß Otto
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden [gelöst]
Beitrag von: justme1968 am 12 April 2017, 22:44:37
@Otto123: die verwendung mit weblink wird im wiki leider nicht beschrieben. vielleicht magst du das noch ergänzen :)

gruss
  andre
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden [gelöst]
Beitrag von: Otto123 am 12 April 2017, 22:55:55
Hi Andre,
na das mach ich doch gerne  8)

War mir vorhin nicht sofort klar, ist ja quasi "intern" und damit nochmal etwas anders.

Wobei ich primär dran gedacht habe, dass API Web ja vielleicht auch eine einfache Alternative für Weblinks wäre?

Gruß Otto
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden [gelöst]
Beitrag von: cocojambo am 13 April 2017, 15:51:48
Ich habe aber in einem anderen Beitrag von Betateichen gelesen, das es ausreichen würde dieses csrfToken so in einen http Aufruf einzubauen:
fwcsrf=<csrfToken>
Geht aber nicht.
Ich habe dann probiert das csrfToken einfach als Attribut fest anzugeben:
attr WEB csrfToken <DMP210>
Das funktioniert bis jetzt auch nach einem kompletten Neustart.
define EventMonitor weblink htmlCode { '<a href="http://192.168.115.72:8086/fhem?fwcsrf=<DMP210>&cmd=style%20eventMonitor ^(?:(?!Solarlog)(?!AgroWeather)(?!mySL).)*$"><img src="/fhem/icons/Event_Monitor_txt" height="24" width="96"></a>' }

Obs richtig ist, weiß ich nicht, so gut kenne ich mich nicht aus, aber wie gesagt es geht im Moment, auch nach einem Stromausfall, wie letzte Nacht hier in Köln Dellbrück.
Wenns irgendwann nicht mehr geht muß ich bei Wiki oder hier im Board wieder nachforschen oder nachfragen.

Gruß aus Köln
Norbert
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden [teilgelöst]
Beitrag von: Otto123 am 13 April 2017, 16:09:03
Hallo Norbert,

und "API Web" also ohne Token ist keine Option?

Gruß Otto
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden [teilgelöst]
Beitrag von: cocojambo am 14 April 2017, 18:30:46
Wenn ich wüßte wie das geht würde ich es wahrscheinlich anwenden. Aber wie gasagt ich stecke nicht all zu tief in der Materie. Wenn ich aber ein Beispiel hätte wie das geht und was damit gemeint ist, würde ich es auf jeden mal probieren und mich damit beschäftigen.
gruß
norbert
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden [teilgelöst]
Beitrag von: Otto123 am 16 April 2017, 14:44:31
Hallo Norbert,

habe ich das so unverständlich beschrieben?  :-[ -> https://wiki.fhem.de/wiki/CsrfToken-HowTo#API_Web

Gruß Otto
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden [teilgelöst]
Beitrag von: cocojambo am 24 April 2017, 22:16:51
@Otto123

Doch, Beitrag ist OK und verständlich.
Ich habe mich dann für die Version entschieden:
attr WEB.* csrfToken <beliebige Folge aus Zeichen und Zahlen>
Erscheint mir am verständlichsten und am einfachsten.
Gruß
Norbert
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden
Beitrag von: cocojambo am 26 April 2017, 10:48:27
Ich muß doch noch mal melden, leider. Ich habe das csrfToken mit dem festen Wert eingestellt.
attr WEB.* csrfToken <DMP210>
Hat auch wunderbar funktioniert, bis ich den RasPi mal neu starten mußte. Als ich danach ein Device in FHEM löschen wollte ging es los. In der Adresszeile stand dann das:
http://192.168.115.72:8083/fhem?cmd=delete CUL_WS_3&fwcsrf=<DMP210>
Und es war vorbei. Alle Seitenaufrufe lieferten einen weißen Bildschirm. Also das mit dem festen csrfToken Wert geht irgendwie nicht wirklich.
....oder ich hab es immer noch nicht verstanden.......?

Ich bin dann hingegangen und habe als Rettung schnell in die fhem.cfg eingegeben
attr WEB.* csrfToken none
Hat auch nichts gebracht. Im Moment komme ich in einige Menue Punkte nicht mehr rein, Edit Files zB sieht dann auch so aus:
http://192.168.115.72:8083/fhem?cmd=style list&fwcsrf=<DMP210>
Auch Event Monitor etc. machen das Gleiche.

Gibt es vielleicht irgend etwas was wirklich funktioniert, auch dauerhaft?

Gruß aus Köln
Norbert




Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden
Beitrag von: Otto123 am 26 April 2017, 21:15:05
Hallo Norbert,

attr WEB.* ist bestimmt keine Befehl den ich direkt in die fhem.cfg schreiben würde, aber ich würde sowieso nicht direkt da rein schreiben. Egal - ich weiß nicht ob und was das bewirkt.

Ich würde vom Gefühl her auch nicht den csrfToken mit spitzen Klammern schreiben (Ich denke es dürfen nur Zeichen und Zahlen - also keine Sonderzeichen sein. Ich weiß es aber nicht genau). Falls Du meinst es steht so im Wiki, dann habe ich dort die spitzen Klammern nur verwendet, da diese ein allgemeiner Synonym sind um darzustellen das hier der Text so nicht verwendet werden kann und man etwas sinnvolles reinschreiben muss (cut & paste funktioniert nicht, man muss nachdenken). Die spitzen Klammern selbst sind wegzulassen.

Gruß Otto
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden
Beitrag von: cocojambo am 27 April 2017, 20:25:02
Hallo Otto,

ich weiß, das das mit dem direktem Editieren der fhem.cfg bei vielen keinen Anklang findet und auch nicht so richtig ist.
Spitze Klammern habe ich mal weggelassen und probiere mal ob es jetzt geht. Den Befehl attr WEB.* habe ich aus einem Beitrag abgegeitet, in dem der Befehl" attr WEB.* csrfToken none" als Übergangslösung vorgeschlagen wurde (ich meine sogar von Dir?). Damit meine ich kann man dann alle Webinstanzen in einem erfassen (WEB, WEBhome, WEBportable,etc).

Gruß
Norbert
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden
Beitrag von: Otto123 am 28 April 2017, 22:13:52
Naja ein attr WEB.* ist was für die Kommandozeile wollte ich sagen. Damit werden alle WEB.* Instanzen modifiziert. In der fhem.cfg würden dann damit immer alle WEB.* Instanzen beim Start "geflashed", das ergibt vielleicht bloß ein endloses rotes Fragezeichen.

In der Kommandozeile sollte er einfach alle Instanzen auf kein csrfToken stellen. Ich habe schon mehrfach gelesen, dass dies nicht funktionieren soll. Bei mir hat es immer funktioniert. Ich kann aber aktuell nichts testen.

Gruß Otto
Titel: Antw:Event Monitor - Einige Events ignorieren bzw ausblenden
Beitrag von: cocojambo am 02 Mai 2017, 16:14:30
Danke Otto,
ich habe ja auch wieder das csrfToken auf einen festen Wert zurück gesetzt und bisher geht es ja auch.
Ich hoffe es bleibt so.
Gruß
Norbert