Class MagicFirmwareUpdateThingHandler
- All Implemented Interfaces:
FirmwareUpdateHandler,ThingHandler
- Author:
- Dimitar Ivanov - Initial contribution
-
Field Summary
Fields inherited from class org.openhab.core.thing.binding.BaseThingHandler
scheduler, thing -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidcancel()Cancels a previous started firmware update.voidhandleCommand(ChannelUID channelUID, Command command) Handles a command for a given channel.voidInitializes the thing handler, e.g. update thing status, allocate resources, transfer configuration.booleanReturns true, if this firmware update handler is in a state in which the firmware update can be executed, otherwise false (e.g. the thing isThingStatus.OFFLINEor its status detail is alreadyThingStatusDetail.FIRMWARE_UPDATING.)voidupdateFirmware(Firmware firmware, ProgressCallback progressCallback) Updates the firmware for the physical device of the thing that is handled by this firmware update handler.Methods inherited from class org.openhab.core.thing.binding.BaseThingHandler
bridgeStatusChanged, changeThingType, channelLinked, channelUnlinked, dispose, editConfiguration, editProperties, editThing, getBridge, getCallback, getConfig, getConfigAs, getConfigDescription, getConfigDescription, getThing, handleConfigurationUpdate, handleRemoval, isInitialized, isLinked, isLinked, isModifyingCurrentConfig, postCommand, postCommand, sendTimeSeries, sendTimeSeries, setCallback, thingUpdated, triggerChannel, triggerChannel, triggerChannel, triggerChannel, updateConfiguration, updateProperties, updateProperty, updateState, updateState, updateStatus, updateStatus, updateStatus, updateThing, validateConfigurationParametersMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.openhab.core.thing.binding.firmware.FirmwareUpdateHandler
getThingMethods inherited from interface org.openhab.core.thing.binding.ThingHandler
getServices
-
Constructor Details
-
MagicFirmwareUpdateThingHandler
-
-
Method Details
-
handleCommand
Description copied from interface:ThingHandlerHandles a command for a given channel.This method is only called, if the thing has been initialized (status ONLINE/OFFLINE/UNKNOWN).
- Specified by:
handleCommandin interfaceThingHandler- Parameters:
channelUID- theChannelUIDof the channel to which the command was sentcommand- theCommand
-
initialize
public void initialize()Description copied from interface:ThingHandlerInitializes the thing handler, e.g. update thing status, allocate resources, transfer configuration.This method is only called, if the
Thingcontains all required configuration parameters.Only
Things with statusThingStatus.UNKNOWN,ThingStatus.ONLINEorThingStatus.OFFLINEare considered as initialized by the framework. To achieve that, the status must be reported viaThingHandlerCallback.statusUpdated(Thing, ThingStatusInfo).The framework expects this method to be non-blocking and return quickly. For longer running initializations, the implementation has to take care of scheduling a separate job which must guarantee to set the thing status eventually.
Any anticipated error situations should be handled gracefully and need to result in
ThingStatus.OFFLINEwith the corresponding status detail (e.g. *COMMUNICATION_ERROR* or *CONFIGURATION_ERROR* including a meaningful description) instead of throwing exceptions.- Specified by:
initializein interfaceThingHandler
-
updateFirmware
Description copied from interface:FirmwareUpdateHandlerUpdates the firmware for the physical device of the thing that is handled by this firmware update handler.- Specified by:
updateFirmwarein interfaceFirmwareUpdateHandler- Parameters:
firmware- the new firmware to be updated (not null)progressCallback- the progress callback to send progress information of the firmware update process (not null)
-
cancel
public void cancel()Description copied from interface:FirmwareUpdateHandlerCancels a previous started firmware update.- Specified by:
cancelin interfaceFirmwareUpdateHandler
-
isUpdateExecutable
public boolean isUpdateExecutable()Description copied from interface:FirmwareUpdateHandlerReturns true, if this firmware update handler is in a state in which the firmware update can be executed, otherwise false (e.g. the thing isThingStatus.OFFLINEor its status detail is alreadyThingStatusDetail.FIRMWARE_UPDATING.)- Specified by:
isUpdateExecutablein interfaceFirmwareUpdateHandler- Returns:
- true, if this firmware update handler is in a state in which the firmware update can be executed, otherwise false
-