Moin.
Für meinen geliebten Floorplan nutze ich trotzdem DoIF's geniale svg card-Funktionalität. 8)
Wie funktioniert das? Ein (di_fp_collect) sammelt die Werte ein und stellt sie als readings zur Verfügung.
In dem "normalen" Device, ist das devStateIcon dann als ui_table-card definiert. Funktioniert mit den verschiedensten device-Typen einwandfrei.
Das gesamte System habe ich vor 2 Tagen einem vollständigen Update unterzogen.
Aber mit dem (uralten) CUL_WS Temp-Sensor will es in der Kombination offenbar nicht. Fehlermeldung aus dem Log:
2022.12.23 21:15:44 1: devStateIcon tf.aussen: Undefined subroutine &main::temp_hue called at /opt/fhem/FHEM/98_DOIF.pm line 4542.
Das tf.aussen ist wie folgt definiert:
define tf.aussen CUL_WS 1
attr tf.aussen devStateIcon {ui_Table::card(ReadingsVal("di_fp_collect", "tf", 0),undef,"temp_outside",-10,45,undef,undef,"°C",\&temp_hue,undef,"120,,,1,,,160",undef,undef,ReadingsVal("di_fp_collect", "hum", 0),0,100,undef,undef,"%",\&hum_hue,"0")}
attr tf.aussen event-min-interval state:600
attr tf.aussen event-on-change-reading .*
attr tf.aussen fp_EG 32,691,4
attr tf.aussen room Aussen,Heizung
# CODE 1
# DEF 1
# FUUID 5ffb4769-f33f-e8a7-6f69-4246c1edddc39225
# HS20_MSGCNT 233
# HS20_RAWMSG K01724090
# HS20_RSSI -68
# HS20_TIME 2022-12-23 21:12:46
# LASTInputDev HS20
# MSGCNT 233
# NAME tf.aussen
# NR 57
# STATE T: 7.2 H: 90.4
# TYPE CUL_WS
# corr1 0
# corr2 0
# corr3 0
# corr4 0
# eventCount 233
# Helper:
# DBLOG:
# RAWMSG:
# myDbLog:
# TIME 1671826367.03098
# VALUE K01724090
# RSSI:
# myDbLog:
# TIME 1671826367.03098
# VALUE -68
# data:
# myDbLog:
# TIME 1671826367.03098
# VALUE state: T: 7.2 H: 90.4
# dewpoint:
# myDbLog:
# TIME 1671826367.03098
# VALUE 5.7
# humidity:
# myDbLog:
# TIME 1671826367.03098
# VALUE 90.4
# temperature:
# myDbLog:
# TIME 1671826367.03098
# VALUE 7.2
# READINGS:
# 2022-12-23 21:12:46 DEVFAMILY WS300
# 2022-12-23 21:12:46 DEVTYPE S300TH
# 2022-12-23 21:12:46 dewpoint 5.7
# 2022-12-23 21:12:46 humidity 90.4
# 2022-12-23 21:12:46 state T: 7.2 H: 90.4
# 2022-12-23 21:12:46 temperature 7.2
#
setstate tf.aussen T: 7.2 H: 90.4
setstate tf.aussen 2022-12-23 21:12:46 DEVFAMILY WS300
setstate tf.aussen 2022-12-23 21:12:46 DEVTYPE S300TH
setstate tf.aussen 2022-12-23 21:12:46 dewpoint 5.7
setstate tf.aussen 2022-12-23 21:12:46 humidity 90.4
setstate tf.aussen 2022-12-23 21:12:46 state T: 7.2 H: 90.4
setstate tf.aussen 2022-12-23 21:12:46 temperature 7.2
Und das dazugehörige di_fp_collect wie folgt:
define di_fp_collect DOIF ##
attr di_fp_collect event_Readings tf:[tf.aussen:temperature:col24],\
hum:[tf.aussen:humidity:col24],\
e10:[ShellBW:SuperE10:col24],\
pv:[MQTT2_DVES_FA29B8:power_pv:col24],\
air:[Luftdaten:pressure:col24],\
lpv:[MQTT2_DVES_FA29B8:power_pv],\
lim:[MQTT2_DVES_FA25FB:Main_Total_in:col24],\
lex:[MQTT2_DVES_FA25FB:Main_Total_out:col24],\
pim:[MQTT2_DVES_FA25FB:power_i:col24],\
pex:[MQTT2_DVES_FA25FN:power_o:col24]
# DEF ##
# FUUID 63a23dde-f33f-e8a7-8bbe-6435ca29f9b76780
# MODEL FHEM
# NAME di_fp_collect
# NOTIFYDEV Luftdaten,MQTT2_DVES_FA29B8,global,MQTT2_DVES_FA25FN,ShellBW,MQTT2_DVES_FA25FB,tf.aussen
# NR 886
# NTFY_ORDER 50-di_fp_collect
# STATE initialized
# TYPE DOIF
# VERSION 26851 2022-12-13 18:45:56
# eventCount 10040
# Helper:
# DBLOG:
# air:
# myDbLog:
# TIME 1671826984.52283
# VALUE HASH(0x705c0e8)
# e10:
# myDbLog:
# TIME 1671825582.66284
# VALUE HASH(0x705ba58)
# hum:
# myDbLog:
# TIME 1671826544.03191
# VALUE HASH(0x705b750)
# lex:
# myDbLog:
# TIME 1671823492.64471
# VALUE
# lim:
# myDbLog:
# TIME 1671823492.66243
# VALUE
# lpv:
# myDbLog:
# TIME 1671826998.41148
# VALUE 0
# pex:
# myDbLog:
# TIME 1671823492.63475
# VALUE
# pim:
# myDbLog:
# TIME 1671826950.33503
# VALUE HASH(0x73d8248)
# pv:
# myDbLog:
# TIME 1671826998.40004
# VALUE HASH(0x705bda0)
# tf:
# myDbLog:
# TIME 1671826544.04042
# VALUE HASH(0x705b3a8)
# READINGS:
# 2022-12-23 21:23:04 air HASH(0x705c0e8)
# 2022-12-20 23:57:34 cmd 0
# 2022-12-23 20:59:42 e10 HASH(0x705ba58)
# 2022-12-23 21:15:44 hum HASH(0x705b750)
# 2022-12-23 20:24:52 lex
# 2022-12-23 20:24:52 lim
# 2022-12-23 21:23:18 lpv 0
# 2022-12-20 23:57:34 mode enabled
# 2022-12-23 20:24:52 pex
# 2022-12-23 21:22:30 pim HASH(0x73d8248)
# 2022-12-23 21:23:18 pv HASH(0x705bda0)
# 2022-12-20 23:57:34 state initialized
# 2022-12-23 21:15:44 tf HASH(0x705b3a8)
# Regex:
# accu:
# collect:
# Luftdaten:
# collect:
# pressure ^Luftdaten$:^pressure:
# MQTT2_DVES_FA25FB:
# collect:
# Main_Total_in ^MQTT2_DVES_FA25FB$:^Main_Total_in:
# Main_Total_out ^MQTT2_DVES_FA25FB$:^Main_Total_out:
# power_i ^MQTT2_DVES_FA25FB$:^power_i:
# MQTT2_DVES_FA25FN:
# collect:
# power_o ^MQTT2_DVES_FA25FN$:^power_o:
# MQTT2_DVES_FA29B8:
# collect:
# power_pv ^MQTT2_DVES_FA29B8$:^power_pv:
# ShellBW:
# collect:
# SuperE10 ^ShellBW$:^SuperE10:
# tf.aussen:
# collect:
# H ^tf.aussen$:^H:
# T ^tf.aussen$:^T:
# humidity ^tf.aussen$:^humidity:
# temperature ^tf.aussen$:^temperature:
# event_Readings:
# Luftdaten:
# air:
# pressure ^Luftdaten$:^pressure:
# MQTT2_DVES_FA25FB:
# lex:
# Main_Total_out ^MQTT2_DVES_FA25FB$:^Main_Total_out:
# lim:
# Main_Total_in ^MQTT2_DVES_FA25FB$:^Main_Total_in:
# pim:
# power_i ^MQTT2_DVES_FA25FB$:^power_i:
# MQTT2_DVES_FA25FN:
# pex:
# power_o ^MQTT2_DVES_FA25FN$:^power_o:
# MQTT2_DVES_FA29B8:
# lpv:
# power_pv ^MQTT2_DVES_FA29B8$:^power_pv:
# pv:
# power_pv ^MQTT2_DVES_FA29B8$:^power_pv:
# ShellBW:
# e10:
# SuperE10 ^ShellBW$:^SuperE10:
# tf.aussen:
# hum:
# humidity ^tf.aussen$:^humidity:
# tf:
# temperature ^tf.aussen$:^temperature:
# card:
# collect:
# Luftdaten pressure:
# 24:
# animate 0
# dim 72
# hours 24
# last 996.5016
# last_v 996.4931
# max_value 1001.1175
# max_value_slot 39
# max_value_time 1671789381
# min_value 0
# min_value_slot 6
# min_value_time 1671749973
# name Luftdaten
# reading pressure
# time 1671826984
# value 996.5016
# times:
# undef
# undef
# undef
# undef
# undef
# undef
# 1671749973
# 1671750203
# 1671752279
# 1671752909
# 1671754230
# 1671755460
# 1671757112
# 1671758340
# 1671758941
# 1671760296
# 1671761557
# 1671763031
# 1671763647
# 1671765329
# 1671766735
# 1671767972
# 1671769174
# 1671770045
# 1671771245
# 1671772421
# 1671773745
# 1671774643
# 1671776126
# 1671777460
# 1671778796
# 1671779996
# 1671781166
# 1671782066
# 1671783391
# 1671784572
# 1671785179
# 1671786213
# 1671787851
# 1671789381
# 1671789861
# 1671790821
# 1671793141
# 1671794362
# 1671795117
# 1671795602
# 1671796832
# 1671798967
# 1671800373
# 1671801513
# 1671801844
# 1671803884
# 1671804814
# 1671805989
# 1671807364
# 1671808591
# 1671809967
# 1671811051
# 1671811534
# 1671812708
# 1671814464
# 1671814800
# 1671816821
# 1671818178
# 1671819198
# 1671820715
# 1671821913
# 1671822063
# 1671823863
# 1671825334
# 1671826684
# 1671826834
# values:
# undef
# undef
# undef
# undef
# undef
# undef
# 0
# 997.6769
# 997.26
# 997.1194
# 996.9497
# 996.8688
# 996.6925
# 996.8122
# 996.925
# 996.8775
# 997.04
# 997.2616
# 997.3466
# 997.4091
# 997.4897
# 997.6675
# 997.8372
# 997.9866
# 998.1606
# 998.3534
# 998.6441
# 998.8984
# 999.0431
# 999.2122
# 999.6097
# 999.8416
# 1000.0181
# 1000.2397
# 1000.4613
# 1000.7084
# 1000.6019
# 1000.9338
# 1000.6744
# 1001.1175
# 1000.9569
# 1001.0069
# 1000.7281
# 1000.4209
# 1000.5594
# 1000.355
# 1000.5538
# 999.6063
# 999.4816
# 999.1716
# 999.3034
# 999.2056
# 998.9281
# 998.6878
# 998.5891
# 998.3388
# 998.0459
# 997.9269
# 997.7178
# 997.8347
# 997.4369
# 997.4384
# 996.9184
# 996.6925
# 996.5022
# 996.3119
# 996.1728
# 996.2253
# 996.0959
# 996.3606
# 996.4931
# 996.4844
# MQTT2_DVES_FA25FB Main_Total_in:
# 24:
# animate 0
# dim 72
# hours 24
# last
# last_v 0
# max_value 0
# max_value_slot 71
# max_value_time 1671823449
# min_value 0
# min_value_slot 71
# min_value_time 1671823449
# name MQTT2_DVES_FA25FB
# reading Main_Total_in
# time 1671823492
# value 0
# times:
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 1671801936
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 1671823449
# values:
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 0
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 0
# MQTT2_DVES_FA25FB Main_Total_out:
# 24:
# animate 0
# dim 72
# hours 24
# last
# last_v 0
# max_value 0
# max_value_slot 71
# max_value_time 1671823449
# min_value 0
# min_value_slot 71
# min_value_time 1671823449
# name MQTT2_DVES_FA25FB
# reading Main_Total_out
# time 1671823492
# value 0
# times:
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 1671801936
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 1671823449
# values:
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 0
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 0
# MQTT2_DVES_FA25FB power_i:
# 24:
# animate 0
# dim 72
# hours 24
# last 6.00762878225123
# last_v 5.99932537512465
# max_value 6.01719654399232
# max_value_slot 68
# max_value_time 1671823530
# min_value 0
# min_value_slot 71
# min_value_time 1671826830
# name MQTT2_DVES_FA25FB
# reading power_i
# time 1671826950
# value 0
# times:
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 1671802766
# 1671802946
# 1671804085
# 1671805705
# 1671806425
# 1671807758
# 1671808917
# 1671810177
# 1671811400
# 1671812825
# 1671814600
# undef
# 1671816734
# 1671818332
# 1671819269
# 1671819772
# 1671821310
# 1671822090
# 1671823530
# 1671824430
# 1671826530
# 1671826830
# values:
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 0
# 6.00814375847816
# 0
# 6.0033713915692
# 0
# 5.99558685413162
# 0
# 6.00162523888908
# 0
# 5.99689389416209
# 0
# undef
# 5.99161044866459
# 0
# 5.99512465696962
# 0
# 5.99646307234339
# 0
# 6.01719654399232
# 0
# 5.99932537512465
# 0
# MQTT2_DVES_FA25FN power_o:
# 24:
# animate 0
# dim 72
# hours 24
# last
# last_v 0
# max_value 0
# max_value_slot 71
# max_value_time 1671823449
# min_value 0
# min_value_slot 71
# min_value_time 1671823449
# name MQTT2_DVES_FA25FN
# reading power_o
# time 1671823492
# value 0
# times:
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 1671801936
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 1671823449
# values:
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 0
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 0
# MQTT2_DVES_FA29B8 power_pv:
# 24:
# animate 0
# dim 72
# hours 24
# last
# last_v 0
# max_value 0.00624236804646241
# max_value_slot 36
# max_value_time 1671785116
# min_value 0
# min_value_slot 71
# min_value_time 1671826818
# name MQTT2_DVES_FA29B8
# reading power_pv
# time 1671826998
# value 0
# times:
# undef
# undef
# undef
# undef
# undef
# undef
# 1671749973
# 1671750140
# 1671751224
# 1671752424
# 1671753624
# 1671754824
# 1671756024
# 1671757224
# 1671758424
# 1671759624
# 1671760824
# 1671762024
# 1671763224
# 1671764424
# 1671765624
# 1671766824
# 1671768039
# 1671769239
# 1671770439
# 1671771639
# 1671772851
# 1671774051
# 1671775314
# 1671776454
# 1671777626
# 1671778806
# 1671780006
# 1671781206
# 1671782406
# 1671783616
# 1671785116
# 1671786016
# 1671787216
# 1671789258
# 1671789616
# 1671790816
# 1671792035
# 1671793415
# 1671794518
# 1671795617
# 1671796817
# 1671798077
# 1671799217
# 1671800417
# 1671801617
# 1671802817
# 1671804017
# 1671805240
# 1671806417
# 1671807629
# 1671808848
# 1671810048
# 1671811387
# 1671812816
# 1671814530
# undef
# 1671816304
# 1671818262
# 1671819077
# 1671819700
# 1671820818
# 1671822018
# 1671823218
# 1671824418
# 1671825618
# 1671826818
# values:
# undef
# undef
# undef
# undef
# undef
# undef
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0.00624236804646241
# 0
# 0
# 0.00582697864623098
# 0
# 0
# 0
# 0.00599610302996306
# 0
# 0
# 0
# 0.00600716133281733
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# undef
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# 0
# ShellBW SuperE10:
# 24:
# animate 0
# dim 72
# hours 24
# last
# last_v 1.639
# max_value 1.839
# max_value_slot 29
# max_value_time 1671775182
# min_value 0
# min_value_slot 8
# min_value_time 1671749973
# name ShellBW
# reading SuperE10
# time 1671825582
# value 1.639
# times:
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# undef
# 1671749973
# 1671750015
# undef
# 1671753581
# undef
# undef
# 1671757180
# undef
# undef
# 1671760785
# undef
# undef
---einige werte gelöscht---
Dann frage ich mich, wie das vorher funktionieren konnte, denn die Funktion temp_hue befindet sich, wie auch die card-Funktion, im Package ui_Table, also musst du dieses Package dort ebenfalls angeben:
\&ui_Table::temp_hue
Ahhh, so tut es, vielen Dank.
Mit "funktioniert" meinte ich die anderen Funktionen (Sprit, Luftdaten, PV) bzw. die "gesamthafte Definition", die im Floorplan nicht geht.
Mein Fehler: bei den anderen Definitionen (Sprit, Luft, PV) gibt's keine Definition a la temp_hue.
:)
Ups. Offenbar habe ich den Ursprungsbeitrag geschrottet, als ich auf "gelöst" ändern wollte. Offenbar wird nach xx bytes abgeschnitten....
Zitat von: Hausautomat am 23 Dezember 2022, 21:58:49
Ups. Offenbar habe ich den Ursprungsbeitrag geschrottet, als ich auf "gelöst" ändern wollte. Offenbar wird nach xx bytes abgeschnitten....
Funktioniert jetzt alles oder nicht?
Zitat von: Damian am 23 Dezember 2022, 22:04:31
Funktioniert jetzt alles oder nicht?
Ja, alles tut einwandfrei; meine erste Antwort:
Zitat von: Hausautomat am 23 Dezember 2022, 21:55:57
Ahhh, so tut es, vielen Dank.
Mit "funktioniert" meinte ich die anderen Funktionen (Sprit, Luftdaten, PV) bzw. die "gesamthafte Definition", die im Floorplan nicht geht.
Mein Fehler: bei den anderen Definitionen (Sprit, Luft, PV) gibt's keine Definition a la temp_hue.
:)
:) Danke für den Speed, den Du hier vorlegst.
Nun überlebt der Verlauf der card-Visualisierung im Originaldevice den Neustart: siehe https://forum.fhem.de/index.php/topic,120088.msg1253815.html#msg1253815