Improved long press behaviour when there is no long press callback
This commit is contained in:
parent
00cd0366fd
commit
d9e83a49a1
|
@ -95,9 +95,20 @@ impl OnMqtt for HueSwitch {
|
||||||
|
|
||||||
match action {
|
match action {
|
||||||
Action::LeftPressRelease => self.config.left_callback.call(self, &()).await,
|
Action::LeftPressRelease => self.config.left_callback.call(self, &()).await,
|
||||||
Action::LeftHold => self.config.left_hold_callback.call(self, &()).await,
|
|
||||||
Action::RightPressRelease => self.config.right_callback.call(self, &()).await,
|
Action::RightPressRelease => self.config.right_callback.call(self, &()).await,
|
||||||
|
Action::LeftHold => self.config.left_hold_callback.call(self, &()).await,
|
||||||
Action::RightHold => self.config.right_hold_callback.call(self, &()).await,
|
Action::RightHold => self.config.right_hold_callback.call(self, &()).await,
|
||||||
|
// If there is no hold action, the switch will act like a normal release
|
||||||
|
Action::RightHoldRelease => {
|
||||||
|
if !self.config.right_hold_callback.is_set() {
|
||||||
|
self.config.right_callback.call(self, &()).await
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Action::LeftHoldRelease => {
|
||||||
|
if !self.config.left_hold_callback.is_set() {
|
||||||
|
self.config.left_callback.call(self, &()).await
|
||||||
|
}
|
||||||
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,4 +64,8 @@ where
|
||||||
_ => todo!("Only functions are currently supported"),
|
_ => todo!("Only functions are currently supported"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_set(&self) -> bool {
|
||||||
|
self.internal.is_some()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user