Hallo zusammen,
ich möchte gerne eine Benachrichtigung verschicken, sobald eine neue Verbindung auf das FHEM WEB aufgebaut wurde. Im Hidden Room sehe ich zahlreiche Device vom Typ FHEMWEB, die auf die aktiven Verbindungen zurück schließen lassen.
WEB_127.0.0.1_35186 Connected
WEB_192.168.94.20_55920 Connected
WEB_192.168.94.20_55921 Connected
WEB_192.168.94.20_55934 Connected
WEB_192.168.94.20_55942 Connected
WEBphone_192.168.2.2_59513 Connected
Anbei ein List eines solchen Device:
Internals:
Authenticated 0
BUF
FD 29
FW_ID 3558
LASTACCESS 1589362464
NAME WEB_192.168.94.20_55920
NR 3568
NTFY_ORDER WEB_192.168.94.20_55920
PEER 192.168.94.20
PORT 55920
SNAME WEB
SSL
STATE Connected
TEMPORARY 1
TYPE FHEMWEB
WBCallback
canAsyncOutput 1
READINGS:
2020-05-13 11:33:18 state Connected
inform:
filter .*
since 1589362459
type raw
withLog 0
devices:
#FHEMWEB:WEB 1
Alexa 1
....<Aufzählung aller FHEM Device entfernt>....
Attributes:
room hidden
Im Event Monitor sehe ich nicht, dass ein Event erzeugt wird, wenn ein neues FHEMWEB Device für eine neue Verbindung angelegt wird. Somit kann ich wohl nicht einfach ein Notify erstellen und meine gewünschte Benachrichtigung erzeugen.
Wie ist es möglich, auf das Anlegen eines neuen FHEMWEB Device zu reagieren oder gibt es einen anderen Weg?
Vielen Dank vorab.
Hallo Felix,
Zitatoder gibt es einen anderen Weg?
Käme darauf an, was Du eigentlich bezweckst. Die devices werden ja immer angelegt, sobald Du per Browser ein neues Fenster öffnest. Willst Du da immer eine Benachrichtigung verschicken ?
Grüße Markus
Hallo Markus,
erstmal wäre ich froh, überhaupt einen Weg zu haben, um darauf zu reagieren. Ob ich dann für jedes neue Device (entspricht jedes neue Browser-Fenster) eine Benachrichtigung schicke, hätte ich mir dann überlegt und entsprechend realisiert.
Der Hintergrund ist, dass ich eine FHEM Instanz habe, die aus dem Internet erreichbar ist. Mittels Attribut "allowfrom" im Device "WEB" definiere ich, wer zugreifen darf. Alle nicht zugelassenen Quellen und Zugriffsversuche werden im FHEM Log protokolliert, das ist ok.
Nun möchte ich jedoch ad hoc informiert werden, wenn eine zugelassene Quelle eine Verbindung herstellt. Daher meine Idee auf ein neues FHEMWEB Device (oder ein entsprechendes Event) zu reagieren.
Danke,
Felix
da lag ich mit meiner nicht geäusserten Spekulation ja richtig. ;)
Du könntest doch das event vom allowed-device nutzen. Habs gerade nochmal probiert, weil ich da auch nicht tief drinstecke
events bei Erstanmeldung
2020-05-13 15:19:34 allowed mySecurity accepting connection from WEBexternal:meineClientIP:51855
2020-05-13 15:19:34 allowed mySecurity accepting connection from WEBexternal:meineClientIP:51856
2020-05-13 15:19:34 allowed mySecurity accepting connection from WEBexternal:meineClientIP:51857
2020-05-13 15:19:34 allowed mySecurity accepting connection from WEBexternal:meineClientIP:51858
2020-05-13 15:19:34 allowed mySecurity accepting connection from WEBexternal:meineClientIP:51859
Beim anschließenden erneuten Zugriff gab es dieses event
2020-05-13 15:25:00 allowed mySecurity accepting connection from WEBexternal:meineClientIP:51927
und WEBexternal_meineClientIP_51927 war dann das einzige verbliebene device.
Sowas suche ich, denke ich.
Wo bekomme ich das Event vom allowed-device her?
Ich habe aktuell im Default Device "WEB" das Attribut "allowfrom" gesetzt. Damit sperre ich alle Unberechtigten aus. Wenn nun eine berechtigte IP die FHEM URL aufruft (ohne Authentifizierung), dann erhalte ich kein Event im Event Monitor und auch kein Eintrag im FHEM Log.
Was muss ich dazu ggf. aktivieren?
Statt das "Erlaubte" (wie früher) bei FHEMWEB einzustellen halt (neu, wobei so neu auch nicht mehr ;) ) ein allowed Device anlegen und dort entsprechend parametrisieren und dem FHEMWEB zuweisen...
https://wiki.fhem.de/wiki/Allowed
Gruß, Joachim
Ha, da sieht man mal wieder, wie oberflächlich man manchmal liest. Aus allowfrom hatte ich im Kopf sofort das allowed-device gemacht und mir war gar nicht bewusst, dass Felix das noch gar nicht implementiert hat. ;D
Grüße Markus