Mapping mehrere Devices

Begonnen von dk3572, 09 November 2020, 09:29:22

Vorheriges Thema - Nächstes Thema

OdfFhem

@dk3572

Laut Wiki wird über das mapping-Attribut der Zeilentitel festgelegt.

Das Reading spielt nur dann eine Rolle, wenn es pro Zeile auch nur ein Reading gibt - man befindet sich dann quasi automatisch in der vertikalen Darstellung eines Gerätes.

Im mapping-Attribut kann man dann basierend auf <DEVICE> oder <DEVICE.<READING> oder <DEVICE>.<READING>.<VALUE> den gwünschten Titel festlegen.

In Deinem Fall klappt dies ja jetzt schon für SMA_Wechselrichter_Bat:chargestatus durch das mapping 'chargestatus' => 'Batterieladezustand'.
Funktionieren könnte es wohl auch für SMA_Wechselrichter durch das mapping 'SMA_Wechselrichter' => 'Erzeugung'.
Dann hört es aber auch schon auf, da der Titel der restlichen Zeilen nicht allein am Gerät erkannt werden kann.

Da es sich aber um eine statische Darstellung handelt, könnte man sich noch an die Zeilennummer klammern und mit folgendem bzw. ähnlichem mapping den Titel beeinflussen:

'SMA_Portal' => '{ (($ROW == 6)?"Autarkiequote":"Werte aus SMA_Portal") }'


dk3572

Zitat von: MadMax-FHEM am 13 November 2020, 21:38:59
Hab ich jetzt nicht ganz verstanden... ;)

Aber nimm doch mal die Logeinträge und mache eine "Mapping-Liste" wie du es gerne hättest...

Evtl. erkenne ich dann was du willst...

Alternativ auch eine readingsGroup "malen" wie du sie gerne hättest...

Passend zu dem Bild wie sie tatsächlich ist...

Und vielleicht auch mal lists der in der readingsGroup "genutzten" Devices...

Gruß, Joachim

So sollte es aussehen (Ersten 2 Zeilen)

Restlichen Infos in Post #1 + #3


dk3572

Zitat von: OdfFhem am 14 November 2020, 08:03:51
@dk3572

Laut Wiki wird über das mapping-Attribut der Zeilentitel festgelegt.

Das Reading spielt nur dann eine Rolle, wenn es pro Zeile auch nur ein Reading gibt - man befindet sich dann quasi automatisch in der vertikalen Darstellung eines Gerätes.

Im mapping-Attribut kann man dann basierend auf <DEVICE> oder <DEVICE.<READING> oder <DEVICE>.<READING>.<VALUE> den gwünschten Titel festlegen.

In Deinem Fall klappt dies ja jetzt schon für SMA_Wechselrichter_Bat:chargestatus durch das mapping 'chargestatus' => 'Batterieladezustand'.
Funktionieren könnte es wohl auch für SMA_Wechselrichter durch das mapping 'SMA_Wechselrichter' => 'Erzeugung'.
Dann hört es aber auch schon auf, da der Titel der restlichen Zeilen nicht allein am Gerät erkannt werden kann.

Da es sich aber um eine statische Darstellung handelt, könnte man sich noch an die Zeilennummer klammern und mit folgendem bzw. ähnlichem mapping den Titel beeinflussen:

'SMA_Portal' => '{ (($ROW == 6)?"Autarkiequote":"Werte aus SMA_Portal") }'


Hallo und Danke für deine Hilfe.

Leider verstehe ich es nicht.

Welche Zeilennummer?
Welchen Wert aus SMA Portal?

VG Dieter

dk3572

Hallo,

hierzu keiner mehr eine Idee?

@Joachim
Hat dir die "gemalte" Readingsgroup verdeutlicht was ich möchte?

@OdfFhem
Deine Zeile hat leider nicht funktioniert bzw. weiß ich nicht wie ich sie anpassen könnte.

