Hallo Rudi!
Die Attribute allowedCmds und allowedRegexp funktionieren nicht so wie erwartet....
die beteiligten devices:
Internals:
CONNECTS 11882
DEF 7073 global
FD 7
FUUID 61b109aa-f33f-f1ab-4a69-23de9c91abda1b64
NAME telnetPortKNX
NR 15
PORT 7073
STATE Initialized
TYPE telnet
.attraggr:
.attrminint:
READINGS:
2022-04-29 09:42:30 state Initialized
Attributes:
allowfrom (192.168.5|127.0.0.1)
room Global
und:
Internals:
.allowedCommands set,get
.allowedDevicesRegexp (KNX_|Jalousie).*
CFGFN
DEF
FUUID 626a65df-f33f-f1ab-6317-ff12b684d74c204e
NAME allowed_telnetPortKNX
NR 5317
STATE validFor:telnetPortKNX
TYPE allowed
.attraggr:
.attrminint:
.validFor:
telnetPortKNX 1
READINGS:
2022-04-29 09:40:09 state validFor:telnetPortKNX
Attributes:
allowedCommands set,get
allowedDevicesRegexp (KNX_|Jalousie).*
room KNX
validFor telnetPortKNX
In diesem Setup funktioniert ein list, ein set eines beliebigen devices, eigentlich jeder command.
Authenticate / Passwort verwende ich hier keines.
Das Problem dürfte in dem Ausdruck (ca. line 100 in allowed.pm):
return 0 if(AttrVal($mName, "allowedIfAuthenticatedByMe",$featurelevel>6.0) &&
(!$cl->{AuthenticatedBy} ||
$cl->{AuthenticatedBy} ne $mName));
liegen, wenn ich den auskommentiere funktioniert alles wie erwartet.
Allerdings durchschaue ich diesen Teil des codes absolut nicht 8)
und wenn ich mir was wünschen dürfte..... ein attr allowedType bzw. <devspec> (z.b: 'TYPE=MQTT2_Device') als allowed device argument.
l.g. erwin
PS: Hat damit zwar nicht unmittelbar zu tun, nur als Erklärung was ich damit mache:
Auf einem 2ten FHEM läuft ein FHEM2FHEM RAW device, dass auf diese Telnet Instanz verbindet. Auf diesem FHEM ist dann IO-Device während auf dem 2ten FHEM die logischen devices sind.
Funktioniert bestens, nur wollte ich jetzt die telnet Instanz etwas einschränken....
Hi Rudi,
ich hab ein quick&dirty Trick gefunden, geht so:
attr <alloweddevice> allowedIfAuthenticatedByMe 0
ist zwar nicht intuitiv, funktioniert aber!
l.g. erwin
Zitatist zwar nicht intuitiv, funktioniert aber!
Das mag sein, und die Doku war auch nicht klar, insb. dass sie nach Aenderung der Voreinstellung nicht angepasst wurde.
Ich habe die Doku jetzt angepasst.
Kurz: falls kein Benutzername/Passwort gesetzt ist, muss "attr allowed authenticatedByMe 0" gesetzt sein.
OK, Danke!
Ich hab auf gelöst gesetzt!
l.g. erwin