NEWS
Rest-API - Verständnisproblem
-
Der Titel ist etwas beschränkt, daher hier mein Ansinnen mit ein paar mehr Worten. Ich habe seit geraumer Zeit den Simple-Api im Einsatz, hauptsächlich um Daten von ESPxx ins Sytem zu bekommen. Es hat mal irgendwo geheißen, dass 'man' mittelfristig auf den leistungsfähigerern Rest-API umsteigen sollte.
Mit der Swagger-Seite komme ich so nicht wirklich zurecht. Erster Versuch war das Auslesen eines States. http://192.168.69.112:8093/v1/state/0_userdata.0.Test.Werte.Value liefert mir den richtigen Wert. Nun möchte ich diesen Wert mit einem anderen Wert überschreiben. Und hier komme ich nicht weiter. Der Versuch im Swagger via 'patch' den Wert zu setzen schlägt fehl. Mögliche Fehlermeldung:{ "id": "0_userdata.0.Test.Werte.Value", "error": "Error: The state contains no properties! At least one property is expected!" }Wie ich dann den http-Befehl in den ESP bekomme ist dann noch die zweite Baustelle.
Das ist übrigens nicht der erste Versuch mit Rest-API, ich habe bisher immer erfolglos abgebrochen. Muss doch gehen oder denke ich hier völlig falsch?
-
Der Titel ist etwas beschränkt, daher hier mein Ansinnen mit ein paar mehr Worten. Ich habe seit geraumer Zeit den Simple-Api im Einsatz, hauptsächlich um Daten von ESPxx ins Sytem zu bekommen. Es hat mal irgendwo geheißen, dass 'man' mittelfristig auf den leistungsfähigerern Rest-API umsteigen sollte.
Mit der Swagger-Seite komme ich so nicht wirklich zurecht. Erster Versuch war das Auslesen eines States. http://192.168.69.112:8093/v1/state/0_userdata.0.Test.Werte.Value liefert mir den richtigen Wert. Nun möchte ich diesen Wert mit einem anderen Wert überschreiben. Und hier komme ich nicht weiter. Der Versuch im Swagger via 'patch' den Wert zu setzen schlägt fehl. Mögliche Fehlermeldung:{ "id": "0_userdata.0.Test.Werte.Value", "error": "Error: The state contains no properties! At least one property is expected!" }Wie ich dann den http-Befehl in den ESP bekomme ist dann noch die zweite Baustelle.
Das ist übrigens nicht der erste Versuch mit Rest-API, ich habe bisher immer erfolglos abgebrochen. Muss doch gehen oder denke ich hier völlig falsch?
@rene55 sagte in Rest-API - Verständnisproblem:
Nun möchte ich diesen Wert mit einem anderen Wert überschreiben. Und hier komme ich nicht weiter
Das ist eigentlich trivial.
https://github.com/ioBroker/ioBroker.simple-api?tab=readme-ov-file#set
http://ipaddress:8087/set/javascript.0.test?value=1 -
@rene55 sagte in Rest-API - Verständnisproblem:
Nun möchte ich diesen Wert mit einem anderen Wert überschreiben. Und hier komme ich nicht weiter
Das ist eigentlich trivial.
https://github.com/ioBroker/ioBroker.simple-api?tab=readme-ov-file#set
http://ipaddress:8087/set/javascript.0.test?value=1@codierknecht Wenn ich das richtig sehe, ist das aus dem Simple-API und nicht für den Rest.-API.
-
@codierknecht Wenn ich das richtig sehe, ist das aus dem Simple-API und nicht für den Rest.-API.
@rene55
Stimmt - habe ich auf die Schnelle verwechselt. -
@rene55
Stimmt - habe ich auf die Schnelle verwechselt.@codierknecht Alles gut. Ich hatte auch nicht auf eine schnelle Antwort gehofft. :blush:
-
@codierknecht Alles gut. Ich hatte auch nicht auf eine schnelle Antwort gehofft. :blush:
@rene55 sagte in Rest-API - Verständnisproblem:
Ich hatte auch nicht auf eine schnelle Antwort gehofft
Warum nicht? :grin: :grin: :grin:

