Dishwasher - Candy simply FI - CDI 6015 WiFi

Slightly off topic but does anyone know how to reset the Wifi on a Candy/Hoover appliance when you can’t connect to it, e.g. you’ve changed ISP and your SSID etc. have changed? I’ve seen a Hoover doc that says:
" RESET:
This is a combination of two buttons that
you press simultaneously to restore the WiFi system to the “default” status."

But doesn’t say which two buttons. It does look like the sequence to set up the Wi-Fi in the first place and get the ‘rr’ prompt but I don’t know which two keys to press, I think I’ve tried all of them. My Hoover HBTDW H7A1TCE-80 tumble dryer has the following buttons left to right:

  • Time Selection
  • Memory
  • Delay Start
  • Drying Selection
  • Rapids
  • Best ironing

Anyone know?

Hi,

Someone manage to pause/stop the machine ?

Best Regards,
Fernando Gomes

Hi

I’ve been running through the guidance on here (thanks!) as I would like to show the remaining time & stop start state of my washer in Home Assistant.

  • I downloaded the xorknown py script
  • Then I ran - curl -s http:///http-read.json?encrypted=1 | xxd -r -p > ./crypted.txt
  • Tried to find key using various combinations - ./xorknown.py ./crypted.txt ‘{"Status’ 16 etc. but no joy
  • Decided to check the contents of the crytped.txt file and notice its already in plain text

#cat crypted.txt
{
“statusLavatrice”:{
“WiFiStatus”:“1”,
“Err”:“255”,
“MachMd”:“1”,
“Pr”:“15”,
“PrPh”:“0”,
“SLevel”:“2”,
“Temp”:“90”,
“SpinSp”:“4”,
“Opt1”:“0”,
“Opt2”:“0”,
“Opt3”:“0”,
“Opt4”:“0”,
“Opt5”:“0”,
“Opt6”:“0”,
“Opt7”:“0”,
“Opt8”:“0”,
“Steam”:“0”,
“DryT”:“0”,
“DelVal”:“255”,
“RemTime”:“136”,
“RecipeId”:“0”,
“CheckUpState”:“0”
}

What options have I got to get this info into HA please ?

If you read posts further up, like mine and many others you will see what “Pr”, “PrPh” etc a, means.
“RemTime” is 136 seconds
“MachMd” 1 means “Not yet started” Machine is on but no program has been selected or started.

Hi, that could be very interesting to be able to set machine status not only reading updated values!

Anyone able to POST to the machine?

Thanks!

I only tested the following on a washer-dryer, it may or may not apply to other candy appliances.

The first thing is that the appliance must be in remote control mode. On mine, this is done using the program selection wheel. This also means that you cannot stop/pause remotely a program launched manually.

To control the appliance you send GET request to the http-write.json end point.

Then it depends if you appliance works with encrypted=0 or not. If this works, you pass your arguments normally. Otherwise you make a string with all you argument, encrypt it, encode it in hex and send that as a data argument (just check the example below).

Now, for the arguments, it’s complicated. See the getParameterString of the various *Command classes of the application for the details.

It seems that you can start some stuff that you cannot start manually, like a program to wash the machine

To start the machine ():

curl -v 'http://espressif.lan/http-write.json?encrypted=0&Write=1&StSt=1&DelVl=60&PrNm=13&PrCode=77'

or with encryption (the key is is full of zero)

curl -v 'http://espressif.lan/http-write.json?encrypted=1&data=57726974653d3126537453743d312644656c566c3d36302650724e6d3d3133265072436f64653d3737'

To stop the machine (the app add a PrNm parameter, it doesn’t seems to be useful for my appliance):

http://espressif.lan/http-write.json?encrypted=0&Write=1&StSt=0&DelMd=0

Nice! I’ll get a try! thanks

Hi.
Did somebody try with oven?
curl -s http://192.168.168.11/http-write.json?encrypted=1\&Write=1\&RecipeId=NULL\&RecipeStep=0\&Selettore=0\&Program=1\&TempSet=20\&TimeProgr=60\&StartStop=1 | xxd -r -p > ./crypted2.txt && ./xorknown.py crypted2.txt --key=xxxxxxxx

I got
Key length: 16 Partial Key: xxxxxxxx Plaintext: {"response":"SUCCESS"}

But not works…

I see you use ‘?encrypted=1&data=57726974653…’
How do you encrypt the data field?

The same way the machine does it.

Because of the key I set on my machine, I don’t need to actually encrypt it. But I still need to hexlifiy it:

s="Write=1&StSt=1&DelVl=60&PrNm=13&PrCode=77"
binascii.hexlify(s.encode())

I think the actual encryption is the same as the decyption so you can likely use the same code. For example (not tested):

def decrypt(cipher_text, key):
         decrypted = []
 
         for i in range(len(cipher_text)):
             decrypted.append(cipher_text[i] ^ key[i % len(key)])
 
         return decrypted

binascii.hexlify(bytes(decrypt(s.encode(), b'\0')))

Hi.
My oven returns “TempRead” field(temperature read). Whene oven is off, then this value is between 320 and 340. When over is on, this value go over 700(with selected temperature = 250 celsius).
How can I do to interpret this value? 340 fahrenheit in celsius are about 100 degree … it’s impossible if oven is off.

With oven i can’t set TempSet.

curl -s http://x.x.x.x/http-write.json?encrypted=0\&RecipeId=NULL\&RecipeStep=0\&Selettore=3\&Program=11\&TempSet=208\&RemainingTimeProgr=10\&TimeProgr=0\&StartStop=1

With http-read.json i got TempSet=0

{"statusForno":{
                "StatoWiFi":"1",
                "CodiceErrore":"E0",
                "RecipeId":"NULL",
                "RecipeStep":"0",
                "StartStop":"1",
                "Pausa":"0",
                "SicurezzaBambini":"0",
                "Selettore":"3",
                "Program":"11",
                "TempSet":"0",
                "TempRead":"350",
                "TempSetRaggiunta":"0",
                "DelayStart":"0",
                "RemainingTimeProgr":"10",
                "ora":"19",
                "min":"55",
                "sec":"53",
                "TimeProgr":"10",
                "FWver":"004B",
                "ts":"0"
        }
}

Does somebody know how fix it?

If you got the 70 while the oven was still heating, I would guess the value is in tenth of degree celsius (320=32°C, 700=70°C).

Otherwise you could measure the temperature at various point during heating and get the value returned by the api at the same time. And then plot the values from the api against the real values and see if this helps.

From my VERY limited experience with the http-write.json endpoint this could be because you are missing some mandatory argument(Write=1 for examples, or something to start the program), the value of an argument is not valid, the values of multiple arguments are incompatible, your machine doesn’t support this endpoint with encrypted=0.

It may also be unsupported for safety reasons.

On my Hoover Washing Machine the WiFi is reset via the hOn app. Open the App, select the washing machine, at the bottom go to “other”, go to settings, then Wifi settings etc.

Hope this helps.

1 Like

Im hoping to be able to start my Hoover H-500 washing machine remotely over Wifi when my Raspberry Pi script detects surplus PV solar generation, so I’ll need to be able to send commands to it to do this. I see we can only read status etc at the moment. Watching this thread with great interest!

I also have the H-500 and would love to be able to pause the cycle, when the phone rings ect.

I use Google home/mini or assistant to pause the machine. OK Google, Pause the Washing machine. :+1:

@vince31 I cannot link my machine to the Alexa skill, I keep getting password error? hoover are no help they did not even know about Alexa control. Can I ask what Alexa skill did you use? as there is not a specific one for the washing machine, but one for dish, dry, cook and the wizzard?

Thanks for the reply, unfortunately my app can’t see the machine as the wi-fi in the house was changed.