Washing Machine State Machine

Hello all,

I bought some Gosund SP1 and flashed them with ESPurna. All values are arriving via MQTT and can be displayed in BasicUI.
Then I wanted to try the magic thing from first post. The weired thing is, I see no status message in UI but no error message in logs. Maybe I may ask you for a little help to check my settings?

items:

Switch  Dose_WaMa_Switch      "Steckdose Waschmaschine"  <switchwash>   (gKE_Naehen) 	{ mqtt=">[mymosquitto:Dose-WaMa/relay/0/set:command:*:MAP(ohtoespurna.map)], <[mymosquitto:Dose-WaMa/relay/0:state:MAP(espurnatooh.map)]" }

Number	Dose_WaMa_Power	    "WaMa Leistung [%.0f W]"		<ownvoltage>	(gKE_Naehen)	{ mqtt="<[mymosquitto:Dose-WaMa/power:state:default]" }
Number	Dose_WaMa_Voltage	"WaMa Spannung [%.0f V]"		<ownvoltage>	(gKE_Naehen)	{ mqtt="<[mymosquitto:Dose-WaMa/voltage:state:default]" }
Number	Dose_WaMa_Energy	"WaMa Verbrauch [%.3f kWh]"		<ownvoltage>	(gKE_Naehen)	{ mqtt="<[mymosquitto:Dose-WaMa/energy:state:default]" }
Number	Dose_WaMa_Current	"WaMa Stromstärke [%.3f A]"		<ownvoltage>	(gKE_Naehen)	{ mqtt="<[mymosquitto:Dose-WaMa/current:state:default]" }
String  WaMa_Status         "Waschmaschine Status [MAP(waschmaschine.map):%s]"    <switchwash>   (gKE_Naehen)

map:

2=Laeuft
3=Fertig
-=-
NULL=-
/*ANFANG SubFrame Keller ########################################################################################*/
	Text label=Keller icon="cellar"{
                
                Frame {
                        Group item=gKE_Werkstatt  label="Werkstatt"	icon="owntoolshop"
                        /*Text item=Werkstatt  icon="owntoolshop"{
                                Default		item=TemperatureAussenHinten		label="TemperaturHinten: [%.1f °C]"
                        }*/
                        Group item=gKE_Naehen  label="Nähzimmer"	icon="ownkate"
                        }
                }
        }

/*ENDE SubFrame Keller ########################################################################################*/

and finally rules:

import java.util.concurrent.locks.ReentrantLock

val Number MODE_OFF = 0
val Number MODE_STANDBY = 1
val Number MODE_ACTIVE = 2
val Number MODE_FINISHED = 3
var java.util.concurrent.locks.ReentrantLock finishLock  = new java.util.concurrent.locks.ReentrantLock()

rule "Waschmaschine aktiv"
when
    Item Dose_WaMa_Power changed
then
    logInfo ("WaMa_Status","WaMa_Status" + WaMa_Status)
    if (Dose_WaMa_Power.state < 0.2) WaMa_Status.postUpdate("Aus")
    else if (Dose_WaMa_Power.state > 10) WaMa_Status.postUpdate("Läuft")
    else if (Dose_WaMa_Power.state < 4.5) {
        if (WaMa_Status.state == "Aus") WaMa_Status.postUpdate("Standby")
        else if (WaMa_Status.state == "Läuft") {
            finishLock.lock()
            try {
                Thread::sleep(10000) // Debounce for 10 seconds
                if (Dose_WaMa_Power.state < 4.5) WaMa_Status.postUpdate("Fertig!")
            } finally {
                finishLock.unlock()
            }
        }
    }
end