FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Tedious am 23 April 2019, 21:59:09

Titel: UserReadings Frage//unklar
Beitrag von: Tedious am 23 April 2019, 21:59:09
Hallo zusammen,

für das Modul Homemode benötige ich ein Reading luminance. Die Werte liefert an sich ein SonOff mit Senor, allerdings hat das Reading die Bezeichnung BH1750_Illuminance - und die nimmt ds Modul nicht an, weil es ein Reading Namens "luminance" erwartet. Das Gaze wollte ich per UserReading lösen und dem SonOff per attr das Reading zuweisen. Im Wiki ist das wie folgt angegeben:

ZitatEin Reading soll einen anderen Namen bekommen

Das vorhandene Reading "value" der Device "ElbePegelSchoena" soll künftig in "Pegel" umbenannt werden. Das geht nicht. Man kann aber ein neues Reading "Pegel" mit genau gleichem Wert erzeugen:

    attr ElbePegelSchoena userReadings Pegel { ReadingsVal("ElbePegelSchoena1","value",0) }

Wenn ich das Ganze an meinen Sonoff anpasse bekomme ich aber kein neues Reading angezeigt. Jemand einen Tip wo mein Fehler liegt?

attr MQTT2_sonoff_sw2 userReadings luminance { ReadingsVal("MQTT2_sonoff_sw2","BH1750_Illuminance",0) }

Bin für jeden Tip dankbar,

Grüße Tedious
Titel: Antw:UserReadings Frage//unklar
Beitrag von: CoolTux am 23 April 2019, 22:01:54
attr MQTT2_sonoff_sw2 userReadings luminance:BH1750_Illuminance:.* { ReadingsVal($name,'BH1750_Illuminance',0) }

So sollte es gehen. Dir fehlte dir Trigger Regex. Ich habe das ganze etwas feiner angepasst.
Titel: Antw:UserReadings Frage//unklar
Beitrag von: Tedious am 23 April 2019, 22:02:58
Klasse, vielen Dank und einen schönen Abend  :)
Titel: Antw:UserReadings Frage//unklar
Beitrag von: Beta-User am 24 April 2019, 15:04:15
Vielleicht noch zwei Anmerkungen, da hier MQTT2 im Spiel ist:

Wenn die Payload direkt verwertbar ist, kannst du ggf. einfach das Reading umbenennen, dann mußt du halt überall mit illuminance arbeiten, oder den Eintrag in der readingList doppeln und die Payload dann direkt für zwei Readings nutzen.

Kommt das ganze als JSON-Payload, kannst du die Langform von json2namevalue() nutzen und eine entsprechende JSONMAP definieren, dann hat das Reading auch gleich den "richtigen" Namen; doppel sollte auch gehen.

Bei Interesse an Hilfe dazu bitte eine RAW-Definition liefern.