Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Kanalbeschreibungen in > Einstellungen > Geräte fehlen komplett seit 3.77.6.20240720 #2898

Closed
Baxxy13 opened this issue Nov 4, 2024 · 35 comments
Labels
🐛 bug-report Something isn't working 🏷️ WebUI This refs the WebUI component

Comments

@Baxxy13
Copy link
Contributor

Baxxy13 commented Nov 4, 2024

Describe the issue you are experiencing

Seit Version 3.77.6.20240720 fehlen bei allen meinen HmIP-Geräten (auf allen meinen Live/Testsystemen) die Kanalbeschreibungen die man normalerweise bei > Einstellungen > Geräte bei den Kanälen sieht.
Das erschwert es ungemein den Kanälen funktionelle Namen zu geben weil man erstmal überhaupt nicht weiß welche Funktion ein Kanal hat.

Describe the behavior you expected

Kanalbeschreibungen der HmIP-Geräte-Kanäle sollten auch mit >= 3.77.6.20240720 vorhanden sein.

Steps to reproduce the issue

  1. 3.75.7.20240601 flashen, ein HmIP-Gerät (bspw. STHD) anlernen und die Kanalliste in > Einstellungen > Geräte mittels + aufklappen
  2. sehen das alle Kanäle (außer :0) eine Beschreibung haben
  3. Punkt 1 mit 3.77.6.20240720 oder höher wiederholen
  4. sehen das alle Kanäle keinerlei Beschreibung haben
    ...

What is the version this bug report is based on?

ab 3.77.6.20240720

Which base platform are you running?

rpi4 (RaspberryPi4, ARM64/aarch64)

Which HomeMatic/homematicIP radio module are you using?

RPI-RF-MOD

Anything in the logs that might be useful for us?

keine Fehler im Logfile oder in der Browserkonsole

Additional information

3.75.7.20240601:
STHD_Kanalbeschreibungen ok 3 75 7 20240601

3.77.6.20240720 und aufwärts:
STHD_Kanalbeschreibungen nicht ok 3 77 6 20240720

@Baxxy13 Baxxy13 added the 🐛 bug-report Something isn't working label Nov 4, 2024
@Baxxy13
Copy link
Contributor Author

Baxxy13 commented Nov 4, 2024

Ok, scheint wider mal an eQ-3 zu liegen...
CCU3 mit 3.79.6 sieht genauso aus.
STHD_Kanalbeschreibungen nicht ok CCU3 3 79 6

@mbhomie007
Copy link

Ok, scheint wider mal an eQ-3 zu liegen...
CCU3 mit 3.79.6 sieht genauso aus.
STHD_Kanalbeschreibungen nicht ok CCU3 3 79 6

Außer beim Keypad...

@jens-maus
Copy link
Owner

Könnte gut sein das das vllt sogar Absicht war das das eQ3 entfernt hat?!?

@Baxxy13
Copy link
Contributor Author

Baxxy13 commented Nov 4, 2024

Möglich ist alles, ich glaube aber eher an ein "Missgeschick" seitens eQ-3.
Beim durchschauen meiner Systeme habe ich wirklich keine einzige Kanalbeschreibung mehr gefunden,

Durchexerziert habe ich das mit STHD und HmIP-PS.
Und alles in "eQ-3 Originalkonfiguration" also kein Local-ReKeying oder sowas. 😉

@jp112sdl
Copy link
Contributor

jp112sdl commented Nov 4, 2024

Patch kommt morgen. Nur für mich als Clipboard:

  if (typeof channelType != "undefined") {
    chType = channelType;
  } else if (typeof channelAddress != "undefined") {
    var channel = DeviceList.getChannelByAddress(channelAddress);
    if (channel) {
      chType = channel.channelType;
      channelIsVisible = channel.isVisible;
    }
  } 

jp112sdl pushed a commit to jp112sdl/RaspberryMatic that referenced this issue Nov 5, 2024
jens-maus pushed a commit that referenced this issue Nov 5, 2024
@Baxxy13
Copy link
Contributor Author

Baxxy13 commented Nov 7, 2024

Danke an @jp112sdl ...
Die Kanalbeschreibungen sind wieder vorhanden.
Können wir abhaken.

@eli4711
Copy link

eli4711 commented Nov 7, 2024

Hallo zusammen. Glaube da ist noch was nicht ganz korrekt. Bei mir sind seit dem Patch nur noch 2 Geräte in der Geräteliste.
GeräteListe
Getestet mit den letzten 2 Nightlys.
In der Browser Console taucht beim öffnen der Geräte Liste folgendes auf:
TypeError: values is undefined restoreFilters https://192.168.0.210/webui/webui.js:9324 fltrHandler https://192.168.0.210/webui/webui.js:9312 fire https://192.168.0.210/webui/webui.js:28824 each https://192.168.0.210/webui/js/extern/prototype.js:711 each https://192.168.0.210/webui/js/extern/prototype.js:710 fire https://192.168.0.210/webui/webui.js:28824 updateView https://192.168.0.210/webui/webui.js:26026 <anonymous> https://192.168.0.210/webui/webui.js:25524

In der Bediener Geräteliste sind alle noch da.

GeräteListe2

Edit: In der Gewerke und Räume Einstellung sind auch alle Geräte ( ausser die zwei PSM ) verschwunden.
Soll ich da mal noch n Issue für aufmachen?

@Baxxy13
Copy link
Contributor Author

Baxxy13 commented Nov 7, 2024

Hmm, wenn du kannst dann mache doch die Änderungen mal rückgängig.
War ja überschaubar.

Ich sehe hier auf 3 (kleinen) Testsystemen keine Probleme.

@jp112sdl
Copy link
Contributor

jp112sdl commented Nov 7, 2024

Auf meinem Kraut-und-Rüben-Testsystem auch keine Probleme.

Versuch mal den Browser Cache zu löschen oder die Seite in einem neuen "privaten Fenster" aufzurufen

@eli4711
Copy link

eli4711 commented Nov 8, 2024

Kann erst heute abend testen. Bin auf Geschäftsreise. Den Cache hab ich schon mal gelöscht. Getestet mit Chrome und Firefox. Was mir noch aufgefallen ist, das bei den zwei PSM die Gewerke und Raum Zuordnungen fehlen. Wenn ich da auf den Filter klicke, kommt nur das Feld mit den zwei Buttons (wie oben im Bild). Hoffe ich kann heute Abend noch eingehend testen.

@eli4711
Copy link

eli4711 commented Nov 8, 2024

Hab jetzt noch mal alle Homematic Logs durchgesehen. Dort sind keine Fehler zu finden.
Im Browser hab ich noch folgende Meldung gefunden.
Uncaught TypeError: chn is undefined getExtendedDescription https://192.168.0.210/webui/webui.js line 2 > srcScript:35568 m_extendName https://192.168.0.210/webui/webui.js line 2 > srcScript:11280 update https://192.168.0.210/webui/webui.js line 2 > srcScript:11271 initialize https://192.168.0.210/webui/webui.js line 2 > srcScript:11211 klass https://192.168.0.210/webui/js/extern/prototype.js:94 updateChannel https://192.168.0.210/webui/webui.js line 2 > srcScript:12235 update https://192.168.0.210/webui/webui.js line 2 > srcScript:11780 each https://192.168.0.210/webui/js/extern/prototype.js:711 each https://192.168.0.210/webui/js/extern/prototype.js:710 update https://192.168.0.210/webui/webui.js line 2 > srcScript:11779 initialize https://192.168.0.210/webui/webui.js line 2 > srcScript:11737 klass https://192.168.0.210/webui/js/extern/prototype.js:94 reload https://192.168.0.210/webui/webui.js line 2 > srcScript:12413 each jQuery reload https://192.168.0.210/webui/webui.js line 2 > srcScript:12399 homematic https://192.168.0.210/webui/webui.js line 2 > srcScript:28573 onreadystatechange https://192.168.0.210/webui/webui.js line 2 > srcScript:8174

Die Geräte sind in allen Einstellungsseiten verschwunden, also Gewerke, Räume, Geräteupdates usw.
Liegt es eventuell an der menge an Geräten? Dauert da irgend was zu lange, und läuft in irgend einen Timeout?
Hab irgendwas um die 350 Geräte im System, inclusive cuxd und ccujack.

Wo könnte der Fehler noch versteckt sein? Hat jemand n Tip wo ich suchen kann?

Edit @Baxxy13 Wenn ich die Änderungen rückgängig mache, ist alles Prima.

@jp112sdl
Copy link
Contributor

jp112sdl commented Nov 8, 2024

Hmpf, schon wieder das DeviceList.getChannelByAddress(channelAddress)

Das ist irgendwie kaputt.
Speziell geht es um den Block:

    if (getMode) {
      if ((multiMode != "--") && (typeof multiMode != "undefined")) {
        typeExt = "_" + multiMode;
      } else {
        if (channelAddress != "undefined") {
          var chn = DeviceList.getChannelByAddress(channelAddress),
          chnMode = parseInt(chn.multiMode);
          if (! isNaN(chnMode)) {
            typeExt = "_" + chnMode;
          } else {
            typeExt = "";
          }
        } else {
          typeExt = "_1";
        }
      }
    }

Insbesondere der Teil

          var chn = DeviceList.getChannelByAddress(channelAddress),
          chnMode = parseInt(chn.multiMode);

Das muss mal noch genauer analysiert werden.

@eli4711
Copy link

eli4711 commented Nov 8, 2024

