FHEM Forum

FHEM => Frontends => FHEMWEB => Thema gestartet von: RPort am 14 September 2026, 11:02:17

Titel: Longpoll berücksichtigt nicht allowedDevicesRegexp
Beitrag von: RPort am 14 September 2026, 11:02:17
Ich nutze Homebridge (mit Homekit) zur Steuerung mit Siri.
Beim longpoll im Homekit kommen Json-Syntaxfehler - genauso (nur) im Raum everything in FHEM.
Ich habe versucht, den longpoll-filter in Homekit zu setzen, um nur die für Homekit relevanten Devices zu übertragen- das ist mir nicht gelunden. (Hier offtopic- aber, falls jemand weiß wie das geht- bitte Hinweise)

-> Die Filterung wollte ich in FHEM vornehmen.
Dazu ein FHEMWEB-Device names WEB_Homekit definiert sowie ein allowed-Device names allowed4Homekit.
In diesem allowed wollte ich die Devices ausschließen, die keinesfalls in Homekit benötigt werden bzw., die ich in Verdacht habe, den JSON-Fehler im longpoll zu verursachen:
z.B. mit attr allowed4Homekit allowedDevicesRegexp ((?!SolarForecast).)*
-> Die so ausgeschlossenen Devices werden in everything im WEB_Homekit nicht mehr angezeigt-> ok
-> Der JSON-Fehler tritt aber weiterhin bei Anzeige von everything im WEB_Homekit auf
-> Debugger zeigt in Zeile 1343 in fhemweg.js - var d = JSON.parse(l); - 
   dass die Daten für das ausgeschlossene Device weiterhin im longpoll übertragen werden (und den Fehler verursachen)

=> Nach meinem Verständnis soll allowed die Datensicherheit gewährleisten. Das ist verletzt, wenn man die Daten des longpoll im Debugger abgreifen kann.
Titel: Aw: Longpoll berücksichtigt nicht allowedDevicesRegexp
Beitrag von: rudolfkoenig am 14 September 2026, 12:08:28
ZitatDas ist verletzt, wenn man die Daten des longpoll im Debugger abgreifen kann.
Danke fuer den Hinweis, habs gefixt und eingecheckt.

Bleibt noch das Problem des JSON Fehlers: kannst Du uns bitte die dazugehoerigen Daten zeigen?
Titel: Aw: Longpoll berücksichtigt nicht allowedDevicesRegexp
Beitrag von: RPort am 15 September 2026, 10:54:51
Hallo Rudolf,
mein Test war negativ:

- ich habe einen update gemacht. Dabei wurde auch FHEMWEB aktualisiert. Shutdown restart.

1. Test:
attr allowed4Homekit allowedDevicesRegexp (?!SolarForecast).*
-> In der Oberfläche erscheinen alle Devices außer Solarforecast  - ok
-> Variable "input" im debugger enthält aber auch Events von Solarforecast- nicht ok - oder ist mein regex fehlerhaft?

2. Test:
attr allowed4Homekit allowedDevicesRegexp nothing
Es gibt kein Device "nothing", d.h. es sollten keinerlei Events im longpoll erscheinen
-> In der Oberfläche erscheinen keine Devices - ok
-> Variable "input"  enthält Events für alle? Devices - nicht ok

3. Test:
attr allowed4Homekit allowedDevices nothing
-> In der Oberfläche erscheinen keine Devices - ok
-> Debugger hält nicht mehr am Breakpoint - longpoll schickt anscheinend keine Daten mehr - ok

4. Test:
attr allowed4Homekit allowedDevices <comma separated list of device names>
-> In der Oberfläche erscheinen nur die gelisteten Devices
-> Variable "input"  enthält Events für  nicht gelistete Devices - nicht ok
Titel: Aw: Longpoll berücksichtigt nicht allowedDevicesRegexp
Beitrag von: rudolfkoenig am 15 September 2026, 19:44:00
Vermutlich habe ich was uebersehen.
Jetzt muesste ich noch verstehen, was Du mit Variable "input" meinst.
Titel: Aw: Longpoll berücksichtigt nicht allowedDevicesRegexp
Beitrag von: RPort am 15 September 2026, 21:35:43
Ich meine die Zeile 1318 (input = FW_pollConn.responseText;) in fhemweb.js
Titel: Aw: Longpoll berücksichtigt nicht allowedDevicesRegexp
Beitrag von: RPort am 15 September 2026, 23:00:47
Ich habe nun wie folgt die erlaubten Devices aufgezählt
attr allowed4Homekit  allowedDevices  LichtInEinfahrt,...

KG_Kellertreppe_HEIZKTH  ist danach kein erlaubtes Device

