FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: StaBj am 05 Dezember 2018, 19:02:04

Titel: Link splitten
Beitrag von: StaBj am 05 Dezember 2018, 19:02:04
Hallo,
ich bräuchte eure Hilfe um einen Link zerlegen.
aus dem Kodi-Modul bekomme ich den Link, welcher Film zurzeit abgespielt wird.
Aus dem Link würde ich gerne das Seitenverhältnis exportieren, wie im nachfolgenden Beispiel die 2.40.
smb://IP-Adresse/Ordner/Filmname[2.40].mkv
Ich habe das bereits über die split - Funktion versucht:
{(split"[",(ReadingsVal("Kodi","currentMedia","")))[1]}
Jedoch bekomme ich hier immer die Fehlermeldung:
Unmatched [ in regex; marked by <-- HERE in m/[ <-- HERE / at (eval 946) line 1.

Vielen dank
Titel: Antw:Link splitten
Beitrag von: CoolTux am 05 Dezember 2018, 19:08:25

{ (split('[',(ReadingsVal('Kodi','currentMedia',''))))[1] }


Versuch mal so
Wenn das auch nicht geht wirst wohl [ escapen müssen, also mit \[
Titel: Antw:Link splitten
Beitrag von: StaBj am 05 Dezember 2018, 20:36:37
Vielen Dank,
das hat geklappt.  :)
Eine Frage hätte ich noch:
Wie bekomme ich den Wert der Perl-Funktion am besten in ein Dummy, um ihn mit anderen Funktion verwenden zu können.
{(split('\[|\]',(ReadingsVal('Kodi','currentMedia',''))))[1] }
Titel: Antw:Link splitten
Beitrag von: CoolTux am 05 Dezember 2018, 20:46:44

fhem('set dummyname ' . (split('\[|\]',(ReadingsVal('Kodi','currentMedia',''))))[1]);


Allerdings würde ich das ganze wenn dann als userReadings im Kodi Device machen.


attr Kodi userReadings aspectRatio:currentMedia:.* { (split('\[|\]',(ReadingsVal($name,'currentMedia',''))))[1] }

erstellt Dir ein weiteres Reading mit dem Namen aspectRatio. Das Reading wird immer dann geschrieben wenn ein Event für currentMedia des selben Devices erfolgt.
Titel: Antw:Link splitten
Beitrag von: CoolTux am 05 Dezember 2018, 21:00:57
Versuche mal bitte ob das so geht.
So sollte es sauberer sein.

attr Kodi userReadings aspectRatio:currentMedia:.* { ReadingsVal($name,'currentMedia','') =~ m#\[(\d+(\.\d+)?)\]#; $1 }