Wenn ich irgendwas testen soll, bin allzeit bereit! Sofern ich zu Hause bin ;-)

@jp112sdl
Copy link
Contributor

jp112sdl commented Nov 8, 2024

Wenn du weißt, wie du die webui.js editierst, dann gern...
Bau mal über der Zeile (die gibt es in der Datei nur an 1 Stelle)

          var chn = DeviceList.getChannelByAddress(channelAddress),

ein

          console.log("multiMode = "+multiMode);

ein.

Und dann schau mal in der Konsole, was da als multiMode ausgegeben wird.

@eli4711
Copy link

eli4711 commented Nov 8, 2024

Wird gemacht, aber du meinst dann die webui.js, aus dem Patch oder? Ich versuchs gleich mal.

@eli4711
Copy link

eli4711 commented Nov 8, 2024

multimode

Das kam dabei raus. Ist das Plausiebel für dich?

@jp112sdl
Copy link
Contributor

jp112sdl commented Nov 9, 2024

Hmm hatte mir was anderes erhofft.
Ändere die Ausgabe mal in console.log(oChannelDescr).
Dann bekommst du in der Konsole das ganze Objekt mit allen Eigenschaften angezeigt.

Für mich wäre es interessant, ob der eingestellte Channel-Mode schon mit im Objekt übergeben wird und wir das getChannelByAddress gar nicht brauchen. (Die Funktion ist eigentlich total unspektakulär, hängt aber beim Iterieren über alle IDs immer um 1 daneben und mir ist unklar, warum)

@eli4711
Copy link

eli4711 commented Nov 9, 2024

Scheint gar nicht zu funktionieren.

Console2

oder ist das die Ausgabe vom Log?

Console3

Hier hab ich noch was gefunden. Der HmIP-FSI16 ist auch einer der verschwundenen Geräte.

Console4

@jp112sdl
Copy link
Contributor

jp112sdl commented Nov 9, 2024

Ich habe jetzt schon mal verstanden, was da schief läuft, habe aber momentan noch keine Lösung parat.

@eli4711
Copy link

eli4711 commented Nov 9, 2024

Wenn du noch was brauchst, einfach melden. ;-)

@Baxxy13
Copy link
Contributor Author

Baxxy13 commented Nov 10, 2024

Das ist wieder das "Metadaten-Ding" beim HmIP-MOD-RC8.
Wenn die Metadaten channelMode für alle 8 relevanten Kanäle vorhanden und gesetzt sind (0/1/2/3), dann sind wieder alle Geräte unter > Einstellungen > Geräte sichtbar und es gibt keine Fehler in der Browserkonsole.

Das war ja auch schon beim Anzeigen des (korrekten) Modus (#2892) ein Problem das wir umgehen mussten.

Eigentlich muss eQ-3 nachbessern.
Wenn die Metadaten channelMode genutzt werden sollen, dann müssen diese auch in die Kanäle geschrieben werden.
Das passiert aber aktuell nicht.

@jp112sdl
Copy link
Contributor

Das ist wieder das "Metadaten-Ding" beim HmIP-MOD-RC8.

Kann ich mir eigentlich nicht vorstellen.
Der JS Fehler kommt, weil getChannelByAddress über die Kanal-Liste iteriert, die zu dem Zeitpunkt genau den zu erfassenden Kanal noch nicht enthält.

Deshalb würde ich den einzigen verbliebenen getChannelByAddress dort gern weg haben und schauen, ob man den eingestellten Mode nicht schon beim getExtendedDescription mit übergeben kann.

Der HmIP-FSI16 ist auch einer der verschwundenen Geräte.

@Baxxy13 hast du auch so einen FSI16 zum Testen ?

@Baxxy13
Copy link
Contributor Author

Baxxy13 commented Nov 11, 2024

Ok, dann wird wohl erst gar nicht zur problematischen Funktion abgebogen wenn die Metadaten vorhanden sind.

Mit channelMode - Metadaten beim HmIP-MOD-RC8:
RM_MultiMode_ok

Ohne channelMode - Metadaten beim HmIP-MOD-RC8:
RM_MultiMode_not_ok

HmIP-FSI16 habe ich nicht.
Laut Doku ist dessen Kanal:1 auch MULTI_MODE_INPUT_TRANSMITTER, ich denke aber schon immer.
(kannst du ja mal gucken ob da die xml geändert wurde)
Dann müsste man noch prüfen ob der die Metadaten hat.
Denke ja, meine DRSI's auf dem Hauptsystem haben diese zumindest auch.

Außerdem wird anhand der Metadaten die Kanalbeschreibung generiert.
RM_MOD-RC8_ChnMode_set

Testsystem ist bereit, ab Nachmittag hätte ich Zeit. 😉

@Baxxy13
Copy link
Contributor Author

Baxxy13 commented Nov 12, 2024

@eli4711

Du kannst mal den von JP gezeigten Code-Block (webui.js) durch folgendes ersetzen:

    if (getMode) {
      if ((multiMode != "--") && (typeof multiMode != "undefined")) {
        typeExt = "_" + multiMode;
      } else {
        if (channelAddress != "undefined") {
          var chn = DeviceList.getChannelByAddress(channelAddress);
          if (typeof chn != "undefined") {  
            chnMode = parseInt(chn.multiMode);
            if (! isNaN(chnMode)) {
              typeExt = "_" + chnMode;
            } else {
              typeExt = "";
            }
          }
        } else {
          typeExt = "_1";
        }
      }
    }
    result = translateKey("chType_MULTI_MODE_INPUT_TRANSMITTER" + typeExt);
  }

