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

removed empty sysvar table on cuxd devices from webui #261

Closed
wants to merge 1 commit into from
Closed

removed empty sysvar table on cuxd devices from webui #261

wants to merge 1 commit into from

Conversation

jp112sdl
Copy link
Contributor

@jens-maus
Copy link
Owner

Zwei Dinge die mir bzgl. Dieser Änderung auffallen:

  • Bitte einen extra (neuen) Patch daraus machen damit das nicht bei den anderen dingen untergeht (erhöht die Chance das eQ3 das dann übernimmt)
  • wieso ist das eigentlich nur bei CUxD Geräten notwendig? hast du mal mit Uwe darüber gesprochen? Würde gerne die Zusammenhänge besser verstehen.

@jp112sdl
Copy link
Contributor Author

Mir scheint es, dass CUxD-Geräten die Eigenschaft MetaData("CONTROL") fehlt, da die Zuweisung in #L169
sControlName = oE.MetaData("CONTROL");
dazu führt, dass die Variable null wird.

Ist @uwe111 hier aktiv und es reicht, wenn er erwähnt wird?

@HMside
Copy link
Contributor

HMside commented Feb 16, 2018

Hallo Jérôme, bei den von mir genutzten CUxD Geräten tritt das Problem nicht auf. Um welchen CUxD Gerätetyp handelt es sich hier genau und wurde dort ggf. irgendetwas besonders konfiguriert?

@jp112sdl
Copy link
Contributor Author

@HMside
Hallo Andreas,
es handelt sich um den Gerätetyp System (28) in der Funktion "Exec" und Control "Schalter".

bildschirmfoto 2018-02-16 um 06 47 10

Nutzt du Firefox als Browser?
Ein anderer Nutzer berichtete mir über Facebook, in FF tritt das Phänomen nicht auf - jedoch ist die "Leer-Tabellenzeile" dort einfach nur von besonders geringer Höhe.

27992990_1576113952484277_4275885377961236731_o

Besonders konfiguriert habe ich nichts.
Als Gegenprobe habe ich einen "nackten" RaspberryMatic aufgesetzt, ohne jegliche weitere Geräte, und nur CUxD installiert. Darin dann auch nur mal ein einzelnes Schalter-Device erstellt.
Der Balken erscheint immer.

@uwe111
Copy link

uwe111 commented Feb 16, 2018

Hallo Jérôme,

mich würde interessieren, ob es bei allen Controls vom (28) System.Exec Gerät auftritt und ob es auch bei anderen CUxD Geräten auftritt bzw. ob es bei bestimmten CUxD Geräten nicht auftritt.

Ich tippe auf irgendeine fest implementierte Abhängigkeit der Gerätedarstellung in der WebUI. Aber dafür müsste mal jemand untersuchen, wann und wie die Eigenschaft MetaData("CONTROL") erzeugt wird.

Hier der Link zum Thema im HomeMatic-Forum.

@jp112sdl
Copy link
Contributor Author

@uwe111
Habe soeben zum Test Geräte folgender Typen angelegt:

  • (02)
  • (36)
  • (40)
  • (28)
    • KEY
    • BLIND
    • DIMMER
    • Multi-Dim-Exec

Bei allen ist der Leer-Balken in der Gerätebedienung zu sehen (grob gesagt - bei allem, was einen Taster-/Schalter-Bedienknopf hat).

Ausnahme:
Beim Multi-Dim-Exec ist der Balken nur beim Kanal :1 (Taster) zu sehen. Bei den Dimmerkanälen nicht!

@jp112sdl
Copy link
Contributor Author

Vielleicht liegt das Problem auch schon an ganz anderer Stelle und es dürfte die Bedingung
if( cObj.IsTypeOf( OT_CHANNEL ) )
in Zeile 89 gar nicht erst erfüllt werden?

@jp112sdl
Copy link
Contributor Author

@jens-maus
Copy link
Owner

@jp112sdl

Nein, ich meine damit einen separaten patch unter buildroot-external/patches/occu/ abzulegen. Momentan hast du das ja in den 0012-WebUI-SysVar patch integriert. Das sollte aber ein separater patch mit einer neuen Nummer und Name unter patches/occu werden.

@jens-maus
Copy link
Owner

Gibt es bzgl. dieses PR noch Klärungsbedarf? Wurde nun geklärt warum hier dieser spezielle Fall überhaupt für CUxD Geräte notwendig ist? Kann der CUxD Autor hier nicht an CUxD selbst Anpassungen vornehmen und wenn nicht wäre es gut in der Tat einen separaten WebUI patch hierfür zu haben und diesen nicht in den 0012-WebUI-SysVar patch zu integrieren.

@uwe111
Copy link

uwe111 commented Feb 26, 2018

