[gelöst] Verlinkung von Namen

Begonnen von choetzu, 29 Januar 2020, 21:06:37

Vorheriges Thema - Nächstes Thema

choetzu

Guten Abend,
ich bin kurz vor schluss mit der Gestaltung meiner ReadingsGroups... Ich bin sehr zufrieden. Wo ich nun aber noch anecke, ist bei einer kleinen Kosmetik. Und zwar habe ich folgende ReadingsGroup:

Abwesenheit_Dummy:<%home2>,<Abwesenheit>,state,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"state",""))}@state>
Arlo_SmartHub:<%cam2>,<Cams>,state,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"state",""))}@state>
ALARM_Vorwarnung_DOIF:<%public-service>,<Alarmanlage>,state,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"state",""))}@state>
Monitoring_Dummy:<%monitoring-system>,<Monitoring>,state,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"state",""))}@state> 
Storen_CLOSED_Anzahl_DOIF:<%shutter1>,<Storen&nbsp;zu>,state,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"state",""))}@state>
Lichter_AN_Anzahl_DOIF:<%light-bulb>,<Lichter&nbsp;an>,state,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"state",""))}@state>
Wassertank:<%water-tank>,<Wassertank>,RemainingHeight,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"RemainingHeight",""))}@RemainingHeight>


Zusätzlich habe ich hinsichtlich Verlinkung folgendes beim attr valuePrefix ergänzt:
{'Abwesenheit_Dummy.state' => '<a href="/fhem?room=02_Security">','Arlo_SmartHub.state' => '<a href="/fhem?room=07_Cams">'}

Somit habe ich 2 ReadingsValues verlinkt. Das klappt alles bestens.

Ich möchte jedoch nun anstelle des ReadingsValue lieber den Namen im ersten Fall/erste Zeile <Abwesenheit> verlinken. Das kriege ich aber irgendwie nicht hin. Weiss jemand Rat? Danke.

lg c

Raspi3, EnOcean, Zwave, Homematic

choetzu

Guten Morgen,
sorry, wenn ich nochmals anklopfe, aber ich komme einfach nicht weiter... Gibt es wirklich keine Möglichkeit einen einfachen Link zu setzen? So in etwa.. (siehe Abwesenheit)

define Test readingsGroup Abwesenheit_Dummy:<%home2>,< '<a href="/fhem?room=02_Security">'Abwesenheit>,state,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"state",""))}@state>

Ich komme einfach nicht drauf...

Weiter ist es mir auch ein Rätsel, wie ich einen Device-Namen setzen kann.. Folgendes funktioniert nicht, siehe $DEVICE..
define Test readingsGroup Abwesenheit_Dummy:<%home2>,<$DEVICE>,state,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"state",""))}@state>

ich bin um Hilfe dankbar. Sorry die Umstände..
Raspi3, EnOcean, Zwave, Homematic

choetzu

ich tappe im Dunkeln... und suche auch nach einem Workaround, leider ohne Erfolg.. Vielleicht kann mir jemand helfen, wenn ich mein Vorhaben besser erläutere. Ich möchte gerne eine ReadingGroup erstellen mit folgendem Output

Spalte 1: Icon (z.b. <%home>) / Spalte 2: Name oder Alias des Devices (verlinkt) / Spalte 3: Wert des Readings!! / Spalte 4: Timestamp
Das ALIAS/der Name des Devices soll anklickbar/verlinkt sein. Was habe ich probiert?

Abwesenheit_Dummy:<%home2>,state
Resultat: Es kommt nur das Icon und der Readingwert. Nicht aber der Device Name

<%home2>,Abwesenheit_Dummy:state
Resultat: geht nicht. kommt nix

<%home2>Abwesenheit_Dummy:<%DEVICE>,state
Resultat: geht nicht. kommt gar nix.


Abwesenheit_Dummy:state
attr test nameIcon {AttrVal($DEVICE,"icon",$DEVICE)}

Resultat: Icon wird dargestellt, jedoch kein Name. Das geht offensichtlich nicht gemäss https://forum.fhem.de/index.php/topic,31991.msg244280.html#msg244280
Wenn ich hier den Namen noch darstellen könnte, wäre dies optimal


Abwesenheit_Dummy:<Abwesenheit>,state
attr test nameIcon {AttrVal($DEVICE,"icon",$DEVICE)}

Resultat: Kommt 2mal Abwesenheit und dann der Wert des Readings.. Nix anklickbar...