-
Der Titel ist etwas beschränkt, daher hier mein Ansinnen mit ein paar mehr Worten. Ich habe seit geraumer Zeit den Simple-Api im Einsatz, hauptsächlich um Daten von ESPxx ins Sytem zu bekommen. Es hat mal irgendwo geheißen, dass 'man' mittelfristig auf den leistungsfähigerern Rest-API umsteigen sollte.
Mit der Swagger-Seite komme ich so nicht wirklich zurecht. Erster Versuch war das Auslesen eines States. http://192.168.69.112:8093/v1/state/0_userdata.0.Test.Werte.Value liefert mir den richtigen Wert. Nun möchte ich diesen Wert mit einem anderen Wert überschreiben. Und hier komme ich nicht weiter. Der Versuch im Swagger via 'patch' den Wert zu setzen schlägt fehl. Mögliche Fehlermeldung:{ "id": "0_userdata.0.Test.Werte.Value", "error": "Error: The state contains no properties! At least one property is expected!" }Wie ich dann den http-Befehl in den ESP bekomme ist dann noch die zweite Baustelle.
Das ist übrigens nicht der erste Versuch mit Rest-API, ich habe bisher immer erfolglos abgebrochen. Muss doch gehen oder denke ich hier völlig falsch?
-
Der Titel ist etwas beschränkt, daher hier mein Ansinnen mit ein paar mehr Worten. Ich habe seit geraumer Zeit den Simple-Api im Einsatz, hauptsächlich um Daten von ESPxx ins Sytem zu bekommen. Es hat mal irgendwo geheißen, dass 'man' mittelfristig auf den leistungsfähigerern Rest-API umsteigen sollte.
Mit der Swagger-Seite komme ich so nicht wirklich zurecht. Erster Versuch war das Auslesen eines States. http://192.168.69.112:8093/v1/state/0_userdata.0.Test.Werte.Value liefert mir den richtigen Wert. Nun möchte ich diesen Wert mit einem anderen Wert überschreiben. Und hier komme ich nicht weiter. Der Versuch im Swagger via 'patch' den Wert zu setzen schlägt fehl. Mögliche Fehlermeldung:{ "id": "0_userdata.0.Test.Werte.Value", "error": "Error: The state contains no properties! At least one property is expected!" }Wie ich dann den http-Befehl in den ESP bekomme ist dann noch die zweite Baustelle.
Das ist übrigens nicht der erste Versuch mit Rest-API, ich habe bisher immer erfolglos abgebrochen. Muss doch gehen oder denke ich hier völlig falsch?
-
Ach schau mal
Hier gibts ein issue dazu
https://github.com/ioBroker/ioBroker.rest-api/issues/54Wenn du es selbst programmierst kannst du ja den richtigen Header setzen
@oliverio
Wobei man für das einfache Setzen eines State japatchauch gar nicht benötigthttp://192.168.179.13:8093/v1/command/setState?id=0_userdata.0.Test.differenz&state=42 -
@oliverio
Wobei man für das einfache Setzen eines State japatchauch gar nicht benötigthttp://192.168.179.13:8093/v1/command/setState?id=0_userdata.0.Test.differenz&state=42Wenn er bei simple api bleibt.
Der arbeitet nur mit der get Methode und was gemacht werden soll steht in der Adresse als Parameter drin.Rest api und simple api sind unterschiedlich.
Das eine ist direkt im Admin eingebaut, das andere ist ein zusätzlicher Adapter -
@oliverio
Wobei man für das einfache Setzen eines State japatchauch gar nicht benötigthttp://192.168.179.13:8093/v1/command/setState?id=0_userdata.0.Test.differenz&state=42@codierknecht Erster Erfolg: mit http://192.168.69.112:8093/v1/command/setState?id=0_userdata.0.Test.Werte.Value&state=41 funktioniert es.
-
Wenn er bei simple api bleibt.
Der arbeitet nur mit der get Methode und was gemacht werden soll steht in der Adresse als Parameter drin.Rest api und simple api sind unterschiedlich.
Das eine ist direkt im Admin eingebaut, das andere ist ein zusätzlicher Adapter@oliverio sagte in Rest-API - Verständnisproblem:
Wenn er bei simple api bleibt.
Bleibt er ja nicht. Er hat Rest-API ... so wie ich in meinem letzten Beispiel auch.
-
Ach schau mal
Hier gibts ein issue dazu
https://github.com/ioBroker/ioBroker.rest-api/issues/54Wenn du es selbst programmierst kannst du ja den richtigen Header setzen
-
@oliverio sagte in Rest-API - Verständnisproblem:
Wenn er bei simple api bleibt.
Bleibt er ja nicht. Er hat Rest-API ... so wie ich in meinem letzten Beispiel auch.
Dann sorry, sieht zu ähnlich aus
Bei echtem Rest wäre aber so ein Befehl unnötigAber ist halt alles philosophisch die Unterscheidung
-
Dann sorry, sieht zu ähnlich aus
Bei echtem Rest wäre aber so ein Befehl unnötigAber ist halt alles philosophisch die Unterscheidung
@oliverio sagte in Rest-API - Verständnisproblem:
sieht zu ähnlich aus
Darum komme ich da auch ständig durcheinander :grin:
-
@oliverio sagte in Rest-API - Verständnisproblem:
sieht zu ähnlich aus
Darum komme ich da auch ständig durcheinander :grin:
@codierknecht Jetzt muss ich nur noch schauen, wenn es für API einen Benutzer mit Password gibt. Im Simple-Api wurde es einfach hinten angehangen.
-
@codierknecht Jetzt muss ich nur noch schauen, wenn es für API einen Benutzer mit Password gibt. Im Simple-Api wurde es einfach hinten angehangen.
@rene55 sagte in Rest-API - Verständnisproblem:
wenn es für API einen Benutzer mit Password gibt
Wer macht denn sowas? ;-)
Basic-Authentication müsste wohl als zusätzlicher Header mitgegeben werden.

-
Dann sorry, sieht zu ähnlich aus
Bei echtem Rest wäre aber so ein Befehl unnötigAber ist halt alles philosophisch die Unterscheidung
-
@rene55 sagte in Rest-API - Verständnisproblem:
wenn es für API einen Benutzer mit Password gibt
Wer macht denn sowas? ;-)
Basic-Authentication müsste wohl als zusätzlicher Header mitgegeben werden.

@codierknecht Ja, mit ein Grund, auf was 'modernes' umzusteigen! Wobei ich dann noch erlernen muss, wie ich denn im ESP einen curl abgesetzt bekommen - andere Baustelle (aber gehört ins Gesamtpaket).
-
@codierknecht Ja, mit ein Grund, auf was 'modernes' umzusteigen! Wobei ich dann noch erlernen muss, wie ich denn im ESP einen curl abgesetzt bekommen - andere Baustelle (aber gehört ins Gesamtpaket).