Migration help need it - IFAN Fan Speed

Hi All.
i have setup a lab vm busy getting all my stuff migrated to openhab 3 .
But i ran in to a heardel i got most of my mqtt items functioning. but i cant just get my ifan fan speed to work.

this is my 2.5 mqtt thing for the ifan. (my Light works)

Type switch : Fan_Light                         "Fan on/off"                [stateTopic="stat/GeustBedroom_IFAN/POWER1", commandTopic="cmnd/GeustBedroom_IFAN/POWER1"]
    Type number : Fan_SPD                           "Fan Speed"                 [stateTopic="stat/Masterbedroom-Fan/Fanspeed", commandTopic="cmnd/GeustBedroom_IFAN/FanSpeed", transformationPatter="JSONPATH($.FanSpeed):(*)"]

and this is oh3:

  id: GuestFanLight
    channelTypeUID: mqtt:switch
    label: Guest Room Fan Light
    description: ""
      commandTopic: cmnd/GeustBedroom_IFAN/POWER1
      stateTopic: stat/GeustBedroom_IFAN/POWER1
  - id: GuestRoomFanSpd
    channelTypeUID: mqtt:number
    label: Guest Room Fan Spd
    description: ""
      commandTopic: cmnd/GeustBedroom_IFAN/FanSpeed
      postCommand: false
      transformationPatternOut: JSONPATH:$.FanSpeed:(*)
      stateTopic: stat/GeustBedroom_IFAN/FanSpeed
      transformationPattern: JSONPATH:$.FanSpeed:(*)

“not work” meaning?

Your new fan speed channel does not have a stateTopic, your old one does (though it looks weird)…

You don’t have that in your 2.5 config.

It Does not Control my Fan Speed. nether sends any mqtt message that i can see in mqtt explorer.

my state topic is incorrect

in the 2.5 .
in 3.1 i have it in as :

stateTopic: stat/GeustBedroom_IFAN/FanSpeed

i was not sure if i need it it so i tested with and with out it.

Remove the unwanted JSONPATH and make sure you’re looking for the right topic, there is an odd typo in geust which does not matter as long as everybody uses the same.