Replies: 6 comments 24 replies
-
Ausführung per "Programme und Verknüpfungen" > "Skript testen". Alles zusammen in einer Liste: Scriptvar svList = dom.GetObject(ID_SYSTEM_VARIABLES);
var prgList = dom.GetObject(ID_PROGRAMS);
string id;
Write("VARS:")
WriteLine('');
foreach(id, svList.EnumIDs())
{
var sv = dom.GetObject(id);
string description;
if (sv)
{
var desc = sv.DPInfo();
if (desc) {
description = desc;
} else {
description = "";
}
Write("name: " # sv.Name() # "");
WriteLine('');
Write("description: " # description # "");
WriteLine('');
}
}
WriteLine('');
WriteLine('');
Write('PROGRAMS');
WriteLine('');
foreach(id, prgList.EnumIDs())
{
var prg = dom.GetObject(id);
string description;
if (prg)
{
var desc = prg.PrgInfo();
if (desc) {
description = desc;
} else {
description = "";
}
Write("name: " # prg.Name() # "");
WriteLine('');
Write("description: " # description # "");
WriteLine('');
}
} Um dann rauszufinden, wo falsche Werte drin sind, z.B. Alles in Editor packen, suchen nach Regex: [<>'"&$[]{}\] Bei mir sind die folgenden mit nicht erlaubten Zeichen:
Was ist der Hintergrund dieser neuerdings nicht mehr erlaubten Zeichen? Mir hat es heute Morgen meine Haussteuerung lahmgelegt bis ich die beta Version aus HACS installiert habe. |
Beta Was this translation helpful? Give feedback.
-
Da es ja primär darum geht "verbotene Zeichen" (in den Beschreibungen) aufzuspüren habe ich das Script von @eikowagenknecht etwas "umgebaut". Script
EDIT SukramJ: Ich hab das Skript auf die wirklich problematischen Zeichen reduziert. |
Beta Was this translation helpful? Give feedback.
-
Hatte das Problem mit eine Tab Zeichen das vermutlich durch Copy&Paste in eine Beschreibung gelangt ist. |
Beta Was this translation helpful? Give feedback.
-
Hallo Zusammen. Ich bin hier auf diesen thread eigentlich gestoßen weil die letzte 1.73.0 Version der Integration bei mir dazu führte das man von HA aus in meiner eigenen produktiven RaspberryMatic gar nichts mehr schalten konnte. Das ist aber ggf nen anderes Problem Nun frag dich mich gerade wenn ich mir diesen testscript hier genau anschaue was hier genau die Motivation eigentlich ist? Und ich hab auch im ChangeLog der 1.74.0 Version gesehen das es anscheinend invalide Zeichen geben soll die nicht in descriptions (DPInfo) landen dürfen weil sonst das übergebene JSON invalide wird? Gibt es einen Grund wieso ihr die Zeichen nicht einfach escapen könnt bevor ihr sie übergebt? Oder warum macht ihr nicht einfach mit Urlencode daraus ein URL kodierten String den ihr dann auf HA Seite wieder decodiert? Dann könnte man eigentlich ja jeglichen String rüberschicken weil ja dann " und space und Tab nicht vorkommen können und dann zerlegt die Integration das in seine Bestandteile bzw macht dann ein url decoding, usw. Wäre das nicht ein praktikabler Ansatz? Und wenn URL Encoding nicht reicht könnte man auch ggf. den gesamten String base64 encoden oder so?!? |
Beta Was this translation helpful? Give feedback.
-
Bitte mal mit der 1.75.0b0 testen. |
Beta Was this translation helpful? Give feedback.
-
Hallo, vielen Dank für die Infos und das Script, das hat sehr geholfen. Gleichwohl nach Entfernung der ganannten Zeichen < > ' " & $ [ ] { } \ hatte ich immer noch die Fehlermeldung. Ich habe dann auch noch die Umlaute Ä Ö Ü und den Unterstrich _ entfernt um den Fehler zu beheben. Leider habe ich Umlaute und Unterstrich gemeinsam entfernt, so dass ich jetzt nicht weiß, ob es an den Umlauten, dem Unterstrich oder Beidem gelegen hat. |
Beta Was this translation helpful? Give feedback.
-
Sofern die Beschreibungen von Systemvariablen und Programmen unerlaubte Zeichen (" und \ ) enthalten, können diese nicht mehr geladen werden.
Mit den folgenden beiden Skripten können die bei der CCU abgefragten Systemvariablen untersucht werden.
Bitte die Beschreibungen auf nicht erlaubte Zeichen kontrollieren.
EDIT: Es sind nur die Zeichen " und \ \ problematisch!!
Ein Testskript findet ihr hier.
Beta Was this translation helpful? Give feedback.
All reactions