JSON Problem

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
kaloschke
Beiträge: 193
Registriert: 29. Jan 2019 07:20
Answers: 0

JSON Problem

Beitrag von kaloschke »

Hallo,.

ich möchte aus dem JSON eines http-Request eine Information rausziehen, bekomme dabei aber immer eine "Invalid path" Exception.
Wenn ich das JSON und den Path auf http://jsonpath.com/ teste, erhalte ich das gewünschte Ergebnis.

Mein Item:

Code: Alles auswählen

String RadioState "Value: [%s]" { http="<[http://192.168.2.222:8085/raumserver/data/getRendererState:1000:JSONPATH($.data.0.rooms.0.PowerState)]" }
Mein JSON (bisschen lang, sorry) :

Code: Alles auswählen

{"requestUrl":"/raumserver/data/getRendererState","action":"getRendererState","error":false,"msg":"","data":[{"Mute":0,"InstanceID":0,"RoomStates":"","RoomVolumes":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9=40","Volume":"40","CurrentTrackMetaData":"<?xml version=\"1.0\"?>\n<DIDL-Lite xmlns=\"urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/\" xmlns:raumfeld=\"urn:schemas-raumfeld-com:meta-data/raumfeld\" xmlns:upnp=\"urn:schemas-upnp-org:metadata-1-0/upnp/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dlna=\"urn:schemas-dlna-org:metadata-1-0/\" xmlns:pv=\"http://www.pv.com/pvns/\" lang=\"en\"><item parentID=\"0/Favorites/MyFavorites\" id=\"0/Favorites/MyFavorites/97\" restricted=\"1\" refID=\"0/RadioTime/Search/s-s8954\"><raumfeld:name>Station</raumfeld:name><upnp:class>object.item.audioItem.audioBroadcast.radio</upnp:class><raumfeld:section>RadioTime</raumfeld:section><raumfeld:durability>120</raumfeld:durability><dc:title>radio ffn</dc:title><upnp:albumArtURI dlna:profileID=\"JPEG_TN\">http://d1i6vahw24eb07.cloudfront.net/s8954q.png</upnp:albumArtURI><raumfeld:ebrowse>http://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&amp;formats=wma%2Cmp3%2Cogg&amp;serial=54%3A4a%3A16%3A7f%3Ad3%3Ac5&amp;id=s8954&amp;c=ebrowse</raumfeld:ebrowse><res bitrate=\"192\" protocolInfo=\"http-get:*:audio/x-mpegurl:*\">http://opml.radiotime.com/Tune.ashx?id=e110020815&amp;sid=s8954&amp;formats=wma,mp3,ogg&amp;partnerId=7aJ9pvV5&amp;serial=54:4a:16:7f:d3:c5</res></item></DIDL-Lite>\n","CurrentRecordQualityMode":"NOT_IMPLEMENTED","AbsoluteTimePosition":"00:00:00","SecondsUntilSleep":"0","CurrentTrack":"4","AVTransportURIMetaData":"<?xml version=\"1.0\"?>\n<DIDL-Lite xmlns=\"urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/\" xmlns:upnp=\"urn:schemas-upnp-org:metadata-1-0/upnp/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dlna=\"urn:schemas-dlna-org:metadata-1-0/\" xmlns:pv=\"http://www.pv.com/pvns/\"><item restricted=\"1\"/></DIDL-Lite>\n","PossiblePlaybackStorageMedia":"NETWORK","TransportPlaySpeed":"1","CurrentTrackDuration":"00:00:00","PossibleRecordQualityModes":"NOT_IMPLEMENTED","Bitrate":"192","PossibleRecordStorageMedia":"NONE","AVTransportURI":"dlna-playcontainer://uuid%3A545be55b-1d97-4872-94f0-99c7893bd97a?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&cid=0%2FFavorites%2FMyFavorites&md=0&fii=0","RelativeTimePosition":"00:00:00","RelativeCounterPosition":"1","CurrentPlayMode":"NORMAL","TransportState":"STOPPED","AbsoluteCounterPosition":"1","CurrentTransportActions":"","ContentType":"MP3","NumberOfTracks":"4","SleepTimerActive":"0","TransportStatus":"OK","CurrentTrackURI":"http://stream.ffn.de/ffn/mp3-192/stream.mp3?ref=tunein","RoomMutes":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9=0","rooms":[{"roomUDN":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9","Volume":"40","Mute":"0","name":"Kueche","PowerState":"MANUAL_STANDBY","online":true,"udn":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9","powerState":"MANUAL_STANDBY","renderer":[{"udn":"uuid:97883760-3c5e-4d85-9fd6-fa0c860fc243","name":"Speaker Kueche"}]}],"udn":"uuid:de4c540c-f389-4937-ae87-a573ed4e5e6c","mediaItem":{"class":"object.item.audioItem.audioBroadcast.radio","section":"RadioTime","name":"Station","durability":"120","childCount":null,"parentID":"0/Favorites/MyFavorites","id":"0/Favorites/MyFavorites/97","restricted":"1","refID":"0/RadioTime/Search/s-s8954","title":"radio ffn","description":null,"artist":null,"albumArtURI":"http://d1i6vahw24eb07.cloudfront.net/s8954q.png","genre":null,"album":null,"date":null,"creator":null,"originalTrackNumber":null,"bitrate":"192","protocolInfo":"http-get:*:audio/x-mpegurl:*","signalStrength":null,"ebrowse":"http://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=54%3A4a%3A16%3A7f%3Ad3%3Ac5&id=s8954&c=ebrowse"},"friendlyName":"Kueche","host":"192.168.2.103","manufacturer":"Lautsprecher Teufel GmbH","modelNumber":"1"},{"InstanceID":0,"AVTransportURIMetaData":"","CurrentTrackDuration":"NOT_IMPLEMENTED","PowerState":"MANUAL_STANDBY","AVTransportURI":"","CurrentPlayMode":"NORMAL","TransportState":"NO_MEDIA_PRESENT","OwnsAudioResource":"0","CurrentTransportActions":"","TransportStatus":"OK","LowDB":"0.000000","Mute":"0","MidDB":"0.000000","Volume":"40","HighDB":"0.000000","rooms":[{"name":"Kueche","udn":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9","powerState":"MANUAL_STANDBY","renderer":[{"udn":"uuid:97883760-3c5e-4d85-9fd6-fa0c860fc243","name":"Speaker Kueche"}]}],"udn":"uuid:97883760-3c5e-4d85-9fd6-fa0c860fc243","mediaItem":null,"friendlyName":"Speaker Kueche","host":"192.168.2.103","manufacturer":"Lautsprecher Teufel GmbH","modelNumber":"1"}]}
Das Log:

Code: Alles auswählen

2020-04-01 16:27:53.478 [WARN ] [ab.binding.http.internal.HttpBinding] - Transformation 'JSONPATH($.data.0.rooms.0.PowerState)' threw an exception. [response={"requestUrl":"/raumserver/data/getRendererState","action":"getRendererState","error":false,"msg":"","data":[{"Mute":0,"InstanceID":0,"RoomStates":"","RoomVolumes":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9=40","Volume":"40","CurrentTrackMetaData":"<?xml version=\"1.0\"?>\n<DIDL-Lite xmlns=\"urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/\" xmlns:raumfeld=\"urn:schemas-raumfeld-com:meta-data/raumfeld\" xmlns:upnp=\"urn:schemas-upnp-org:metadata-1-0/upnp/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dlna=\"urn:schemas-dlna-org:metadata-1-0/\" xmlns:pv=\"http://www.pv.com/pvns/\" lang=\"en\"><item parentID=\"0/Favorites/MyFavorites\" id=\"0/Favorites/MyFavorites/97\" restricted=\"1\" refID=\"0/RadioTime/Search/s-s8954\"><raumfeld:name>Station</raumfeld:name><upnp:class>object.item.audioItem.audioBroadcast.radio</upnp:class><raumfeld:section>RadioTime</raumfeld:section><raumfeld:durability>120</raumfeld:durability><dc:title>radio ffn</dc:title><upnp:albumArtURI dlna:profileID=\"JPEG_TN\">http://d1i6vahw24eb07.cloudfront.net/s8954q.png</upnp:albumArtURI><raumfeld:ebrowse>http://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&amp;formats=wma%2Cmp3%2Cogg&amp;serial=54%3A4a%3A16%3A7f%3Ad3%3Ac5&amp;id=s8954&amp;c=ebrowse</raumfeld:ebrowse><res bitrate=\"192\" protocolInfo=\"http-get:*:audio/x-mpegurl:*\">http://opml.radiotime.com/Tune.ashx?id=e110020815&amp;sid=s8954&amp;formats=wma,mp3,ogg&amp;partnerId=7aJ9pvV5&amp;serial=54:4a:16:7f:d3:c5</res></item></DIDL-Lite>\n","CurrentRecordQualityMode":"NOT_IMPLEMENTED","AbsoluteTimePosition":"00:00:00","SecondsUntilSleep":"0","CurrentTrack":"4","AVTransportURIMetaData":"<?xml version=\"1.0\"?>\n<DIDL-Lite xmlns=\"urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/\" xmlns:upnp=\"urn:schemas-upnp-org:metadata-1-0/upnp/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dlna=\"urn:schemas-dlna-org:metadata-1-0/\" xmlns:pv=\"http://www.pv.com/pvns/\"><item restricted=\"1\"/></DIDL-Lite>\n","PossiblePlaybackStorageMedia":"NETWORK","TransportPlaySpeed":"1","CurrentTrackDuration":"00:00:00","PossibleRecordQualityModes":"NOT_IMPLEMENTED","Bitrate":"192","PossibleRecordStorageMedia":"NONE","AVTransportURI":"dlna-playcontainer://uuid%3A545be55b-1d97-4872-94f0-99c7893bd97a?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&cid=0%2FFavorites%2FMyFavorites&md=0&fii=0","RelativeTimePosition":"00:00:00","RelativeCounterPosition":"1","CurrentPlayMode":"NORMAL","TransportState":"STOPPED","AbsoluteCounterPosition":"1","CurrentTransportActions":"","ContentType":"MP3","NumberOfTracks":"4","SleepTimerActive":"0","TransportStatus":"OK","CurrentTrackURI":"http://stream.ffn.de/ffn/mp3-192/stream.mp3?ref=tunein","RoomMutes":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9=0","rooms":[{"roomUDN":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9","Volume":"40","Mute":"0","name":"Kueche","PowerState":"MANUAL_STANDBY","online":true,"udn":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9","powerState":"MANUAL_STANDBY","renderer":[{"udn":"uuid:97883760-3c5e-4d85-9fd6-fa0c860fc243","name":"Speaker Kueche"}]}],"udn":"uuid:de4c540c-f389-4937-ae87-a573ed4e5e6c","mediaItem":{"class":"object.item.audioItem.audioBroadcast.radio","section":"RadioTime","name":"Station","durability":"120","childCount":null,"parentID":"0/Favorites/MyFavorites","id":"0/Favorites/MyFavorites/97","restricted":"1","refID":"0/RadioTime/Search/s-s8954","title":"radio ffn","description":null,"artist":null,"albumArtURI":"http://d1i6vahw24eb07.cloudfront.net/s8954q.png","genre":null,"album":null,"date":null,"creator":null,"originalTrackNumber":null,"bitrate":"192","protocolInfo":"http-get:*:audio/x-mpegurl:*","signalStrength":null,"ebrowse":"http://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=54%3A4a%3A16%3A7f%3Ad3%3Ac5&id=s8954&c=ebrowse"},"friendlyName":"Kueche","host":"192.168.2.103","manufacturer":"Lautsprecher Teufel GmbH","modelNumber":"1"},{"InstanceID":0,"AVTransportURIMetaData":"","CurrentTrackDuration":"NOT_IMPLEMENTED","PowerState":"MANUAL_STANDBY","AVTransportURI":"","CurrentPlayMode":"NORMAL","TransportState":"NO_MEDIA_PRESENT","OwnsAudioResource":"0","CurrentTransportActions":"","TransportStatus":"OK","LowDB":"0.000000","Mute":"0","MidDB":"0.000000","Volume":"40","HighDB":"0.000000","rooms":[{"name":"Kueche","udn":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9","powerState":"MANUAL_STANDBY","renderer":[{"udn":"uuid:97883760-3c5e-4d85-9fd6-fa0c860fc243","name":"Speaker Kueche"}]}],"udn":"uuid:97883760-3c5e-4d85-9fd6-fa0c860fc243","mediaItem":null,"friendlyName":"Speaker Kueche","host":"192.168.2.103","manufacturer":"Lautsprecher Teufel GmbH","modelNumber":"1"}]}]
org.openhab.core.transform.TransformationException: Invalid path '$.data.0.rooms.0.PowerState' in '{"requestUrl":"/raumserver/data/getRendererState","action":"getRendererState","error":false,"msg":"","data":[{"Mute":0,"InstanceID":0,"RoomStates":"","RoomVolumes":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9=40","Volume":"40","CurrentTrackMetaData":"<?xml version=\"1.0\"?>\n<DIDL-Lite xmlns=\"urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/\" xmlns:raumfeld=\"urn:schemas-raumfeld-com:meta-data/raumfeld\" xmlns:upnp=\"urn:schemas-upnp-org:metadata-1-0/upnp/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dlna=\"urn:schemas-dlna-org:metadata-1-0/\" xmlns:pv=\"http://www.pv.com/pvns/\" lang=\"en\"><item parentID=\"0/Favorites/MyFavorites\" id=\"0/Favorites/MyFavorites/97\" restricted=\"1\" refID=\"0/RadioTime/Search/s-s8954\"><raumfeld:name>Station</raumfeld:name><upnp:class>object.item.audioItem.audioBroadcast.radio</upnp:class><raumfeld:section>RadioTime</raumfeld:section><raumfeld:durability>120</raumfeld:durability><dc:title>radio ffn</dc:title><upnp:albumArtURI dlna:profileID=\"JPEG_TN\">http://d1i6vahw24eb07.cloudfront.net/s8954q.png</upnp:albumArtURI><raumfeld:ebrowse>http://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&amp;formats=wma%2Cmp3%2Cogg&amp;serial=54%3A4a%3A16%3A7f%3Ad3%3Ac5&amp;id=s8954&amp;c=ebrowse</raumfeld:ebrowse><res bitrate=\"192\" protocolInfo=\"http-get:*:audio/x-mpegurl:*\">http://opml.radiotime.com/Tune.ashx?id=e110020815&amp;sid=s8954&amp;formats=wma,mp3,ogg&amp;partnerId=7aJ9pvV5&amp;serial=54:4a:16:7f:d3:c5</res></item></DIDL-Lite>\n","CurrentRecordQualityMode":"NOT_IMPLEMENTED","AbsoluteTimePosition":"00:00:00","SecondsUntilSleep":"0","CurrentTrack":"4","AVTransportURIMetaData":"<?xml version=\"1.0\"?>\n<DIDL-Lite xmlns=\"urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/\" xmlns:upnp=\"urn:schemas-upnp-org:metadata-1-0/upnp/\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dlna=\"urn:schemas-dlna-org:metadata-1-0/\" xmlns:pv=\"http://www.pv.com/pvns/\"><item restricted=\"1\"/></DIDL-Lite>\n","PossiblePlaybackStorageMedia":"NETWORK","TransportPlaySpeed":"1","CurrentTrackDuration":"00:00:00","PossibleRecordQualityModes":"NOT_IMPLEMENTED","Bitrate":"192","PossibleRecordStorageMedia":"NONE","AVTransportURI":"dlna-playcontainer://uuid%3A545be55b-1d97-4872-94f0-99c7893bd97a?sid=urn%3Aupnp-org%3AserviceId%3AContentDirectory&cid=0%2FFavorites%2FMyFavorites&md=0&fii=0","RelativeTimePosition":"00:00:00","RelativeCounterPosition":"1","CurrentPlayMode":"NORMAL","TransportState":"STOPPED","AbsoluteCounterPosition":"1","CurrentTransportActions":"","ContentType":"MP3","NumberOfTracks":"4","SleepTimerActive":"0","TransportStatus":"OK","CurrentTrackURI":"http://stream.ffn.de/ffn/mp3-192/stream.mp3?ref=tunein","RoomMutes":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9=0","rooms":[{"roomUDN":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9","Volume":"40","Mute":"0","name":"Kueche","PowerState":"MANUAL_STANDBY","online":true,"udn":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9","powerState":"MANUAL_STANDBY","renderer":[{"udn":"uuid:97883760-3c5e-4d85-9fd6-fa0c860fc243","name":"Speaker Kueche"}]}],"udn":"uuid:de4c540c-f389-4937-ae87-a573ed4e5e6c","mediaItem":{"class":"object.item.audioItem.audioBroadcast.radio","section":"RadioTime","name":"Station","durability":"120","childCount":null,"parentID":"0/Favorites/MyFavorites","id":"0/Favorites/MyFavorites/97","restricted":"1","refID":"0/RadioTime/Search/s-s8954","title":"radio ffn","description":null,"artist":null,"albumArtURI":"http://d1i6vahw24eb07.cloudfront.net/s8954q.png","genre":null,"album":null,"date":null,"creator":null,"originalTrackNumber":null,"bitrate":"192","protocolInfo":"http-get:*:audio/x-mpegurl:*","signalStrength":null,"ebrowse":"http://opml.radiotime.com/Tune.ashx?partnerId=7aJ9pvV5&formats=wma%2Cmp3%2Cogg&serial=54%3A4a%3A16%3A7f%3Ad3%3Ac5&id=s8954&c=ebrowse"},"friendlyName":"Kueche","host":"192.168.2.103","manufacturer":"Lautsprecher Teufel GmbH","modelNumber":"1"},{"InstanceID":0,"AVTransportURIMetaData":"","CurrentTrackDuration":"NOT_IMPLEMENTED","PowerState":"MANUAL_STANDBY","AVTransportURI":"","CurrentPlayMode":"NORMAL","TransportState":"NO_MEDIA_PRESENT","OwnsAudioResource":"0","CurrentTransportActions":"","TransportStatus":"OK","LowDB":"0.000000","Mute":"0","MidDB":"0.000000","Volume":"40","HighDB":"0.000000","rooms":[{"name":"Kueche","udn":"uuid:fb59a372-ad4a-4817-9f08-cb3060a9f1b9","powerState":"MANUAL_STANDBY","renderer":[{"udn":"uuid:97883760-3c5e-4d85-9fd6-fa0c860fc243","name":"Speaker Kueche"}]}],"udn":"uuid:97883760-3c5e-4d85-9fd6-fa0c860fc243","mediaItem":null,"friendlyName":"Speaker Kueche","host":"192.168.2.103","manufacturer":"Lautsprecher Teufel GmbH","modelNumber":"1"}]}'
	at org.openhab.core.transform.TransformationHelper$TransformationServiceDelegate.transform(TransformationHelper.java:71) ~[bundleFile:?]
	at org.openhab.binding.http.internal.HttpBinding.execute(HttpBinding.java:218) [bundleFile:?]
	at org.openhab.core.binding.AbstractActiveBinding$BindingActiveService.execute(AbstractActiveBinding.java:146) [bundleFile:?]
	at org.openhab.core.service.AbstractActiveService$RefreshThread.run(AbstractActiveService.java:169) [bundleFile:?]
Ich hoffe, jemand hat eine Idee.
Viele Grüße

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: JSON Problem

Beitrag von udo1toni »

Die Seite ist vermutlich etwas großzügig, denn der JSON Ausdruck ist falsch. Korrekt sieht er so aus:

Code: Alles auswählen

String RadioState "Value: [%s]" { http="<[http://192.168.2.222:8085/raumserver/data/getRendererState:1000:JSONPATH($.data[0].rooms[0].PowerState)]" }
also jeweils kein Punkt vor einer öffnenden eckigen Klammer und innerhalb der eckigen Klammern den Index.
Kleiner Hinweis am Rande: Normalerweise ist die Reihenfolge der Objekte innerhalb des JSON nicht festgelegt, das heißt, unter dem Index 0 kann sowohl der Lautsprecher mit dem friendlyName "Kueche" als auch der mit dem friendlyName "Speaker Kueche" auftauchen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

kaloschke
Beiträge: 193
Registriert: 29. Jan 2019 07:20
Answers: 0

Re: JSON Problem

Beitrag von kaloschke »

Krass. Es funktioniert. Aber das war ja nicht anders zu erwarten :-).
Also mal wieder vielen Dank.

Was mich aber irritiert: woher soll man / ich das wissen?
Ich habe mich hier neu mit JSON beschäftigt und ich habe es nirgendwo so gelesen, wie Du es schreibst.
Könntest Du mir noch einen Info-Link dazu spendieren?

kaloschke
Beiträge: 193
Registriert: 29. Jan 2019 07:20
Answers: 0

Re: JSON Problem

Beitrag von kaloschke »

Doch noch eine Frage dazu:

Ich möchte die obige Abfrage in einer Rule einsetzen.
rule "Check Radio State"
when
Time cron "* 0/1 * ? * * *"
then {
var String RadioState
RadioState = "http://192.168.2.222:8085/raumserver/da ... owerState)"
RadioState.sendHttpGetRequest(500)
logInfo("RadioState: {}", RadioState)
}
end
Hier bekomme ich aber die Fehlermeldung:

Code: Alles auswählen

2020-04-02 10:21:20.722 [ERROR] [ntime.internal.engine.ExecuteRuleJob] - Error during the execution of rule 'Check Radio State': Illegal character in path at index 79: http://192.168.2.222:8085/raumserver/data/getRendererState:1000:JSONPATH($.data[0].rooms[0].PowerState)
Wenn ich richtig zähle, lande ich JSONPATH. Kannst Du da auch helfen?

kaloschke
Beiträge: 193
Registriert: 29. Jan 2019 07:20
Answers: 0

Re: JSON Problem

Beitrag von kaloschke »

Ich sehe gerade, dass ich die Regel nicht unbedingt brauche, zumindest nicht um periodisch den Status von RadioState abzufragen. In der Sitemap wird er sofort aktualisert.
Aber wie läuft das technisch? Wird im HIntergrund andauernd der http-request abgesetzt? Entsteht so nicht unnötig viel Last, so das die Regel doch besser wäre?

StefanH.
Beiträge: 162
Registriert: 28. Dez 2017 11:37
Answers: 0

Re: JSON Problem

Beitrag von StefanH. »

ja, jede sekunde feuerst du einen http request.

https://www.openhab.org/addons/bindings ... tp-binding

kaloschke
Beiträge: 193
Registriert: 29. Jan 2019 07:20
Answers: 0

Re: JSON Problem

Beitrag von kaloschke »

Ok, danke.

Dann Hallo udo1toni :-)

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: JSON Problem

Beitrag von udo1toni »

Also, Deine Rule triggert ja nun einmal pro Sekunde und sendet ein http get request. JSONPATH als Transformation gehört aber nicht zum Request. Du müsstest also das Ergebnis des Requests in einer Variablen speichern und anschließend diese in die Transformation schieben.
Das Item macht das ganz ohne Rule. Das Item, so wie oben angegeben, ist darauf konfiguriert, jede Sekunde einen Request zu schicken. Ob das sinnvoll ist, musst Du selbst wissen. Die Pullfrequenz kanst Du einfach im Item einstellen.

Code: Alles auswählen

String RadioState "Value: [%s]" { http="<[http://192.168.2.222:8085/raumserver/data/getRendererState:1000:JSONPATH($.data[0].rooms[0].PowerState)]" }
                                                                                                     ^^^^
die 1000 steht für 1000 Millisekunden
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

kaloschke
Beiträge: 193
Registriert: 29. Jan 2019 07:20
Answers: 0

Re: JSON Problem

Beitrag von kaloschke »

Ach so. Dann kann ich ja da auf 5 Minuten gehen. Das reicht völlig.
Vielen Dank

Benutzeravatar
udo1toni
Beiträge: 15249
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: JSON Problem

Beitrag von udo1toni »

Genau, dann schreibst Du halt :300000: statt :1000: :)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten