@ -177,6 +177,11 @@ func (p *Publisher) reassignDevice(device models.Device) bool {
// Stop here, no scene should be assigned.
return false
} else {
if p.sceneData[selectedAssignment.SceneID] == nil {
// Freeze until scene becomes available.
}
if p.sceneAssignment[device.ID] != nil {
@ -122,6 +122,9 @@ func (state *hueSensorState) Update(newData SensorData) *models.Event {
if time.Since(stateTime) > time.Second*3 {
return nil
if state.prevData == nil {
pe := state.prevData.State.ButtonEvent
ce := newData.State.ButtonEvent