Da ich mich nicht so gut mit Perl auskenne, stellt sich mir die Frage, wie ich zum Resultat kommen könnte...

danke für Denkanstösse

Raspi3, EnOcean, Zwave, Homematic

justme1968

der device name ist ein internal und heisst NAME. wenn du diesen in einer readingsGroup anzeigen möchtest: +NAME

$DEVICE oder $NAME wäre wenn überhaupt die readingsGroup selber. das ist sicher nicht das was du willst.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

choetzu

Super, genau das habe ich gesucht. Herzlichen Dank.

Gibt es noch die Möglichkeit +NAME zu verlinken? Ich habe es versucht mit
'Abwesenheit_Dummy.+NAME' => '<a href="/fhem?room=02_Security">'

Hat aber nicht geklappt...

Raspi3, EnOcean, Zwave, Homematic

justme1968

ein problem nach dem anderen.


- wird der name denn angezeigt ?
- wenn ja: im mapping musst du NAME verwenden. das + ist nur um zu sagen das es ein internal ist.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

choetzu

Zitat von: justme1968 am 16 Februar 2020, 15:07:55
ein problem nach dem anderen.
- wird der name denn angezeigt ?
- wenn ja: im mapping musst du NAME verwenden. das + ist nur um zu sagen das es ein internal ist.

Super, hat tiptop geklappt!!! Name wird angezeigt und die Verlinkung von NAME klappt ebenso...

Jetzt fehlt mir nur noch das "letzte" Problem..Dann bin ich ruhig ;).

Wie mache ich die Verlinkung von <pH> in folgender Definition. mit valuePrefix hab ich es nicht hingekriegt..
Whirlpool:<%flask>,<pH>,PH,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"PH",""))}@PH>
Raspi3, EnOcean, Zwave, Homematic

justme1968

statt <pH> ein 'dummy' reading mit !pH verwenden und dieses ganz normal mappen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

choetzu

wow, das ist ja sehr einfach. Somit haben sich alle meine Probleme gelöst (zumindest in Bezug auf FHEM ;))

so gehts..
Whirlpool:<%flask>,!pH,PH,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"PH",""))}@PH>

und beim Attribut valuePrefix folgendes setzen:
{'Whirlpool.pH' => '<a href="/fhem?room=09_Pool">'}

Herzlichen Dank justyou68!
Raspi3, EnOcean, Zwave, Homematic

choetzu

achso... es geht doch noch nciht 100% ;) Sorry..

nämlich in dem Fall, wenn ich das "dummy"-Reading (hier !Redox) gleich nenne wie das Reading selbst. In meinem Fall auch Redox.

Der Code sieht so aus
Whirlpool:<%lab-2>,!Redox,Redox,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"Redox",""))}@Redox>

In dem Fall werden zweimal die Werte dargestellt und nicht wie gewünscht  der Readingname (hier Redox) und einmal den Wert. Da müsste ich vermutlich mit <Redox> arbeiten und das dann irgendwie verlinken. Doch wie? folgendes geht nicht.

'<Redox>' => '<a href="/fhem?room=09_Pool">'
Raspi3, EnOcean, Zwave, Homematic

justme1968

jeder reading name muss eindeutige sein und nur ein mal vorkommen.

aber du kannst doch das dummy reading nennen wie du willst und per mapping dann so darstellen wie es sein soll.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

choetzu

Danke justme1968. Das habe ich auch probiert, hat aber nicht geklappt. Folgende Mappings habe ich gemäss dem Wiki probiert, erfolglos.

Whirlpool:<%lab-2>,!Test,Redox,<{WeekdayAndTimeFromTimestamp(ReadingsTimestamp($DEVICE,"Redox",""))}@Redox>

getestete Mappings:
{!Test=>"Redox"}
{Test=>"Redox"}
{!Test=>'Redox'}
{Test=>'Redox'}
{'Test'=>"Redox"}
{'Test'=>'Redox'}
{"Test"=>"Redox"}

nix geht... hmm... habe ich DIE Variante ausgelassen?
Raspi3, EnOcean, Zwave, Homematic

justme1968

richtig ist alles one !

aber nicht bei mapping -> das ist für device namen
sondern bei valueFormat -> das ist für readings

mir !... zeigst du ja ein reading an. in diesem fall halt eines das es nicht gibt und das nur dazu da ist es weiter zu verarbeiten.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968