HomeMatic CCU2 bei ELV bestellen

Vermeidung von Steuerzeichen in der WebGui

Fehler in Firmware und WebUI & Workarounds

Werbung


Vermeidung von Steuerzeichen in der WebGui

Beitragvon alchy » 19.03.2017, 00:56

>> H I E R << ging es mal wieder um ein Problem mit "unsichtbaren" Systemvariablen.
Bei der Beseitigung ist mir doch ein nachvollziehbarer Mist aufgefallen, den EQ3 schleunigst abstellen sollte.

Benutzt man in der KLickibunti z.B. ein Steuerzeichen wie \n für neue Zeile (z.B. sehr schön versteckt in meinem praxistauglichen Beispiel: ja\nein )
Bug_steuerzeichenSysvar01.jpg


z.B in der Beschreibung einer Systemvariablen hat das sofort fatale Auswirkungen.

Unter Startseite > Einstellungen > Systemvariable bleibt die Seite fortan leer.

Bug_steuerzeichenSysvar02.jpg



Abhilfe kann man aber schaffen, in dem man diese Beschreibung per Script überschreibt.

Code: Alles auswählen
(dom.GetObject(ID_SYSTEM_VARIABLES)).Get(951).DPInfo("Neue leere Beschreibung von Alchy");
WriteLine("Variablenbeschreibung geändert");


Es wäre schön, wenn das mal wer verifizieren könnte, bevor ich EQ3 den Bug melde.

Einfach mal bei z.B. der Systemvariable: Anwesenheit das Steuerzeichen wie beschrieben in der Beschreibung verwenden
Nachschauen, ob auch bei ihm die Seite Einstellungen Systemvariablen leer bleibt wie beschrieben
und dann mittels obigen Script einfach die Beschreibung der Variable wieder überschreiben.
Achtung: dabei im Script aber statt der 951 die 950 verwenden.
Ich habe ja mehrere Anwesenheitsvariablen, und habe aus Versehen die falsche Anwesenheit2 mit der ISE_ID 951 genommen für die Doku :mrgreen:
Vielleicht kann das auch wer testen, der noch keine 2.27.7 installiert hat.
Vielleicht hat sich das ja auch gerade erst damit eingeschlichen.

Alchy
Zuletzt geändert von alchy am 13.07.2017, 13:29, insgesamt 1-mal geändert.
Grund: Art des Themas geändert - gehört nicht angepinnt

Nuvole Bianche - il Mondo È Nostro - one last ride - I Will Return - salud, mi familia


Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt den bösen System.exec. Die HM Script Doku hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
alchy
 
Beiträge: 5486
Registriert: 24.02.2011, 02:34

Re: Vermeidung von Steuerzeichen in der WebGui

Beitragvon Bulli » 19.03.2017, 11:33

Hallo
werde ich Testen, das wird aber heute wahrscheinlich nichts mehr.
Ich habe ja eine Test CCU. Werde es erst mal mit 2.25.15 und danach mit 2.27.7 testen.

Gruß
Bulli
Bulli
 
Beiträge: 304
Registriert: 29.04.2014, 18:38

Re: Vermeidung von Steuerzeichen in der WebGui

Beitragvon alchy » 19.03.2017, 12:02

Der Ablauf ist ja beschrieben. Repariert kriegen wir das schon wieder. Ich habe es mehrfach hin und her geändert, bevor ich es hier gepostet habe.
Würde mich freuen, wenn wir Infos mehrerer Firmware bekommen für das Ticket.

Danke
Alchy

Nuvole Bianche - il Mondo È Nostro - one last ride - I Will Return - salud, mi familia


Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt den bösen System.exec. Die HM Script Doku hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
alchy
 
Beiträge: 5486
Registriert: 24.02.2011, 02:34

Re: Vermeidung von Steuerzeichen in der WebGui

Beitragvon Bulli » 19.03.2017, 14:45

Hi
das ist mit 2.25.15 auch so.

Firmware 2.27.7
ID 950 Beschreibung in "Anwesenheit ja\nein" geändert.

Seite ist leer
var_test_2.27.7.jpg

Seite unter Startseite > Status und Bedienung > Systemvariable zeigt Sie ohne \ an.
var_test_bed2.27.7.jpg


hier mal die Ausgaben deines 0.2 Scripts alle zusammen Zeilen beachten
Code: Alles auswählen
2.27.7

ISE_ID:40
   NAME:Alarmmeldungen
   SICHTBAR:false
   ENABLED:true
   Beschreibung: Anzahl Alarmmeldungen
ISE_ID:1233
   NAME:Alarmzone 1
   SICHTBAR:true
   ENABLED:true
   Beschreibung: Alarmmeldung
ISE_ID:950
   NAME:Anwesenheit
   SICHTBAR:true
   ENABLED:true
   Beschreibung: Anwesenheit
ISE_ID:1238
   NAME:CCU-TimerControl-Counter
   SICHTBAR:true
   ENABLED:true
   Beschreibung:
ISE_ID:1240
   NAME:CCU-TimerControl-Info
   SICHTBAR:true
   ENABLED:true
   Beschreibung:
ISE_ID:41
   NAME:Servicemeldungen
   SICHTBAR:false
   ENABLED:true
   Beschreibung: Anzahl Servicemeldungen


GEÄNDERT IN ja\nein

ISE_ID:40
   NAME:Alarmmeldungen
   SICHTBAR:false
   ENABLED:true
   Beschreibung: Anzahl Alarmmeldungen
ISE_ID:1233
   NAME:Alarmzone 1
   SICHTBAR:true
   ENABLED:true
   Beschreibung: Alarmmeldung
ISE_ID:950
   NAME:Anwesenheit
   SICHTBAR:true
   ENABLED:true
   Beschreibung: Anwesenheit ja
ein
ISE_ID:1238
   NAME:CCU-TimerControl-Counter
   SICHTBAR:true
   ENABLED:true
   Beschreibung:
ISE_ID:1240
   NAME:CCU-TimerControl-Info
   SICHTBAR:true
   ENABLED:true
   Beschreibung:
ISE_ID:41
   NAME:Servicemeldungen
   SICHTBAR:false
   ENABLED:true
   Beschreibung: Anzahl Servicemeldungen





Firmware 2.25.15 zeigt das selbe an
ISE_ID:40
   NAME:Alarmmeldungen
   SICHTBAR:false
   ENABLED:true
   Beschreibung: Anzahl Alarmmeldungen
ISE_ID:1233
   NAME:Alarmzone 1
   SICHTBAR:true
   ENABLED:true
   Beschreibung: Alarmmeldung
ISE_ID:950
   NAME:Anwesenheit
   SICHTBAR:true
   ENABLED:true
   Beschreibung: Anwesenheit ja
ein
ISE_ID:1238
   NAME:CCU-TimerControl-Counter
   SICHTBAR:true
   ENABLED:true
   Beschreibung:
ISE_ID:1240
   NAME:CCU-TimerControl-Info
   SICHTBAR:true
   ENABLED:true
   Beschreibung:
ISE_ID:41
   NAME:Servicemeldungen
   SICHTBAR:false
   ENABLED:true
   Beschreibung: Anzahl Servicemeldungen


Firmware 2.25.15 gleich Bild
var_test_2.25.15.jpg


var_test_bed2.25.15.jpg


Gruß
Bulli

ps hab das ganze auch noch mit ISE_ID:1233 NAME:Alarmzone 1 geteste, da kommt das selbe Ergebniss raus.
Bulli
 
Beiträge: 304
Registriert: 29.04.2014, 18:38

Re: Vermeidung von Steuerzeichen in der WebGui

Beitragvon arturj » 19.03.2017, 15:48

Das ist schon ein Ding. Habe aktuellste firmware 2.27.7 drauf und bin in das selbe Problem gelaufen - ich stand schon kurz davor meine CCU2 zu resetten wodurch ich etliche Aufzeichnungen verloren hätte - ganz von dem Aufwand abgesehen alle Programme zu verscreenshoten und alle Scripte abzuspeichern um diese Stück für Stück wieder aufzubauen. RIESEN dank an alchy für sein Script zur Auflistung aller Systemvariablen - habe sofort gesehen dass eine Beschreibung einen Zeilenumbruch enthielt da ich in einem Script diese wie folgt setze:

Code: Alles auswählen
 
! generate alarm with device name
  var alarm = dom.GetObject("Batteriewarnung");
  string message = "Batteriewarnung: " # roomName # " " # deviceName # ": " # source.Value() # "V\n" # alarm.DPInfo();
  alarm.DPInfo(message);
  alarm.State(true);


Vielleicht an dieser Stelle kurz die Frage, ob das auch die korrekte Methode ist eine Variable des Typs "alarm" so zu setzen, dass der Hinweis-Text auch in den Alarmmeldungen der WebGUI erscheint (so funktionierte es jedenfalls bestens bis zum letzten Update).
Zuletzt geändert von alchy am 20.03.2017, 21:26, insgesamt 1-mal geändert.
Grund: Code in Codetags posten
arturj
 
Beiträge: 3
Registriert: 03.11.2016, 09:35

Re: Vermeidung von Steuerzeichen in der WebGui

Beitragvon alchy » 20.03.2017, 21:37

Abgesehen von der fehlenden Deklaration von roomName,deviceName, usw. (wirst wohl nicht das ganze Script gepostet haben) kann man es natürlich so machen.
Vielelicht noch als Verbesserung, den Zugriff auf die Systemvariable

Code: Alles auswählen
dom.GetObject(ID_SYSTEM_VARIABLES).Get("Batteriewarnung");


Du solltest natürlich eben keine Codes wie Zeilenumbrüche \n in den String schreiben, welcher dann lt. deinem Script in der Beschreibung der Variable hinter dem V steht.

Auch @ Bulli vielen Dank fürs Testen.


Antwort EQ-3 auf den gemeldeten Bug wie gehabt:

Sehr geehrter Herr Alchy,