Wenn mir jemand beschreibt, welche Anpassungen im CUxD Auswirkungen auf die beschriebene HTML-Darstellung in der WebUI haben, kann ich das gerne tun.
Allerdings ist mir nicht ganz klar, warum es diese Nebenwirkungen überhaupt gibt, denn der CUxD stellt ja nur Kanäle und Datenpunkte von Geräten bereit. Mit der WeUI-Darstellung hat das nichts zu tun. Das Problem müsste m.E. in der WebUI repariert werden.

@jp112sdl
Copy link
Contributor Author

Ich wiederum weiß nicht, ob meine vorgeschlagene Anpassung Auswirkungen auf andere Funktionalitäten (oder CUxD Gerätetypen) der WebUI hat.
Bis ins letzte Detail haben wohl weder @uwe111 noch ich verstanden, warum es so ist, wie es ist (mit dem leeren Tabellenbalken).

Da es wirklich nur eine kleine optische Angelegenheit ist, würde ich vorschlagen, wir verwerfen den Ansatz und belassen alles, wie es ist?

@jens-maus
Copy link
Owner

@jp112sdl
Das können wir natürlich auch machen (ist ja de facto bereits so). Ich würde allerdings trotzdem gerne verstehen warum nur bei CUxD Geräten anscheinend dieser leere Tabellenbalken auftaucht und bei anderen Geräten anscheinend nicht. Hierfür muss es ja einen Grund geben oder hast du einfach noch kein non-CUxD-Gerät gefunden bei dem das auch auftritt?

@jens-maus
Copy link
Owner

Ich hab mir gerade nochmal die Codestellen angeschaut und hier (https://github.com/jp112sdl/RaspberryMatic/blob/6aac0dbbf392c06317f877bf7b65a7a40d108797/buildroot-external/patches/occu/0012-WebUI-SysVar/occu/WebUI/www/rega/esp/datapointconfigurator.fn#L753) scheint es ja zumindest so zu sein das das gleiche Ausschlusskriterium anscheinend auch für HmIP-RF Geräte gilt. Oder übersehe ich etwas?

D.h. wenn diese bSV Variable und isKnownControl true ist wird anscheinend davon ausgegangen das das anzuzeigende Gerät zusätzlich zu den Geräteinfos noch eine verknüpfte Systemvariable anzuzeigen hat. Kann man denn CUxD Geräten keine Systemvariable zuordnen? Habe das noch nie probiert.

@jp112sdl
Copy link
Contributor Author

...scheint es ja zumindest so zu sein das das gleiche Ausschlusskriterium anscheinend auch für HmIP-RF Geräte gilt

Stimmt, so weit hatte ich noch gar nicht geschaut!

Kann man denn CUxD Geräten keine Systemvariable zuordnen?

Doch, das geht. Habe aber noch nicht getestet, wie es sich mit der Modifikation verhält - also ob die SV dann zum CUxD Gerät noch angezeigt wird.
Mache ich heut Abend oder morgen mal.

@jp112sdl
Copy link
Contributor Author

Konnte es nun doch gerade testen.

Mit meiner Modifikation werden auch Systemvariablen zu einem CUxD Gerät angezeigt:
bildschirmfoto 2018-02-26 um 15 02 28

Was jedoch genau so gut funktioniert - und vom Code her wohl besser aussehen würde - ist eine Anpassung an der von dir (@jens-maus) erwähnten Codestelle #L753 noch CUxD.CUX hinzuzufügen:
if ( (isKnownControl) && (bSV) && (oEName.Find("HmIP-RF.") == -1) && (oEName.Find("CUxD.CUX") == -1) )

@jens-maus
Copy link
Owner

@jp112sdl
Danke für das kontrollieren. Das macht in der tat mehr sinn. Was ich allerdings noch nicht verstehe ist, für was genau der gesamte Block (https://github.com/jp112sdl/RaspberryMatic/blob/6aac0dbbf392c06317f877bf7b65a7a40d108797/buildroot-external/patches/occu/0012-WebUI-SysVar/occu/WebUI/www/rega/esp/datapointconfigurator.fn#L753-L759) dann zuständig ist? Dort wird eine Funktion CreateSysVars() aufgerufen und das Ergebnis dann in die

mit CLASS2510 gelegt. Gibt es denn irgendwo ein Beispiel wo diese Subtabelle dann sinnvoll gefüllt ist mit dingen?

@jp112sdl
Copy link
Contributor Author

Gibt es denn irgendwo ein Beispiel wo diese Subtabelle dann sinnvoll gefüllt ist mit dingen?

Ja, u.a. wenn eine Systemvariable einem HM-Gerät zugeordnet ist.
Oder auch bei ganz normalen Geräten wie zB dem Wandthermostat oder hier beim Temperaturdifferenzsensor.

bildschirmfoto 2018-02-26 um 22 48 48

@jens-maus
Copy link
Owner

#271 continues this PR

@jens-maus jens-maus closed this Feb 27, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants