rdmtc / RedMatic-HomeKit

HAP-Nodejs based Node-RED nodes to create (bridged) HomeKit Accessories
Apache License 2.0
61 stars 22 forks source link

redmatic-homekit-camera - Einstellungsmenü öffnet nicht mehr #344

Open cupracer opened 2 years ago

cupracer commented 2 years ago

Hi. Ich hatte das nachfolgende Problem zunächst als Ergänzung in einem RedMatic-Issue (https://github.com/rdmtc/RedMatic/issues/514#issuecomment-1009994513) 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:

Steps to Reproduce:

  1. Einen redmatic-homekit-camera oder redmatic-homekit-tv Node auf einen beliebigen Flow ziehen.
  2. 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

3. 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)

4. 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.
cupracer commented 2 years ago

Offenbar ist type: Number in der port-Konfiguration der zwei Nodes die Ursache des beschriebenen Fehlers. Ich habe den Code nun so angepasst, dass er mit der port-Konfiguration aus dem redmatic-homekit-bridge-Node übereinstimmt und einen Pull-Request erstellt.

firstfacility commented 11 months ago

Hallo, och habe das gliche Problem. Könntest du bitte etwas ausführlicher schreiben was du gemacht hast. Vielen Dank Gruß Frank

cupracer commented 11 months ago

Hallo Frank.

bzgl. Deiner Frage: Mit Verlaub, aber: Noch ausführlicher? ;-) Welche Information fehlt Dir? Hast Du eventuell den Pull-Request #345 übersehen?

bzgl. dieses Projekts: Zieh weiter! Lauf! Das gesamte RedMatic-Projekt ist tot und der Entwickler hat hieran seit Jahren keinerlei Interesse mehr. Wenn es überhaupt noch in aktuellen NodeRED-Versionen funktioniert, ist es nur noch eine Frage der Zeit, bis es zu Inkompatibilitäten mit NodeRED oder Homekit (oder sonst was) kommt und der ganze Bums nicht mehr läuft. Schau Dir dazu auch gern mal die unzähligen offenen Issues in RedMatic an. Speziell auch https://github.com/rdmtc/RedMatic/issues/555.

Ich empfehle Dir dringend, von diesem toten Pferd abzusteigen und nach einer Alternative zu suchen.