vielen Dank für Ihre freundliche Anfrage und das damit verbundene Interesse an unseren Produkten.

Wir haben Ihre Anfrage zur Bewertung an die Entwicklungsabteilung weitergegeben.

Das beschriebene Verhalten wird nachgestellt und fließt in die Releaseplanungen ein. In einem zukünftigen Update sollte das Verhalten beseitigt werden.

Informationen zu Optimierungen und Veränderungen kann den jeweiligen Changelogdateien der Firmware entnommen werden.

Mit freundlichen Grüßen aus Leer

Ihr eQ-3 Support-Team


Wollen wir mal hoffen :mrgreen:

Vielleicht hätte ich EQ-3 gleich den Bug: >> Fehlerhafte Darstellung der WebUI der CCU2 - roter Punkt << gleich nochmal mitteilen sollen. Den gibts nun schon so lange, das man von Einfließen in die Releaseplanung nicht mehr reden kann.

Alchy

Nuvole Bianche - il Mondo È Nostro - one last ride - I Will Return - salud, mi familia


Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt den bösen System.exec. Die HM Script Doku hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
alchy
 
Beiträge: 5486
Registriert: 24.02.2011, 02:34

Re: Vermeidung von Steuerzeichen in der WebGui

Beitragvon SmartMG » 13.07.2017, 07:49

kann man nicht ein script erstellen,
welches steuerzeichen in systemvariablen idetifiziert und nur die problematische Variable automatisch umschreibt?

Das lässt man einfach jede stunde laufen und im falle eines fehlers, wird dieser automatisch beseitigt.

Optional könnte man noch eine Servicemeldung (Sysvar_ Error_Autoreset) generieren, um über Änderungen informiert zu werden.
65 Kanäle in 24 Geräten (Mai 2016)
4x HM-Sec-SC-2, 2x HM-Sec-RHS, 2x HM-RC-Key4-2, 2x HMIP-eTRV, 2x HMIP-WTH, 1x HM-LC-Sw4-WM, 7x HM-ES-PMSw1-Pl, 1x HMIP-SWDO, 2x HM-Sec-Key-S, 1x HM-Sec-SCo

--------------------------------------------
29 Kanäle in 17 Geräten (Dez 2015)
3x HM-Sec-SC-2, 2x HM-Sec-RHS, 2x HM-RC-Key4-2, 1x HM-LC-Sw4-WM, 6x HM-ES-PMSw1-Pl, 2x HM-Sec-Key-S, 1x HM-Sec-SCo
SmartMG
 
Beiträge: 76
Registriert: 16.09.2015, 03:41

Re: Vermeidung von Steuerzeichen in der WebGui

Beitragvon Familienvater » 13.07.2017, 10:46

Hi,

warum sollte ich die Zentrale mit Dingen belasten, die bei sauberer Programmierung nicht passieren?
Wenn keiner Sonderzeichen reinschreibt, kann auch keins drinstehen. Und normalerweise haben wir ja den Code geschrieben, der die Systemvariablen befüllt, und lassen das nicht CAPTCHA-Like aus dem Internet zu, sonst hat man eh andere Probleme.

Aber ja: Machen kann man das sicherlich, und je öfter man das macht, desto mehr hat die Zentrale zu tun, und desto unwahrscheinlicher wird es, das man zufällig einen Moment erwischt, der die WebUI wegen falscher Werte zum Anzeigeabsturz bringt, desto mehr gejammer gibt es, das man einen Pi 5 mit 8 GHz und 16 Kernen braucht, weil selbst der Pi 3 unsagbar langsam geworden ist.

Der Familienvater
Familienvater
 
Beiträge: 4885
Registriert: 31.12.2006, 16:18
Wohnort: Rhein-Main

Re: Vermeidung von Steuerzeichen in der WebGui

Beitragvon alchy » 21.07.2017, 22:56

lt. Changelog der aktuellen 2.29.18

[HMCCU2-1356] Nach Verwendung des Zeichens \ (Backslash) innerhalb von Variablennamen oder
der Variablenbeschreibung, konnte die Seite Einstellungen/Systemvariable nicht mehr aufgerufen werden. Der Backslash wird nun nicht mehr als gültiges Zeichen
akzeptiert und wird herausgefiltert.


behoben.

Alchy

Nuvole Bianche - il Mondo È Nostro - one last ride - I Will Return - salud, mi familia


Lies bitte die Logik von WebUI Programmen und die Tipps und Tricks für Anfänger.

Wichtig auch CUxD ersetzt den bösen System.exec. Die HM Script Doku hilft auch weiter.
Zum Testen von Scripten den >> HomeMatic Script Executor << von Anli benutzen.
alchy
 
Beiträge: 5486
Registriert: 24.02.2011, 02:34


Zurück zu HomeMatic - bekannte Bugs

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast







© homematic-forum.de & Lizenzgebern. Alle Rechte vorbehalten. Alle Bilder & Texte auf dieser Seite sind Eigentum
der jeweiligen Besitzer und dürfen ohne deren Einwilligung weder kopiert noch sonstwie weiter verwendet werden.