Ich habe in meinem Gardena device verschiedene readings die ich mit userReadings umbenenne und die dann dieselben Werte anzeigen sollen wie die ursprünglichen readings. Der Befehl den ich dazu verwende ist:
attr Gardena_Terrasse userReadings temperature_out { ReadingsVal("Gardena_Terrasse","ambient_temperature-temperature",0);;}
Das funktioniert soweit so gut. Nun habe ich vier weitere readings im selben device die ich ebenso umbenennen möchte. Wenn ich denselben Befehl mit den Bezeichnungen für die anderen readings eingebe werden die Namen zwar hinzugefügt aber der Wert des vorhergehenden userReading wird dann jeweils nicht mehr aktualisiert.
Wie kann ich mehrere readings eines devices mittels userReadings so umbenennen dass die Werte für die userReadings jeweils zusammen mit den ursprünglichen Readings aktualisiert werden?
Danke für die Hilfe
Hi,
den Begriff umbenennen finde ich etwas deplatziert.
Du solltest einfach mal Deinen Codeversuch posten, der nicht geht. So weiß keiner was Du gemacht hast und was nicht gehen soll.
Ein
list Gardena_Terrasse
wäre auch gut.
ZitatuserReadings
Komma getrennte Liste von benutzerdefinierten Readings. Jede Definition hat folgendes Format:
<reading>[:<trigger>] [<modifier>] { <perl code> }
Diese benutzerdefinierte Readings werden bei jeder Aktualisierung der Gerätereadings gesetzt, indem das spezifizierte perl code { <perl code> } ausgeführt wird, und dessen Wert dem Reading zugewiesen wird. Falls <trigger> spezifiziert ist, dann findet diese Ausführung nur dann statt, falls einer der aktualisierten Readings dem regexp <trigger> entspricht (matched).
Gruß Otto
attr Gardena_Terrasse userReadings temperature_out:ambient_temperature-temperature.* { ReadingsVal($name,"ambient_temperature-temperature",0)}, temperature_out2:ambient_temperature-temperature.* { ReadingsVal($name,"ambient_temperature-temperature2",0)}
Ich hoffe es ist zu erkennen wie es geht. Frage mich gerade was Du gegen meine Readingsbenennung hast ;D
Hier schon mal das listing:
Internals:
DEF 81822f43-640f-47aa-8c98-f37f849e905a sensor
DEVICEID 81822f43-640f-47aa-8c98-f37f849e905a
Gardena_MSGCNT 112
Gardena_TIME 2018-04-02 20:10:19
IODev Gardena
LASTInputDev Gardena
MSGCNT 112
NAME Gardena_Terrasse
NR 55
STATE T: 11°C, H: 44%, L: 39lux
TYPE GardenaSmartDevice
VERSION 0.4.1
READINGS:
2018-04-02 10:40:10 ambient_temperature-frost_warning no_frost
2018-04-02 20:10:19 ambient_temperature-temperature 11
2018-03-31 12:27:01 battery-disposable_battery_status ok
2018-04-02 20:10:19 battery-level 100
2018-03-31 13:12:18 brightness 0
2018-03-31 12:27:01 device_info-category sensor
2018-04-02 19:36:15 device_info-last_time_online 2018-04-02 19:35:52
2018-03-31 12:27:01 device_info-manufacturer Gardena
2018-03-31 12:27:01 device_info-product 2-DEVICE
2018-03-31 12:27:01 device_info-serial_number 00003011
2018-03-31 12:27:01 device_info-sgtin 3034F8EE9012674000000BC3
2018-03-31 12:27:01 device_info-version 1.0.3-2.5.2-1.2.5-ICD1.17_1.0.18
2018-03-31 12:27:01 firmware-firmware_command idle
2018-03-31 12:27:01 firmware-firmware_status up_to_date
2018-03-31 12:27:01 firmware-firmware_update_start 1
2018-03-31 12:27:01 firmware-firmware_upload_progress 0
2018-03-31 12:27:01 firmware-inclusion_status included
2018-03-31 15:28:00 humidity 64
2018-04-02 20:10:19 humidity-humidity 44
2018-04-02 20:10:19 light-light 39
2018-04-01 16:40:03 radio-connection_status unknown
2018-04-02 20:10:19 radio-quality 60
2018-04-02 13:43:17 radio-state good
2018-04-02 20:10:19 rssi 60
2018-04-02 20:10:19 soil_temperature-temperature 10
2018-04-02 20:10:19 state T: 11°C, H: 44%, L: 39lux
2018-04-02 12:33:20 temperature_ground 4
2018-03-31 18:28:36 temperature_out 6
Attributes:
IODev Gardena
model sensor
room GardenaSmart
userReadings rssi { ReadingsVal("Gardena_Terrasse","radio-quality",0);}
Wie man sieht wurde rssi 60 von radio-quality 60 übernommen. Die anderen readings wie zum Beispiel humidity (64) und humidity-humidity (44) stimmen nicht überein.
Hast du Dir mein Beispiel angeschaut?
Zitat von: uwirt am 02 April 2018, 20:14:52
Wie man sieht wurde rssi 60 von radio-quality 60 übernommen. Die anderen readings wie zum Beispiel humidity (64) und humidity-humidity (44) stimmen nicht überein.
Dafür ist aber auch das userreadings zu kurz ;D
Ich habe mich an das Beispiel von CoolTux gehalten:
temperature_ground:soil_temperature-temperature.* { ReadingsVal("Gardena_Terrasse","soil_temperature-temperature",0);}, temperature_out:ambient_temperature-temperature.* { ReadingsVal("Gardena_Terrasse","ambient_temperature-temperature",0);;}, humidity:humidity-humidity.* { ReadingsVal("Gardena_Terrasse","humidity-humidity",0);;}, brightness:light-light.* { ReadingsVal("Gardena_Terrasse","light-light",0);;}, rssi:radio-quality.* { ReadingsVal("Gardena_Terrasse","radio-quality",0);;}
... und es hat funktioniert!
Besten Dank für die rasche Hilfe
Zitat von: uwirt am 02 April 2018, 21:33:40
Ich habe mich an das Beispiel von CoolTux gehalten:
temperature_ground:soil_temperature-temperature.* { ReadingsVal("Gardena_Terrasse","soil_temperature-temperature",0);}, temperature_out:ambient_temperature-temperature.* { ReadingsVal("Gardena_Terrasse","ambient_temperature-temperature",0);;}, humidity:humidity-humidity.* { ReadingsVal("Gardena_Terrasse","humidity-humidity",0);;}, brightness:light-light.* { ReadingsVal("Gardena_Terrasse","light-light",0);;}, rssi:radio-quality.* { ReadingsVal("Gardena_Terrasse","radio-quality",0);;}
... und es hat funktioniert!
Besten Dank für die rasche Hilfe
Kleiner Tip. Statt Gardena_Terrasse in ReadingsVal zu verwenden, nehme lieber $name. Solltest Du mal das Device umbenennen, bekommst keine Probleme.
Zitat von: CoolTux am 02 April 2018, 21:37:15
Kleiner Tip. Statt Gardena_Terrasse in ReadingsVal zu verwenden, nehme lieber $name. Solltest Du mal das Device umbenennen, bekommst keine Probleme.
Besten Dank für den Tipp!
Sent from my iPad using Tapatalk
ZitatStatt Gardena_Terrasse in ReadingsVal zu verwenden, nehme lieber $name.
Noch besser: $NAME (https://forum.fhem.de/index.php/topic,53069.0.html)