Hallo zusammen,
hat sich an der Darstellung von Presets und Colorpicker etwas geändert? Ich hatte Presets analog zum Beispiel aus dem Wiki eingerichtet:
... ct:colorpicker,CT,2000,10,6500 ...
attr <device> webCmd ct:ct 2040:ct 2630:ct 3703:ct 6250:on:off
Seit dem Update heute werden meine Presets jetzt als Slider angezeigt (siehe Anhang).
pct:ct 2040:ct 3092:ct 4144:ct 5194:ct 6250
Viele Grüße
Torsten
Ja, wir haben gestern eine Änderung vorgenommen: https://forum.fhem.de/index.php?topic=136019.0
Offensichtlich hat colorpicker ein Problem damit.
Mach ein restore vom 01_FHEMWEB.pm
LG
Ich habe gestern einen vermeintlichen Bug gefixt, was das beeinflussen koennte: https://forum.fhem.de/index.php?topic=136019
Kannst Du bitte die Definition dieses Widgets zeigen (samt Reading dahinter), und beschreiben, was Du erwartest.
Das ist die Definition eines betroffenen Device
define E2_ku_LP_Tischleuchte HUEDevice 4 IODev=ZigBee1
attr E2_ku_LP_Tischleuchte DbLogInclude ct,onoff,pct,state
attr E2_ku_LP_Tischleuchte IODev ZigBee1
attr E2_ku_LP_Tischleuchte alias Tischleuchte Fenster
attr E2_ku_LP_Tischleuchte color-icons 2
attr E2_ku_LP_Tischleuchte devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
attr E2_ku_LP_Tischleuchte event-on-change-reading .*
attr E2_ku_LP_Tischleuchte group Beleuchtung
attr E2_ku_LP_Tischleuchte icon icons8-lamp-32
attr E2_ku_LP_Tischleuchte model Classic B40 TW - LIGHTIFY
attr E2_ku_LP_Tischleuchte mqttDefaults floorID={substr $device,0,2} roomID={substr $device,3,2} devName={substr $device,6}
attr E2_ku_LP_Tischleuchte mqttPublish ct|onoff|pct|rgb|reportedState|state:topic={"$base/$floorID/$roomID/$devName/$reading"}
attr E2_ku_LP_Tischleuchte mqttSubscribe state:stopic={"$base/$floorID/$roomID/$devName/cmd"}
attr E2_ku_LP_Tischleuchte room Küche,Übersicht
attr E2_ku_LP_Tischleuchte sortby 4
attr E2_ku_LP_Tischleuchte subType ctdimmer
attr E2_ku_LP_Tischleuchte userReadings reportedState:onoff.* {ReadingsVal("E2_ku_LP_Tischleuchte","onoff",0) == 0 ? "off" : "on"}
attr E2_ku_LP_Tischleuchte webCmd ct:ct 490:ct 380:ct 270:ct 160:toggle:on:off
# DEF 4 IODev=ZigBee1
# FUUID 60c23e4e-f33f-2e5f-3750-539501e536e9574b
# FVERSION 31_HUEDevice.pm:0.282220/2023-11-28
# ID 4
# INTERVAL
# IODev ZigBee1
# NAME E2_ku_LP_Tischleuchte
# NR 253
# STATE off
# TYPE HUEDevice
# eventCount 158
# has_events 1
# manufacturername OSRAM
# modelid Classic B40 TW - LIGHTIFY
# name Tischleuchte Fenster
# swversion V1.05.10
# type Color temperature light
# uniqueid 7c:b0:3e:aa:00:ae:17:19-03
# READINGS:
# 2023-11-30 10:35:39 IODev ZigBee1
# 2023-11-30 10:36:11 alert none
# 2023-11-30 10:36:11 bri 128
# 2023-11-30 10:36:11 colormode ct
# 2023-11-30 10:36:11 ct 215 (4651K)
# 2022-01-31 09:11:28 dynamics_status none
# 2023-11-30 13:22:48 lastseen 2023-11-30T12:21Z
# 2023-11-30 10:36:11 onoff 0
# 2023-11-30 10:36:11 pct 0
# 2023-11-30 10:36:11 reachable 1
# 2023-11-30 08:10:05 reportedState off
# 2023-11-30 10:36:11 rgb fff0e3
# 2023-11-30 08:10:05 state off
# 2022-01-31 09:11:28 v2effect no_effect
# helper:
# alert none
# battery -1
# bri 128
# colormode ct
# ct 215
# devtype
# dynamics_status
# effect
# hue -1
# lastseen
# mode
# on 0
# pct 0
# reachable 1
# rgb fff0e3
# sat -1
# update_timeout -1
# v2effect
# xy
# capabilities:
# alerts:
# none
# select
# lselect
# color:
# ct:
# max 65279
# min 153
# modes:
# ct
# helper:
# json:
# e changed
# id 4
# r lights
# source event
# t event
# uniqueid 7c:b0:3e:aa:00:ae:17:19-03
# attr:
# colorcapabilities 16
# ctmax 65279
# ctmin 153
# id 4
# lastannounced
# lastseen 2023-11-30T12:22Z
# manufacturername OSRAM
# modelid Classic B40 TW - LIGHTIFY
# name Tischleuchte Fenster
# swversion V1.05.10
# type Color temperature light
# uniqueid 7c:b0:3e:aa:00:ae:17:19-03
#
setstate E2_ku_LP_Tischleuchte off
setstate E2_ku_LP_Tischleuchte 2023-11-30 10:35:39 IODev ZigBee1
setstate E2_ku_LP_Tischleuchte 2023-11-30 10:36:11 alert none
setstate E2_ku_LP_Tischleuchte 2023-11-30 10:36:11 bri 128
setstate E2_ku_LP_Tischleuchte 2023-11-30 10:36:11 colormode ct
setstate E2_ku_LP_Tischleuchte 2023-11-30 10:36:11 ct 215 (4651K)
setstate E2_ku_LP_Tischleuchte 2022-01-31 09:11:28 dynamics_status none
setstate E2_ku_LP_Tischleuchte 2023-11-30 13:22:48 lastseen 2023-11-30T12:21Z
setstate E2_ku_LP_Tischleuchte 2023-11-30 10:36:11 onoff 0
setstate E2_ku_LP_Tischleuchte 2023-11-30 10:36:11 pct 0
setstate E2_ku_LP_Tischleuchte 2023-11-30 10:36:11 reachable 1
setstate E2_ku_LP_Tischleuchte 2023-11-30 08:10:05 reportedState off
setstate E2_ku_LP_Tischleuchte 2023-11-30 10:36:11 rgb fff0e3
setstate E2_ku_LP_Tischleuchte 2023-11-30 08:10:05 state off
setstate E2_ku_LP_Tischleuchte 2022-01-31 09:11:28 v2effect no_effect
Vor der Änderung wurden die Presets so wie im Wiki dargestellt - nach Restore der 01_FHEMWEB.pm sieht es wieder wir früher aus (siehe Anlage).
VG
Torsten
Ich habe es versucht bei mir nachzustellen.
Die Farbtemperatur ct wird per default als Slider umgesetzt.
Wenn man sich per webcmd zB. Fixwerte hinterlegt, z.B. wie du mit "ct 2040" und "ct 2630", wird in diesem Fall normalerweise eine auswählbare Drucktaste erstellt, die diesen Wert setzt.
Durch unsere Änderung gestern wird nun der Wert nach "ct" abgetrennt, sodass im Ergebnis wieder nur ein Slider dargestellt wird. Nach dem Kommando würde eigentlich ein Reading abgetrennt, doch hier ist es ein vordefinierter Wert.
Sieht wie eine spezifische colorpicker Eigenheit aus denn z.B. mit dem select-Widget habe ich so ein Problem bei meinen Tests nicht festgestellt.
@Rudi, die nachfolgende Funktion hat das colorpicker Problem in meinen Tests behoben:
sub
FW_widgetFallbackFn()
{
my ($FW_wname, $d, $FW_room, $cmd, $values) = @_;
# webCmd "temp 30" should remain text
# noArg is needed for fhem.cfg.demo / Cinema
return "" if(!$values || $values eq "noArg");
my ($spcmd, $reading) = split( ' ', $cmd, 2 );
$spcmd = $cmd if($values =~ /^colorpicker/xs);
$reading = $spcmd if(!defined($reading));
my $current;
if($spcmd eq "desired-temp" || $spcmd eq "desiredTemperature") {
$current = ReadingsVal($d, $spcmd, 20);
$current =~ s/ .*//; # Cut off Celsius
$current = sprintf("%2.1f", int(2*$current)/2) if($current =~ m/[0-9.-]/);
} else {
$current = ReadingsVal($d, $reading, undef);
if( !defined($current) ) {
$reading = 'state';
$current = Value($d);
}
$current =~ s/$spcmd //;
$current = ReplaceEventMap($d, $current, 1);
}
return "<td><div class='fhemWidget' cmd='$spcmd' reading='$reading' ".
"dev='$d' arg='$values' current='$current'></div></td>";
}
Hi,
cool selbe Problem
defmod DL_0111 HUEDevice 9 IODev=hueBridge
attr DL_0111 IODev hueBridge
attr DL_0111 alias Lampe 1
attr DL_0111 cmdIcon on:general_an off:general_aus
attr DL_0111 color-icons 2
attr DL_0111 devStateIcon { my $S1 = ReadingsVal($name,"state","off");; \
my $S2 = "";; my $F0 = "8C8C8C";;\
\
if($S1 eq "off") { \
$S2 = "on";; \
$F0 = "8C8C8C";;\
} else {\
$S2 = "off";; \
$F0 = ReadingsVal($name,"rgb","8C8C8C");;\
}\
return $S1 . ":hue_filled_gu10\@#" . $F0 . ":" . $S2;;\
}
attr DL_0111 group Light
attr DL_0111 icon hue_filled_gu10
attr DL_0111 model TS0505B
attr DL_0111 room Wohnzimmer,light,zigbee
attr DL_0111 sortby Lampe11
attr DL_0111 subType extcolordimmer
attr DL_0111 webCmd on:off:pct:ct 490:ct 160:rgb 0AD9FC
attr DL_0111 widgetOverride pct:selectnumbers,0,5,100,0,lin
setstate DL_0111 off
setstate DL_0111 2023-11-30 10:03:04 IODev hueBridge
setstate DL_0111 2023-11-30 10:03:22 alert none
setstate DL_0111 2023-11-30 10:03:22 bri 254
setstate DL_0111 2023-11-30 10:03:22 colormode ct
setstate DL_0111 2023-11-30 10:03:22 ct 454 (2202K)
setstate DL_0111 2023-11-30 10:03:22 effect none
setstate DL_0111 2023-11-30 10:03:22 hue 34315
setstate DL_0111 2023-11-30 16:22:19 lastseen 2023-11-30T15:21Z
setstate DL_0111 2023-11-30 10:03:22 onoff 0
setstate DL_0111 2023-11-30 10:03:22 pct 0
setstate DL_0111 2023-11-30 10:03:22 reachable 1
setstate DL_0111 2023-11-30 10:03:22 rgb ffb87b
setstate DL_0111 2023-11-30 10:03:22 sat 243
setstate DL_0111 2023-11-30 08:03:28 state off
setstate DL_0111 2023-11-30 10:03:22 xy 0,0
gruss
@DS_Starter: danke fuer die Suche und den Patch-Vorschlag.
Ich habe einen leicht anderen Weg gewaehlt und eingecheckt.
Beide Versionen erzeugen Unsinn als Reading bei colorpicker, die Sonderformen dieses Widgets scheinen aber in beiden Faellen zu funktionieren.
Ich habe mit fhem.cfg.demo getestet, da kann man diese Varianten auch sehen.
Bestätige, ist wieder schick. Danke für den schnellen Fix.
Dito, mit der Änderung sieht es jetzt wieder wie vorher aus.
Danke für die schnelle Korrektur.
Mahlzeit,
Heute ist Update Tag. Ich denke das Thema hier verhagelt mir die WebCmd in meinen Kodi Geräten.
Ansicht vor Update:
VORHER.jpg
Ansicht nach Update:
NACHHER.jpg
Das Attribut ist in beiden Fällen gesetzt mit:
attr Kodi_DG webCmd playpause all:volume:volume 50:volume 60:volume 70:volume 80
Er scheint jetzt ein Problem mit der Leerstelle zu haben.
könnt ihr euch ja die Tage nochmal anschauen, hat für mich aber keine Eile.
schönes WE und Grüße
Frank
Hallo Rudi,
ich glaube mittlerweile fast, ich habe dich mit dem Gedankengang bezüglich des beabsichtigten Splittings in Reading und Cmd auf einen Holzweg geführt.
Vermutlich war das Split nur dazu da zu prüfen ob es ein gleichnamiges Reading zum Cmd gibt und nicht dass man ein anderes Reading mitgeben kann. Der Split hat das nur in der Form suggeriert.
Also wenn dir nicht noch etwas zündendes einfällt, plädiere ich dafür den Change wieder in den Ausgangszustand zu versetzen bevor noch weitere Verwirrung passiert.
LG,
Heiko
Ich habe alle Aenderungen zurueckgenommen.
Wie das Beispiel von Frank zeigt: man kann nicht erkennen, ob der zweite Parameter als Quelle (Reading) fuer den angezeigten Wert dienen soll, oder ein beliebiges Parameter ist.