Miele XGW3000 firmware 2.3.4

New firmware, this time noticed a bit late, since XGW3000_version.txt is still showing 2.3.0. I guess I should switch to http://GATEWAY/Rest/Update/ and check “AvailableVersion”, or once again reverse engineer how the gateway checks the version. Anyway, here goes…

Release 2.3.4 – 12.09.2018

  • Improved Miele@mobile behavior in conjunction with ZigBee appliances
  • Stability improvements and bugfixing

Good news is the this fixes the Miele@mobile app so it doesn’t crash anymore on startup. I guess this reveals that they changed the API between the app and the gateway in app version 2.9.4 and didn’t provide backwards compatibility for the existing gateway API. So the app was constantly crashing until the gateway firmware received an update. Not elegant.

First observation: It seems like phases for my oven (H 5581 BP) isn’t supported anymore. Running self-clean/pyrolysis:

Homebus

<information>
<key name="Appliance Type" value="Oven"/>
<key name="State" value="Running" type="state" raw="5"/>
<key name="Remaining Time" value="1:21" type="duration" raw="81"/>
</information>

Rest

{"SignalFailure":false,
"TargetTemperature":[0,0],
"Temperature":[0,0],
"SignalInfo":false,
"ProgramID":2348810240,
"InternalState":0,
"RemainingTime":[1,24],
"RemoteEnable":[0,0,0],
"Status":5,
"ProgramPhase":3072,
"ProgramType":1,
"ExtendedState":"000C100500110000000100000000110400000000000000000018010000000000000000000242000000000000400000000000000000000000000000",
"ElapsedTime":[0,42],
"SignalDoor":false,
"Light":0,
"ProcessAction":0,
"StartTime":[0,0]}

These are my notes for ProgramPhase 3072 and pyrolysis:

			case 3072:
				// Purpose unknown, seems to be set when the oven is just turned on.
				// Catch it here to avoid excessive logging.
				return setPhase(PHASE_UNKNOWN);
[...]
			case 3076:
				return setPhase(PHASE_PYROLYSIS);

Also, temperature is now reported as 0°C. Removing functionality for my oven is just sad, since it’s the appliance with least functionality already (for example, ProgramID’s are not supported). Here’s how it looks in Miele’s own app now:

Miele@mobile screenshot

Update/precision: This bug was probably caused by the fact that I upgraded the firmware on the gateway while the oven program was running. Since the phase didn’t change after the gateway rebooted, the gateway probably had some uninitialized values. I guess it should be possible to query the devices after a boot to get updated values, but I don’t know which limitations may exist. So the bug is there, but it’s rare.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.