Das müsste das Problem (fehlende Metadaten z.B. bei MOD-RC8 und FSI16) abfangen und es sollten wieder alle Geräte gelistet werden.

@eli4711
Copy link

eli4711 commented Nov 12, 2024

Jepp, das läuft. Sieht gut aus. Werde weiter mit dem Setup testen. Denke man sollte bei EQ3 doch mal langsam über einen Support von euch nachdenken! 🥇

@jp112sdl
Copy link
Contributor

Jepp, das läuft.

Es behebt nur leider nicht das eigentliche Problem.

Denke man sollte bei EQ3 doch mal langsam über einen Support von euch nachdenken! 🥇

Mit der orig. CCU3 FW 3.79.6 tritt der Fehler gar nicht erst auf, weil die Metadaten korrekt angelegt werden.

Im Moment besteht das Problem wohl nur in RM und wir finden den Fehler nicht.

@jp112sdl
Copy link
Contributor

So - da hat uns eQ-3 aber ein echtes Ei ins Nest gelegt!

Das Ganze geht kaputt, wenn die hmip-mod-rc8_*_master.tcl aus /www/config/easymodes/hmip dynamisch zur Laufzeit geladen werden.

Diese Dateien existieren auf der CCU3 gar nicht!
Wenn man sie auf der RM auch löscht, ist der ganze Spuk vorbei...

@jens-maus
Copy link
Owner

@jp112sdl Ah, mal wieder eine typische OCCU Inkonsistenz weil die in ihren OCCU Updateskripten nur neue Dateien hinzufügen aber gelöschte dateien nicht automatisch entfernen. Na dann liste mal die Dateien im OCCU auf die es in der CCU3 Firmware nicht gibt und dann lösche ich die raus... oder schick mir nen PR auf meine OCCU Fork.

@Baxxy13
Copy link
Contributor Author

Baxxy13 commented Nov 12, 2024

https://github.com/eq-3/occu/tree/master/WebUI/www/config/easymodes/hmip
Diese 8 müssen weg.

hmip-mod-rc8_1_master.tcl
hmip-mod-rc8_2_master.tcl
hmip-mod-rc8_3_master.tcl
hmip-mod-rc8_4_master.tcl
hmip-mod-rc8_5_master.tcl
hmip-mod-rc8_6_master.tcl
hmip-mod-rc8_7_master.tcl
hmip-mod-rc8_8_master.tcl

Wenn das geschehen ist kann #2892 wieder entfernt werden.

@jens-maus
Copy link
Owner

Komplett entfernt werden? Und diese tcl dateien gibt es definitiv nicht in der CCU3 Firmware?

@Baxxy13
Copy link
Contributor Author

Baxxy13 commented Nov 12, 2024

Definitiv nicht. Weg damit.
OCCU vs CCU3
(links OCCU | rechts CCU3)

@jens-maus
Copy link
Owner

Ok, danke. Sollte mit OCCU 3.79.6-5 erledigt sein. Hab auch den 0189 WebUI patch inzwischen entfernt. Der morgige nightly snapshot sollte also hoffentlich das problem beseitigen.

@Baxxy13
Copy link
Contributor Author

Baxxy13 commented Nov 12, 2024

Hoffen wir mal das es das nun endgültig war.
Ziemlich mühsame Sache.

@Baxxy13
Copy link
Contributor Author

Baxxy13 commented Nov 13, 2024

Also auf meinem Testsystem mit dem HmIP-MOD-RC8 passt mit dem heutigen Nightly nun alles.

Vielleicht kann @eli4711 das auf seinem System auch noch mal prüfen.

@eli4711
Copy link

eli4711 commented Nov 13, 2024

Jepp, jetzt passt es wieder 👍

@jens-maus jens-maus added the 🏷️ WebUI This refs the WebUI component label Nov 13, 2024
@jens-maus jens-maus added this to the next release milestone Nov 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🐛 bug-report Something isn't working 🏷️ WebUI This refs the WebUI component
Projects
None yet
Development

No branches or pull requests

5 participants