Description
Hi. Ich hatte das nachfolgende Problem zunächst als Ergänzung in einem RedMatic-Issue (rdmtc/RedMatic#514 (comment)) geposted. Allerdings scheint es hier besser aufgehoben zu sein, da der Fehler nicht auf Homematic-/RaspberryMatic-Installationen beschränkt ist.
Einleitung
Ich bin über dieses Problem gestolpert, als ich versucht habe, eine neue RedMatic Homekit-Kamera einzurichten. Ich habe ein paar Dinge ausprobiert und auf die neuesten Versionen aktualisiert, aber das hat nicht geholfen.
Aktuell genutzte Versionen:
- Node-RED: v2.1.4 (lokale Installation auf einem SLES 15 SP3 x86_64 KVM-Gast)
- redmatic-homekit: 3.3.0
- Browser: Safari 15.2 / Chrome 97.0.4692.71
Steps to Reproduce:
- Einen
redmatic-homekit-camera
oderredmatic-homekit-tv
Node auf einen beliebigen Flow ziehen. - Sobald der Maus-/Touchpad-Button losgelassen wird oder wenn via Einzelklick ein bereits existierender Camera-/TV-Node ausgewählt wird, erscheinen die folgenden Fehlermeldungen in der Developer-Toolbar des Browsers (hier: Safari):
[Warning] RED.events.emit error: [view:selection-changed] TypeError: undefined is not an object (evaluating 'c[m]._type.array') (red.min.js, line 16)
[Warning] TypeError: undefined is not an object (evaluating 'c[m]._type.array') (red.min.js, line 16)
o — red.min.js:18:412679
T — red.min.js:18:417010
emit — red.min.js:16:20381
Ie — red.min.js:18:310408
drop — red.min.js:18:365965
_trigger — vendor.js:10:11096
_drop — vendor.js:15:12612
(anonyme Funktion) — vendor.js:10:4505
(anonyme Funktion) — vendor.js:15:14722
each — vendor.js:2:2981
drop — vendor.js:15:14546
_mouseStop — vendor.js:13:28982
(anonyme Funktion) — vendor.js:10:4505
_mouseUp — vendor.js:13:24589
(anonyme Funktion) — vendor.js:10:4505
_mouseUp — vendor.js:13:29592
(anonyme Funktion) — vendor.js:10:4505
(anonyme Funktion) — vendor.js:13:23481
dispatch — vendor.js:2:43096
- Wenn der erste Doppelklick auf dem Node ausgeführt wird, um das Einstellungsmenü zu öffnen, wird Nacholgendes gemeldet. Das Menü erscheint nicht.
[Error] TypeError: undefined is not an object (evaluating 'u.defaults[o]._type.array')
t (red.min.js:18:483040)
R (red.min.js:18:485731)
open (red.min.js:18:498024)
i (red.min.js:18:610132)
show (red.min.js:18:611340)
edit (red.min.js:18:498656)
tt (red.min.js:18:321158)
i (vendor.js:35:7949)
- Danach ist es nicht mehr möglich, das Einstellungsmenü beliebiger Nodes zu öffnen, bis das Browserfenster (oder der Tab) neu geladen wurden. Die betroffenen Camera-/TV-Nodes bleiben weiterhin betroffen und lassen sich nicht konfigurieren. Jeder Versuch führt wieder zum beschrieben Problem.
(Der Fehler tritt auch bei einem bereits existierendem und vor langer Zeit eingerichteten Kamera-Node auf.)
Weitere Infos
Ich habe Tests mit Docker und brandneuen Containern und der Standardinstallation genutzt, z.B.
# docker run --rm -it -p 1880:1880 --name mynodered nodered/node-red:latest
Nach dem Start wurde das Plugin redmatic-homekit
(immer Version 3.3.0) über die Admin-GUI installiert und das Problem wie oben beschrieben nachgestellt.
Ich bin von der neuesten Node-RED-Version immer weiter zurückgegangen und kann nun Folgendes sagen:
Das Image nodered/node-red:1.2.9
ist nicht betroffen.
Die Images nodered/node-red:1.3.0-12-amd64
und neuer sind betroffen.
Ich kann derzeit weder meine bestehende Kamera bearbeiten noch kann ich weitere Kameras erstellen, daher bin ich für jede Hilfe dankbar und bin gern bereit, weitere Tests durchzuführen und Daten zu liefern.