Immer wieder das Gleiche.
Auch wenn FischerICT da leider hin und her springt (wie ich schon moniert hatte), kein Fehlerprotokoll postet, was sicherlich geholfen hätte usw....
Aber es gibt ja nur einen String der ein ~ enthält. Das solltest du doch nachvollziehen können.
Code: Alles auswählen
string url="http://USER:PASSWORT@IP/control/rcontrol?action=customfunction&action=sigout&profile=~Door";
nachzuvollziehen? Ich mach das mal schnell hoffentlich poppofein genug:FischerICT hat geschrieben: ↑19.12.2018, 16:44Das Problem ist, dass bei der CCU3 in dem String das Sonderzeichen "~" falsch übergeben wird. Hier kommt ein " an welches den String ungültig macht.
Code: Alles auswählen
string stdout;string stderr;
system.Exec("cat /boot/VERSION",&stdout,&stderr);
WriteLine(stdout);
WriteLine("Version: " # dom.Version());
WriteLine("Build: " # dom.BuildLabel());
WriteLine("\r\n Teststart");
string url=" ein ~ wird gewandelt ein & oder ein = bleibt ";
WriteLine(url);
Code: Alles auswählen
VERSION=3.41.11
Version: 2.1.369
Build: R1.00.0388.0203
Teststart
ein " wird gewandelt ein & oder ein = bleibt
Und klar, wenn der Empfänger im Aufruf
....&profile=~Door
erwartet und im besten Fall ein
....&profile="Door
übergeben wird, dann ist das nun mal falsch und die Meldung ist berechtigt.
PS:
Das war "früher" meines Erachtens nicht so, ich habe aber keinen Bock mehr nachzuschauen ab wann das so ist.
Spielt auch keine Rolle, Alzheimer im Forum ist eh sehr, sehr weit verbreitet. Aktuell auf CCU2 siehe Testscriptausgabe kann ich den Bug nachvollziehen.
PSPS:
Was den Hinweis von 66er angeht.
Die Aussage ist nicht ganz richtig. Da geht es um problematische Sonderzeichen bei Übergabe mittels Klickibunti, und nicht mittels Script, wie auch Uwe korrekt im Handbuch schreibt:
Die Notwendigkeit war und ist immer noch gegeben, wenn man über die Klickibunti Befehle einträgt. Mit Scripteintrag hat das aber *IMHO* wenig zu tun.Werden als Parameter im WebUI-Eingabeformularfeld Anführungs- oder Sonderzeichen (z.B. '=', '&', ...) verwendet, dann kann es bei der Verarbeitung dieser Eingaben durch die WebUI Probleme geben! Als Ergebnis werden Teile der Eingabe bzw. die gesamte Eingabe nicht korrekt übergeben. Als Alternative können solche Sonderzeichen deshalb auch hexadezimal im Format ~XX (z.B. ~3d als Ersatz für das '=' Zeichen) eingegeben werden.
Leicht zu testen, wenn man mittels Script einen korrekten Befehl mit & und = in ein CMD Feld einträgt und dann diesen z.B. per Copy & Paste in ein anderes CMD Feld kopiert, wird dieser nicht oder nur teilweise übernommen. Aber das führt hier zu weit.
Wenn 66er wirklich in seinen Scripten dies auch so getan hat, dann sollten wohl die ein oder anderen Aufrufe jetzt nicht mehr funktionieren.
Es sei denn, es ist kein allgemein gültiges Problem, sondern wieder mal CCCU/Rhaspi/Rega/Build/Versions..... Problem
Alchy