NEWS
Simple-api stateId mit #
-
Hallo,
In meinen iobroker sind mehrere shelly1 geräte mit dem shelly adapter integriert.
Mein Ziel ist es nun mit dem simple-api adapter dessen werte auslesen und tooglen zu können.
Allerdings haben alle shellys hashes in ihrerer stateId enthalten, z.B.: shelly.0.SHSW-1#0581D0#1.Relay0.Switch.
Da ein hash als fragment identifier behandelt wird sagt simple-api dass das Objekt nicht gefunden wurde.
Daraufhin hab ich es mit prozent encoding versucht, doch %23 hat bei befehlen wie get, getPlainValue oder toggle nicht funktioniert.
Lediglich bei befehlen in welchen ich die id im query string angeben kann (z.B. objects?pattern=) hat %23 funktioniert. Da ich so jedoch den Value nicht ändern kann bringt mir das leider nichts.
Weiß jemand hier wie ich dieses Problem lösen kann?
-
Hast du mal einen beispiel call der Nicht tut?
Gesendet vom Handy …
-
Ja klar,
ohne encoding:
getPlainValue/shelly.0.SHSW-1#0581D0#1.Relay0.Switch
error: datapoint "shelly.0.SHSW-1" not found.
mit encoding:
getPlainValue/shelly.0.SHSW-1%230581D0%231.Relay0.Switch
error: datapoint "shelly.0.SHSW-1%230581D0%231.Relay0.Switch" not found
-
Du testest das wie? Im Browser? Per curl? Teste mal per curl bitte
Gesendet vom Handy …
-
Hab es gerade mit curl versucht, leider das selbe resultat.
-
Bei curl auch mit %23 probiert?
Gesendet vom Handy …
-
Ja, wieder einmal mit und einmal ohne probiert.
-
Eigentlich sollte
decodeURI(req.url);
Die Arbeit machen…
-
Laut docu von decodeUri():
` > DescriptionReplaces each escape sequence in the encoded URI with the character that it represents, but does not decode escape sequences that could not have been introduced by encodeURI. The character “#” is not decoded from escape sequences. `
https://developer.mozilla.org/en-US/doc … /decodeURI -
-
Ihr könnt mal die Instanz per debug ligature starten und dann einen Zugriff machen. Log hier bitte Posten.
Gesendet vom Handy …
-
Bitte 2.0.1 vm Github versuchen und Rückmeldung geben
-
Mit der neusten Version (2.0.2) von Github ist das Problem gelöst. Danke