FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Master_Nick am 06 März 2018, 15:01:17

Titel: [gelöst] Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: Master_Nick am 06 März 2018, 15:01:17
Guten Tag,
ich wüsste nun nicht wo das Thema unterzubringen wäre, daher poste ich es mal hier.

Ich habe eine Structure die aktuell nur auf present und absent reagiert. Ich möchte nun aber auch auf "maybe absent" und "maybe present" reagieren. Mit " oder ' kann ich da bisher keinen Erfolg erzielen.
Wie muss ich clientstate_priority befüllen bei Leerzeichen?

Das hier läuft nicht:
clientstate_priority = absent present maybe absent maybe present
Titel: Antw:Structure clientstate_priority "maybe absent" wie ist mit Leerzeichen umzugehen?
Beitrag von: CoolTux am 06 März 2018, 15:06:18

clientstate_priority = absent present maybe.absent maybe.present


So könnte es gehen
Titel: Antw:Structure clientstate_priority "maybe absent" wie ist mit Leerzeichen umzugehen?
Beitrag von: Master_Nick am 06 März 2018, 15:11:19
Klasse - hab Dank!

Wieso der "." ?  Regex = . matches any character (except for line terminators) ?
Titel: Antw:Structure clientstate_priority "maybe absent" wie ist mit Leerzeichen umzugehen?
Beitrag von: CoolTux am 06 März 2018, 15:19:52
ein Punkt matcht genau auf ein Zeichen. Ein Leerzeichen ist genau ein Zeichen.
Titel: Antw:Structure clientstate_priority "maybe absent" wie ist mit Leerzeichen umzugehen?
Beitrag von: Master_Nick am 06 März 2018, 15:24:11
Okay also RegEx :-)

Danke dir
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: Master_Nick am 06 März 2018, 17:20:22
Mhh irgendwie hakt es noch  :o


Internals:
   ATTR       bewohner
   CFGFN     
   CHANGEDCNT 74
   DEF        bewohner Handy_1 Handy_2 Handy_3 Handy_4
   NAME       Anwesenheit_Zwischenstufe
   NR         116
   NTFY_ORDER 50-Anwesenheit_Zwischenstufe
   STATE      absent
   TYPE       structure
   READINGS:
     2018-03-06 17:17:56   LastDevice      Handy_1
     2018-03-06 17:17:56   LastDevice_Abs  Handy_1
     2018-03-06 17:17:56   state           maybe absent
Attributes:
   clientstate_behavior relative
   clientstate_priority present|maybe.absent|maybe.present absent
   devStateIcon present:10px-kreis-gruen absent:10px-kreis-rot
   event-on-change-reading state
   group      Anwesenheit
   room       Technikraum


Die Structure schaltet dennoch auf absent obwohl Handy_1 auf "maybe absent" ist. Ich will alle maybe Werte als present interpretiert haben.
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: CoolTux am 06 März 2018, 17:23:46
also was ich sehe ist structure maybe absent
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: Master_Nick am 06 März 2018, 17:25:43
Das ist aber nur der vom Bewohner der sich zuletzt änderte :-)
Das ist von der Structure selber:
STATE      absent
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: CoolTux am 06 März 2018, 17:31:26
müsste ich auch erstmal in meiner Testumgebung testen. Wüsste da jetzt keine spontane Lösung
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: Master_Nick am 06 März 2018, 17:31:57
Hier nochmal zur Veranschaulichung.... Hatte da eben was kaputt geedited beim herausnehmen der Namen.
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: Master_Nick am 06 März 2018, 22:10:42
Habe mir mal selber was zum Testen gebaut:

Leider scheint die structure mit dem "maybe present"/"maybe absent" nicht klar zu kommen. Nur mit present und abenst.
Um beim Dummy "maybe absent" setzten zu können habe ich mich einfach des html codes dafür bedient ( ).

Structure:
Internals:
   ATTR       bewohner
   CFGFN     
   CHANGEDCNT 6
   DEF        bewohner testhandy1 testhandy2 testhandy3
   NAME       Test
   NR         22394
   NTFY_ORDER 50-Test
   STATE      undefined
   TYPE       structure
   READINGS:
     2018-03-06 22:09:35   LastDevice      testhandy2
     2018-03-06 22:09:35   LastDevice_Abs  testhandy2
     2018-03-06 22:09:35   state           undefined