Ich habe aufgerufen:  https://<raspberry>:<xxxx>/fhem?inform=type=status;addglobal=1;filter=.*;since=null;fmt=JSON
-> Die ersten 5 Zeilen des Ergebnisses zeigen Daten zu Devices, die laut allowed ausgeschlossen sein sollten - später tauchen diese Devices aber nicht mehr auf  --?
-> Danach kommen u.a. Daten zu  ReadingGroups - dabei erscheinen auch Daten zu nicht erlaubten Devices.
   - Die ReadingGroups selbst sollten eigentlich ganz ausgeschlossen sein - sie sind nicht bei allowed gelistet.
   - Es gibt Einträge zu  nicht erlaubten Devices, z.B. KG_Kellertreppe_HEIZKTH
     Beispiel: ReadingGroup ist Heizungsuebersicht
   ["Heizungsuebersicht-KG_Kellertreppe_HEIZKTH.measured-temp","<html>20.9</html>","<html>20.9</html>"]
Titel: Aw: Longpoll berücksichtigt nicht allowedDevicesRegexp
Beitrag von: rudolfkoenig am 16 September 2026, 10:33:09
Das Beschriebene hoert sich nach einem ReadingsGroup Problem an, und ich kenne dieses Modul nur vom Hoerensagen.
Ich fuerchte ich brauche eine konkrete Konfiguration, was ich testen kann.
Titel: Aw: Longpoll berücksichtigt nicht allowedDevicesRegexp
Beitrag von: RPort am 16 September 2026, 12:08:31
Ich habe den inform-request nochmal ausgeführt. Ich sehe zwei Probleme:
- die ersten 5 Einträge betreffen wieder Devices, die nicht bei allowed aufgeführt sind:
  Es handelt sich um STATEs zu..
  1  Modul Solarforecast  - mit SEEEHHHHR langem html
  2  notify zu Wärmepumpe
  3  ModbusAttr  zu Wärmepumpe
  4  ModbusAttr  zu Batterie
  5  notify  zu Batterie

Bemerkenswert ist, dass diese Devices später nie mehr auftrauchen.

- Readingsgroup Einträge:

Definition einer  der readingsGroups
[code]define Heizungsuebersicht readingsGroup .*(HEIZKTH|HEIZKTH_0.|thermos):desired-temp,measured-temp,!LEVEL,CONTROL_MODE,SET_POINT_MODE
attr Heizungsuebersicht alias desired-temp,measured-temp,LEVEL
attr Heizungsuebersicht room Readingsgroup
#   DEF        .*(HEIZKTH|HEIZKTH_0.|thermos):desired-temp,measured-temp,!LEVEL,CONTROL_MODE,SET_POINT_MODE
#   FUUID      6597c226-f33f-ef79-2afd-e9efb1dfb723108c
#   NAME       Heizungsuebersicht
#   NR         151
#   NTFY_ORDER 50-Heizungsuebersicht
#   STATE      Initialized
#   TYPE       readingsGroup
#   changed    0
#   mayBeVisible 1
#   CONTENT:
#     KG_Kellertreppe_HEIZKTH 1
#     ...

[/code]
Titel: Aw: Longpoll berücksichtigt nicht allowedDevicesRegexp
Beitrag von: rudolfkoenig am 16 September 2026, 14:35:03
Soweit ich sehe, ignoriert readingsGroup das Allowed-Mechanismus.
Wenn readingsGroup selbst nicht sichtbar ist, werden keine readingsGroup Nachrichten zum Browser versendet.

Das Problem muss beim readingsGroup Maintainer adressiert werden.

Titel: Aw: Longpoll berücksichtigt nicht allowedDevicesRegexp
Beitrag von: RPort am 17 September 2026, 11:20:02
Hallo Rudolf,

bzgl. readingsgroup habe ich ein eigenes topic eröffnet:
https://forum.fhem.de/index.php?topic=145464.0

========

- ich habe für alle readingsGroup-Devices das attr disabled 1 gesetzt -> im longpoll erscheinen sie (erwartungsgemäß) nicht mehr
- was mich allerdings nach wie vor irritiert:
 
??!!  Die ersten 4 bis 5 Einträge im longpoll betreffen Devices, die nicht zu den allowed-Devices gehören  ??!!
      Danach tauchen diese Devices aber nicht mehr auf, d.h. der Rest der Ausgabe entspricht der Erwartung.

Woran kann das liegen? Sind anfangs noch Puffer gefüllt?
Titel: Aw: Longpoll berücksichtigt nicht allowedDevicesRegexp
Beitrag von: rudolfkoenig am 19 September 2026, 14:52:20
ZitatSind anfangs noch Puffer gefüllt?
Nein, aber FHEMWEB merkt fuer eine longpoll Verbindung (intern inform genannt) die erlaubten Geraete, damit die allowed Pruefung nicht fuer jede Nachricht durchgefuehrt wird.
D.h. nach Aenderung der allowed Attribute sollte man Reload machen, oder ein anderes Element (Raum/Geraet) auf der Oberflaechen auswaehlen.