FHEM Forum

FHEM - Hausautomations-Systeme => Home Connect => Thema gestartet von: Stonemuc am 22 Januar 2020, 19:56:05

Titel: UserReadings Progamm kürzen?
Beitrag von: Stonemuc am 22 Januar 2020, 19:56:05
Hallo,

hat jemand eine Idee wie ich per userreadings dea aktive Programm so kürzen kann, das nur der letzte Teil, also das eigentliche Programm in einem reading steht?

BSH.Common.Root.ActiveProgram Dishcare.Dishwasher.Program.MachineCare

Also so, dass nur noch MachineCare da steht?
Titel: Antw:UserReadings Progamm kürzen?
Beitrag von: CoolTux am 22 Januar 2020, 20:03:22
Es ist nur die Anschauung der Richtung. Keine vollständige Lösung für Deine Anfrage.
Dafür hast Du zu wenig Infos gegeben.

(split('.','BSH.Common.Root.ActiveProgram Dishcare.Dishwasher.Program.MachineCare))[6]
Titel: Antw:UserReadings Progamm kürzen?
Beitrag von: Stonemuc am 22 Januar 2020, 21:44:02
Bedeutet also, dass er immer bei einem Punkt trennt und dann Wert 6 genommen wird?

Bis ActiveProgram ist es allerdings der Name des Readings...der Teil ab Dishcare dann das Reading an sich...
Titel: Antw:UserReadings Progamm kürzen?
Beitrag von: CoolTux am 22 Januar 2020, 21:52:28
Das Reading an sich? Oder eher der Wert des Readings. Aber Du hast es ja verstanden und kannst es entsprechend an passen.
Titel: Antw:UserReadings Progamm kürzen?
Beitrag von: Stonemuc am 22 Januar 2020, 22:04:48
Der Wert natürlich..war falsch ausgedrückt von mir.
Titel: Antw:UserReadings Progamm kürzen?
Beitrag von: Stonemuc am 24 Januar 2020, 20:32:12
Ich glaub ich bin echt zu schwer von Begriff für soetwas. Ich bekomme das nicht hin.
Ich versuch jetzt nochmal alle Informationen zu geben, vielleicht kann mir jemand mit der Lösung auf die Sprünge helfen.

Es gibt ein Reading mit folgendem Namen:

BSH.Common.Root.ActiveProgram

dazu z.B. folgender Inhalt:

LaundryCare.Washer.Program.Cotton

Nun soll ein userreading mit dem Namen Program erzeugt werden, was nur den letzten Teil des Strings abbildet - hier also z.B. Cotton.

Funktioniert also mit split '.' ...aber wie muss denn der genau Terminus sein?
Titel: Antw:UserReadings Progamm kürzen?
Beitrag von: CoolTux am 24 Januar 2020, 21:46:39
Program:BSH.Common.Root.ActiveProgram:.* {  (split('.', ReadingsVal($name,'BSH.Common.Root.ActiveProgram','none')))[3] }

Voraussetzung ist aber das der Inhalt des Readings tatsächlich immer so ausschaut       value1.value2.value3.value4 und Du somit immer value4 haben willst
Titel: Antw:UserReadings Progamm kürzen?
Beitrag von: Stonemuc am 25 Januar 2020, 02:18:48
Vielen Dank für denen Support!
Titel: Antw:UserReadings Progamm kürzen?
Beitrag von: Stonemuc am 25 Januar 2020, 21:15:56
Noch mal eine Frage...

Ist bei dir oben eine : zu viel drinnen? Vor .*{ split ?
Titel: Antw:UserReadings Progamm kürzen?
Beitrag von: CoolTux am 25 Januar 2020, 21:23:44
Nein. Das ist die Regex für das Event

Das Event sollte genau so ausschauen

BSH.Common.Root.ActiveProgram: LaundryCare.Washer.Program.Cotton