Attributes:
   clientstate_behavior relative
   clientstate_priority present|maybe present|maybe absent absent
   room       Test


Und jeweils 3 hier von 1-3:
Internals:
   CFGFN     
   NAME       testhandy1
   NR         22372
   STATE      maybe absent
   TYPE       dummy
   READINGS:
     2018-03-06 22:09:30   state           maybe absent
Attributes:
   bewohner   Test
   room       Test
   setList    maybe present maybe absent present absent
   userattr   bewohner bewohner_map structexclude
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: Master_Nick am 07 März 2018, 16:53:40
Also ich hab nochmal hin und her versucht. Ich bekomme es nicht so gebaut, dass die Structure einen Status mit Leerzeichen akzeptiert und wiederspiegelt.

Erbitte Hilfe :-)
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: Master_Nick am 09 März 2018, 10:15:03
Schade ;-D Problem besteht weiterhin - bin ich ggf. im falschem Themenbereich? Jemand Vorschläge wo es besser passen würde?
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: Beta-User am 09 März 2018, 10:29:13
Zitat von: Master_Nick am 09 März 2018, 10:15:03
[...] bin ich ggf. im falschem Themenbereich? Jemand Vorschläge wo es besser passen würde?
Ist ja eigentlich eine konkrete Frage zu structure. Das gehört lt. MAINTAINER.txt zu Automatisierung.

Gruß, Beta-User
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: Master_Nick am 09 März 2018, 10:32:54
Okay :) Nächste Mal weiß ich dann auch wo man so eine Info her bekäme. Danke dir  8)
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: Beta-User am 09 März 2018, 10:43:39
Gerne geschehen :) .
Kleiner Kritikpunkt: Du hättest einfach diesen Thread verschieben können (ersten Post editieren, dann erscheint ein Knopf links unten). Dann wäre für willige Helfer besser erkennbar gewesen, was du (und andere) schon versucht hast (Sorry, ich dachte bei deiner Beitragszahl, dass das Vorgehen klar wäre).
Bitte verlinke doch in deinem neuen Thread (https://forum.fhem.de/index.php/topic,85470.0.html) dazu jetzt kurz nach hierher, damit die Querbezüge besser erkennbar sind und jemand, der später mal danach sucht, keine "toten" Enden der Threads zu diesem Thema findet ;) .
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: Master_Nick am 09 März 2018, 10:55:13
Auha wusste nicht, dass der einfache Forumsnutzer das darf :-D
Danke für die Info!  ;)

Habe als Behelf ein Link hier hin eingefügt und erklärt, dass mir die Funktion nicht bewusst war.
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: CoolTux am 09 März 2018, 10:58:06
Ich habe es hinbekommen. Etwas anders wie Du es haben willst aber es geht. Dazu nimmt man das _map Attribut.
Rudi kümmert sich im übrigen um structure.
Ich schreibe Dir gleich wie ich es gemacht habe.
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: CoolTux am 09 März 2018, 11:04:43

Internals:
   CFGFN     
   NAME       presenceTam
   NR         155
   STATE      present
   TYPE       dummy
   READINGS:
     2018-03-09 11:02:05   presence        present
Attributes:
   bewohner   structureBewohner
   bewohner_map presence:^maybe.absent:maybe_absent presence:^maybe.present:maybe_present
   readingList presence
   room       Test
   setList    presence:present,absent
   stateFormat presence
   userattr   bewohner bewohner_map structexclude


Damit bekomme ich ein mapping von maybe present nach maybe_present und damit kannst Du dann in der Structure besser arbeiten.
Titel: Antw:Structure clientstate_priority wie ist mit Leerzeichen umzugehen?
Beitrag von: Master_Nick am 09 März 2018, 20:07:09
Danke dir - schau ich morgen an hatte es schon über Tage gesehen aber keine Zeit für eine Reaktion. ;)

Ansonsten um keine Dualität zu pflegen der Thread lebt dann hier weiter: https://forum.fhem.de/index.php/topic,85470.msg778575.html#msg778575

*EDIT*: Lösung steht dort ebenfalls.