Mir ist aufgefallen, dass, wenn man ein Device umbenennt, $SELF den alten Gerätenamen referenziert. Folgendes DOIF hieß erst general.weather.station.sensor_3.temperature, ich habe es dann zu general.weather.station.sensor_3.temperature.not_functioning (und zwischenzeitlich wieder zurück) benannt. $SELF wollte, während das Device general.weather.station.sensor_3.temperature.not_functioning hieß, noch auf general.weather.station.sensor_3.temperature schreiben (siehe error).
Internals:
.FhemMetaInternals 1
CFGFN ./cfg.d/general/weather/station/sensor_3.cfg
DEF
(
[general.weather.station.sensor_3:temperature]
)
(
setreading $SELF temperature [general.weather.station.sensor_3:temperature]
)
FUUID 5ed933f3-f33f-bc49-517c-9de051ba9bfb8998
FVERSION 98_DOIF.pm:0.224280/2020-07-18
MODEL FHEM
NAME general.weather.station.sensor_3.temperature
NOTIFYDEV global,general.weather.station.sensor_3
NR 4513
NTFY_ORDER 50-general.weather.station.sensor_3.temperature
STATE 18.90 �C am 07.08.2020 um 19:52
TYPE DOIF
VERSION 22428 2020-07-18 20:32:08
.attraggr:
.attrminint:
Helper:
DBLOG:
cmd:
general.system.log.db:
TIME 1596881180.65875
VALUE 1
cmd_event:
general.system.log.db:
TIME 1596881180.65875
VALUE general.weather.station.sensor_3
cmd_nr:
general.system.log.db:
TIME 1596881180.65875
VALUE 1
error:
general.system.log.db:
TIME 1596881180.65875
VALUE setreading general.weather.station.sensor_3.temperature temperature 27.2
state:
general.system.log.db:
TIME 1596881180.65875
VALUE cmd_1
temperature:
general.system.log.db:
TIME 1596822764.48706
VALUE 18.9
READINGS:
2020-08-08 12:06:20 Device general.weather.station.sensor_3
2020-08-08 12:06:20 cmd 1
2020-08-08 12:06:20 cmd_event general.weather.station.sensor_3
2020-08-08 12:06:20 cmd_nr 1
2020-08-08 12:06:20 e_general.weather.station.sensor_3_temperature 27.2
2020-08-08 12:06:20 error setreading general.weather.station.sensor_3.temperature temperature 27.2 : Please define general.weather.station.sensor_3.temperature first
2020-08-08 12:06:20 state cmd_1
2020-08-07 19:52:44 temperature 18.9
Regex:
accu:
cond:
general.weather.station.sensor_3:
0:
temperature ^general.weather.station.sensor_3$:^temperature:
attr:
cmdState:
wait:
waitdel:
condition:
0 ::ReadingValDoIf($hash,'general.weather.station.sensor_3','temperature')
do:
0:
0 setreading general.weather.station.sensor_3.temperature temperature [general.weather.station.sensor_3:temperature]
1:
helper:
DEVFILTER ^global$|^general.weather.station.sensor_3$
NOTIFYDEV global|general.weather.station.sensor_3
event battery: ok,humidity: 49,T: 27.2 H: 49,temperature: 27.2,absoluteHumidity: 12.7,vapourPressure: 17.6,dewpoint: 15.6
globalinit 1
last_timer 0
sleeptimer -1
timerdev general.weather.station.sensor_3
timerevent battery: ok,humidity: 49,T: 27.2 H: 49,temperature: 27.2,absoluteHumidity: 12.7,vapourPressure: 17.6,dewpoint: 15.6
triggerDev general.weather.station.sensor_3
timerevents:
battery: ok
humidity: 49
T: 27.2 H: 49
temperature: 27.2
absoluteHumidity: 12.7
vapourPressure: 17.6
dewpoint: 15.6
timereventsState:
battery: ok
humidity: 49
state: T: 27.2 H: 49
temperature: 27.2
absoluteHumidity: 12.7
vapourPressure: 17.6
dewpoint: 15.6
triggerEvents:
battery: ok
humidity: 49
T: 27.2 H: 49
temperature: 27.2
absoluteHumidity: 12.7
vapourPressure: 17.6
dewpoint: 15.6
triggerEventsState:
battery: ok
humidity: 49
state: T: 27.2 H: 49
temperature: 27.2
absoluteHumidity: 12.7
vapourPressure: 17.6
dewpoint: 15.6
internals:
perlblock:
readings:
all general.weather.station.sensor_3:temperature
trigger:
uiState:
uiTable:
Attributes:
alias Temperatursensor Nelkenweg Zaun an xxx
do always
group Wetterstation
icon temp_outside@black
room Allgemein->Umwelt
sortby 400
stateFormat {FHEM::MyUtils::State::temperature_with_datetime($name)}
Nach dem Umbenennen muss man auf DEF-Klicken und neu speichern (entspricht defmod), damit $SELF angepasst wird. $SELF wird während der Definition ersetzt.
Zitat von: Damian am 08 August 2020, 13:07:22
Nach dem Umbenennen muss man auf DEF-Klicken und neu speichern (entspricht defmod), damit $SELF angepasst wird. $SELF wird während der Definition ersetzt.
Magst du vielleicht X_Rename (https://wiki.fhem.de/wiki/DevelopmentModuleIntro#X_Rename) implementieren?
Zitat von: Christoph Morrison am 08 August 2020, 13:35:18
Magst du vielleicht X_Rename (https://wiki.fhem.de/wiki/DevelopmentModuleIntro#X_Rename) implementieren?
ja, mal schauen, wenn ich Zeit finde.