xpath Abfrage mit variable

GUI Relevanten, PaperUI, BasicUI, HabPanel ...

Moderatoren: seppy, udo1toni

Antworten
filmgucker2
Beiträge: 228
Registriert: 8. Apr 2020 20:59
Answers: 0

xpath Abfrage mit variable

Beitrag von filmgucker2 »

Hallo mal wieder,

ich kämpfe immer noch mit meinen enigma2 webif Sendern...

Der http Befehl /web/getallservices bringt mir alle Sender und Bouqets mit Namen und
Sender IDs usw.

Folgendes dsl script bringt mir die Sender ID in das string item AATestchannel:

Code: Alles auswählen

val url = "http://192.168.188.36/web/getallservices"
val abfrage = sendHttpGetRequest(url)
var transxpath = transform("XPATH", "*//e2servicelist/e2service[e2servicename='arte HD']/e2servicereference/text()", abfrage)
sendCommand("AATestchannel", transxpath)
Nun möchte ich aber den Namen des Senders als Variable in die transform Abfrage aufnehmen.
Habe probiert:

Code: Alles auswählen

val programm = Auswahl.state.toString
val url = "http://192.168.188.36/web/getallservices"
val abfrage = sendHttpGetRequest(url)
var transxpath = transform("XPATH", "*//e2servicelist/e2service[e2servicename='programm']/e2servicereference/text()", abfrage)
sendCommand("AATestchannel", transxpath)
...kommt nix. Herumgelesen im Netz...Ein $-Zeichen vor programm. Auch nichts. Wenn ich das val programm in die
Abfrage aufnehmen möchte, wie geht das? PS: "Auswahl" ist das string item aus openhab.

VG
Knut
Raspberry Pi 4, OH 4.0.3

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

Re: xpath Abfrage mit variable

Beitrag von udo1toni »

Du musst die Konstante auch als Konstante in den Pfad einbauen.

Code: Alles auswählen

val programm = Auswahl.state.toString
val url = "http://192.168.188.36/web/getallservices"
val abfrage = sendHttpGetRequest(url)
val path = "*//e2servicelist/e2service[e2servicename='" + programm + "']/e2servicereference/text()"
var transxpath = transform("XPATH", path , abfrage)
AATestchannel.sendCommand(transxpath)
Hier als weitere Konstante, natürlich kannst Du das auch direkt in in den Befehl einbauen, so ist es aber vielleicht etwas besser lesbar...
Beachte auch, dass die Anführungszeichen Teil der beiden Teilstrings links und rechts vom Programmnamen sind.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.2, LXC), mit openHABian eingerichtet

filmgucker2
Beiträge: 228
Registriert: 8. Apr 2020 20:59
Answers: 0

Re: xpath Abfrage mit variable

Beitrag von filmgucker2 »

Besten Dank mal wieder!
Raspberry Pi 4, OH 4.0.3

Antworten