FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: DrNuke33 am 08 November 2021, 21:16:46

Titel: DOIF sendet falsches set Mqtt2 Wled
Beitrag von: DrNuke33 am 08 November 2021, 21:16:46
Hi habe folgenes problem wenn ich ein set an das Wled sende über DOIF setzt er eine 0 dahinter z.B. (set WLED_35a31c rgb 0000FF) im Wled kommt der wert 000FF0 an.
direkt über die leiste geht der set befehl.

jemand ein tip

DIOF
defmod di_Bewegungsmelder_Haustur_02 DOIF ([HM_HmIP_FCI1_00:state] eq "0")\
(set WLED_35a31c palette 3)\
(set WLED_35a31c rgb FF0000)\
(set WLED_35a31c brightness 255)\
(set WLED_35a31c effect 0)\
(set WLED_35a31c speed 140)\
DOELSEIF\
([HM_HmIP_FCI1_00:state] eq "1")\
(set WLED_35a31c palette 3)\
(set WLED_35a31c rgb 0000FF)\
(set WLED_35a31c brightness 255)\
(set WLED_35a31c effect 0)\
(set WLED_35a31c speed 140)
attr di_Bewegungsmelder_Haustur_02 DbLogExclude .*
attr di_Bewegungsmelder_Haustur_02 event-on-change-reading .*



WLED
defmod WLED_35a31c MQTT2_DEVICE WLED_35a31c
attr WLED_35a31c DbLogExclude .*
attr WLED_35a31c comment For questions about the use of different widgets for color selection see discussion at https://forum.fhem.de/index.php/topic,98880.msg995308.html
attr WLED_35a31c devStateIcon {Color::devStateIcon( $name, "rgb", "rgb", "brightness", "state" )}
attr WLED_35a31c event-on-change-reading .*
attr WLED_35a31c eventMap /effect 0:Solid/effect 2:Breathe/effect 63:Pride/effect 48:Police/
attr WLED_35a31c gassistantName LED Vorgarten 1
attr WLED_35a31c genericDeviceType light
attr WLED_35a31c group LED Vorgarten 1
attr WLED_35a31c homebridgeMapping Brightness=brightness::brightness,maxValue=100,factor=0.39216,delay=true
attr WLED_35a31c icon hue_filled_iris
attr WLED_35a31c model wled_controller
attr WLED_35a31c oldreadings .*
attr WLED_35a31c readingList wled/35a31c/status:.* LWT\
  wled/35a31c/g:.* brightness\
  wled/35a31c/g:.* { $EVENT ? {"state"=>"on"} : {"state"=>"off"} }\
  wled/35a31c/c:.* { {"rgb"=>substr("$EVENT",1,6)} }\
  wled/35a31c/v:.* api\
  wled/35a31c/v:.* { $EVENT =~ m,(?<=<sx>)([\d]+)(?=<\/sx>), ? $1 eq ReadingsVal($NAME,"speed","unknown") ? return : {"speed"=>$1} : return;; }\
  wled/35a31c/v:.* {$EVENT =~ m,(?<=<ix>)([\d]+)(?=<\/ix>), ? $1 eq ReadingsVal($NAME,"intensity","unknown") ? return : {"intensity"=>$1} : return }\
  wled/35a31c/v:.* {$EVENT =~ m,(?<=<fp>)([\d]+)(?=<\/fp>), ? $1 eq ReadingsVal($NAME,"palette","unknown") ? return : {"palette"=>$1} : return }\
  wled/35a31c/v:.* {$EVENT =~ m,(?<=<fx>)([\d]+)(?=<\/fx>), ? $1 eq ReadingsVal($NAME,"effect","unknown") ? return :{"effect"=>"$1"} : return }
attr WLED_35a31c room 1.5_Licht_Aussen,9.5_Mqtt,GoogleAssistant
attr WLED_35a31c setList on:noArg wled/35a31c on\
  off:noArg wled/35a31c off\
  toggle:noArg wled/35a31c t\
  rgb:colorpicker,RGB wled/35a31c/col #$EVTPART1\
  brightness:colorpicker,BRI,0,1,255 wled/35a31c\
  speed:colorpicker,BRI,0,1,255 wled/35a31c/api SX=$EVTPART1\
  intensity:colorpicker,BRI,0,1,255 wled/35a31c/api IX=$EVTPART1\
  palette:selectnumbers,0,1,46,0,lin wled/35a31c/api FP=$EVTPART1\
  effect:selectnumbers,0,1,101,0,lin wled/35a31c/api FX=$EVTPART1\
  loadPreset:selectnumbers,0,1,3,0,lin wled/35a31c/api PL=$EVTPART1\
  dimup:noArg wled/35a31c/api A=~10\
  dimdown:noArg wled/35a31c/api A=~-10
attr WLED_35a31c setStateList on off toggle
attr WLED_35a31c userReadings rgb_old {(split(" ",OldReadingsVal("WLED_35a31c","rgb","000000")))[1]},\
effect_old {(split(" ",OldReadingsVal("WLED_35a31c","effect","000000")))[1]},\
intensity_old {(split(" ",OldReadingsVal("WLED_35a31c","intensity","000000")))[1]},\
brightness_old {(split(" ",OldReadingsVal("WLED_35a31c","brightness","000000")))[1]},\
speed_old {(split(" ",OldReadingsVal("WLED_35a31c","speed","000000")))[1]},\
palette_old {(split(" ",OldReadingsVal("WLED_35a31c","palette","")))[1]},\
state_old {(split(" ",OldReadingsVal("WLED_35a31c","state","000000")))[0]}
attr WLED_35a31c webCmd rgb:brightness:Solid:Breathe:Pride:Police
Titel: Antw:DOIF sendet falsches set Mqtt2 Wled
Beitrag von: Damian am 08 November 2021, 21:35:00
Aus den Definitionen kann ich keine Fehler interpretieren, da man sie nicht sehen kann. Ich würde aber behaupten, dass DOIF selbst keine Null irgendwo anhängt.
Titel: Antw:DOIF sendet falsches set Mqtt2 Wled
Beitrag von: DrNuke33 am 09 November 2021, 18:52:27
Hätte ja sein können das es ein bug gibt der das problem verursacht.
Hab den fehler gefunden die firmware 0.12 war das problem in 0.13.b1 ist es weg

Danke nochmals