Ankündigung

Einklappen
Keine Ankündigung bisher.

sendHttpGetRequest mit Escape Zeichen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    sendHttpGetRequest mit Escape Zeichen

    Hallo zusammen,

    ich erstelle mir gerade eine Rule die vom Color Item die Werte an ein RGB WiFi Controller (dieser hier) senden soll.

    Allerdings benötige ich zwei Escape Zeichen in der Url, welche nicht umgesetzt werden:

    Code:
    ERROR o.o.c.s.ScriptExecutionThread[:48]- Error during the execution of rule 'Set RGB value ITEM LICHT_RGB_KUECHE'
    java.lang.NullPointerException: null
            at org.openhab.model.script.interpreter.ScriptInterpreter.internalFeatureCallDispatch(ScriptInterpreter.java:66)
            at org.eclipse.xtext.xbase.interpreter.impl.XbaseInterpreter._evaluateMemberFeatureCall(XbaseInterpreter.java:549)
            at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            at java.lang.reflect.Method.invoke(Method.java:606)
            at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:291)
    Der Request sieht wie folgt aus:

    Code:
    httpRGBKueche = "http://172.18.222.222:5577" + "\x56" + redValueKuecheHexStr + "." + greenValueKuecheHexStr + "." + blueValueKuecheHexStr + "\xaa"
    
    sendHttpGetRequest(httpRGBKueche)
    Aussehen sollte das ganze vermutlich dann so:

    Code:
     http://192.168.222.222:5577/\x56.48.7.2d\xaa
    Leider habe ich das Gerät noch nicht um mit sniffen/fiddlern zu können - habe mir den URL-String aus dem fhem forum abgeschaut ;-)

    Fhem Snippsel:
    Code:
    my ($socket,$client_socket);
    $socket = new IO::Socket::INET (
        PeerHost => '10.16.254.78',
        PeerPort => '5577',
        Proto => 'tcp',
    ) or die "ERROR in Socket Creation : $!\n";
    
    # send RGB command
    #$data = $ARGV[0];
    #RRGGBB
    $socket->send("\x56" . chr($colors[0]) . chr($colors[1]) . chr($colors[2]) . "\xaa");
    sleep (1);
    
    $socket->close();
    Ist es denn überhaupt möglich Escape Zeichen einzubauen? Oder hat jemand noch einne andere Idee? Oder aber ich interpretiere den Code falsch ;-)

    Grüße,
Lädt...
X