Best Practices

React on home appliance state

To get the full state of all paired home appliances of a user and keep your application updated with the latest state changes, you have to:

Thus, in total you need 54 requests to get the full state of all 6 supported home appliances and be informed of each change.


Start program

In order to start a program, several pre-conditions have to be fulfilled:

If you have sent the activation command, check BSH.Common.Status.OperationState again to validate if the home appliance switched to BSH.Common.EnumType.OperationState.Run. It might happen that some problem, e.g. the water tank is empty, happened during the activation.


Pre-heat oven

If you want to pre-heat an oven, use the program Cooking.Oven.Program.HeatingMode.PreHeating with a duration longer than the oven requires to reach the target temperature. We recommend to use a minimum of 10 minutes. The oven will start a hot air program with the selected options.

Connect to the monitoring channel for this oven and wait for the Cooking.Oven.Event.PreheatFinished event. When you receive the event, notify the user that the oven is ready.

We recommend not to use the event Cooking.Oven.Status.CurrentCavityTemperature because the temperature might not provide the necessary accuracy.


Monitoring program progress

If you started a program on a home appliance, the home appliance will provide status updates on its event channel. Useful events are:

  • BSH.Common.Status.OperationState: Use this event to reflect the oven state in your application and identify manual user interaction. For instance, if the oven switches the OperationState to BSH.Common.EnumType.OperationState.Finished you can present a message to the user that the meal is ready. If the OperationState changes to BSH.Common.EnumType.OperationState.Pause, the user either pressed the Pause button or opened the door of the oven.
  • Connection state: The home appliance is disconnected from the Home Connect server, e.g. due to a network error.