Immer noch für Hilfe dankbar  ;)
VG Dieter

MadMax-FHEM

Leider habe ich keine weitere Idee, außer der genannten, mit der ich meine Mappings mache...

Wenn durch Device/Reading keine Zuordnung bzgl. Mapping (bei dir) möglich ist (und auch keine mit einfach fest zugeordneten Zeilennummer), dann kann ich leider nicht weiter helfen...

Welches Device/Reading bzgl. Mapping "reinkommt" wird ja in der Sub ins Log geschrieben, wenn es da keine Zuordnungsmöglichkeit für dich zu erkennen gibt, die du haben willst, dann geht meine Methode für dich leider nicht...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

KNUT345

Zitat von: dk3572 am 13 November 2020, 20:51:20
Hier das Log:

2020.11.13 20:49:17.981 1: my_rgStromMapping      Device: SMA_Wechselrichter      Reading:
2020.11.13 20:49:17.982 1: my_rgStromMapping      Device: du_Energie      Reading:
2020.11.13 20:49:17.983 1: my_rgStromMapping      Device: SMA_Zaehler      Reading:
2020.11.13 20:49:17.984 1: my_rgStromMapping      Device: SMA_Zaehler      Reading:
2020.11.13 20:49:17.985 1: my_rgStromMapping      Device: SMA_Portal      Reading:
2020.11.13 20:49:17.986 1: my_rgStromMapping      Device: SMA_Portal      Reading:
2020.11.13 20:49:17.988 1: my_rgStromMapping      Device: SMA_Portal      Reading:
2020.11.13 20:49:17.989 1: my_rgStromMapping      Device: SMA_Portal      Reading:
2020.11.13 20:49:17.990 1: my_rgStromMapping      Device: SMA_Portal      Reading:
2020.11.13 20:49:17.991 1: my_rgStromMapping      Device: SMA_Portal      Reading:
2020.11.13 20:49:17.993 1: my_rgStromMapping      Device: SMA_Wechselrichter_Bat      Reading:
2020.11.13 20:49:17.994 1: my_rgStromMapping      Device: SMA_Wechselrichter_Bat      Reading:
2020.11.13 20:49:17.995 1: my_rgStromMapping      Device: SMA_Wechselrichter_Bat      Reading: chargestatus


Ich vermute es liegt daran, dass bei dir ein Device in mehreren Zeilen auftaucht.

Derartige Übersichten habe ich nach dem Beispiel https://wiki.fhem.de/wiki/ReadingsGroup#Heizungswerte.2C_Status.2C_Steuerung_und_Wochenprofil gelöst.

Falls du ohne Link zu Beginn der Zeile auskommst, dann kann man es auch wie folgt machen.
defmod rg_LichtComfort readingsGroup LichtComfortSettings:<&nbspGerät&nbspein&nbspbei&nbsp[10&nbsp-&nbsp250]&nbspLux&nbsp>,lux,luxAvg\
LichtComfortSettings:<&nbspAllgemeiner&nbspZeit&nbspOffset&nbsp[00:00&nbsp-&nbsp23:55]&nbspmin&nbsp>,offset,luxMax
attr rg_LichtComfort alias Licht Comfort Settings
attr rg_LichtComfort commands {'lux'=>'lux:','lux_min'=>'lux_min:','offset'=>'offset:'}
attr rg_LichtComfort mapping &nbsp
attr rg_LichtComfort notime 1
attr rg_LichtComfort room Einstellungen->Licht->Tagesplan
attr rg_LichtComfort sortby 001
attr rg_LichtComfort valuePrefix {'ein1'=>'&nbsp&nbsp','ein2'=>'&nbsp&nbsp',\
'aus1'=>'&nbsp&nbsp','aus2'=>'&nbsp&nbsp',\
'luxAvg'=>'&nbspAvg:&nbsp','luxMin'=>'&nbspMin:&nbsp','luxMax'=>'&nbspMax:&nbsp'}